女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux驅(qū)動(dòng)開(kāi)發(fā)-編寫(xiě)NEC紅外線協(xié)議解碼驅(qū)動(dòng)

DS小龍哥-嵌入式技術(shù) ? 2022-09-17 15:20 ? 次閱讀

【摘要】 NEC協(xié)議是眾多紅外線協(xié)議中的一種,以前廣泛用在電視機(jī),投影儀設(shè)備里,很早之前經(jīng)常說(shuō)的萬(wàn)能電視遙控器就是NEC協(xié)議的;當(dāng)前文章就介紹如何在Linux下通過(guò)紅外線接收模塊,編寫(xiě)一個(gè)NEC協(xié)議的紅外線解碼驅(qū)動(dòng),解析遙控器傳輸過(guò)來(lái)的各種控制指令,完成對(duì)應(yīng)的動(dòng)作響應(yīng);驅(qū)動(dòng)里用到了外部中斷接收數(shù)據(jù),通過(guò)定時(shí)器計(jì)算間隔時(shí)間完成解碼。

1. 紅外線知識(shí)點(diǎn)介紹

在光譜中波長(zhǎng)自760nm至400um的電磁波稱(chēng)為紅外線,它是一種不可見(jiàn)光。目前幾乎所有的視頻音頻設(shè)備都可以通過(guò)紅外遙控的方式進(jìn)行遙控,比如電視機(jī)、空調(diào)、影碟機(jī)等,都可以見(jiàn)到紅外遙控的影子。這種技術(shù)應(yīng)用廣泛,相應(yīng)的應(yīng)用器件都十分廉價(jià),因此紅外遙控是我們?nèi)粘TO(shè)備控制的理想方式。

紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、
成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛
紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且
能有效地隔離電氣干擾。

NEC協(xié)議是眾多紅外線協(xié)議中的一種,以前廣泛用在電視機(jī),投影儀設(shè)備里,很早之前經(jīng)常說(shuō)的萬(wàn)能電視遙控器就是NEC協(xié)議的。

當(dāng)前文章就介紹如何在Linux下通過(guò)紅外線接收模塊,編寫(xiě)一個(gè)NEC協(xié)議的紅外線解碼驅(qū)動(dòng),解析遙控器傳輸過(guò)來(lái)的各種控制指令,完成對(duì)應(yīng)的動(dòng)作響應(yīng);驅(qū)動(dòng)里用到了外部中斷接收數(shù)據(jù),通過(guò)定時(shí)器計(jì)算間隔時(shí)間完成解碼。

NEC協(xié)議的特點(diǎn)如下:

單個(gè)碼一共分為5各部分(沒(méi)有算重復(fù)碼): 引導(dǎo)碼+用戶(hù)碼+用戶(hù)反碼+按鍵碼+按鍵反碼

對(duì)于接收方_引導(dǎo)碼: 9ms的低電平+4.5ms的高電平。

接收的數(shù)據(jù)是0: 560us低電平+560us高電平

接收的數(shù)據(jù)是1: 560us低電平+1680us高電平

image-20220106112451549image-20220106111805216

2. 硬件環(huán)境

當(dāng)前開(kāi)發(fā)板采用友善之臂的Tiny4412,CPU三星的EXYNOS4412,最高主頻為1.5GHZ,Linux內(nèi)核版本是3.5。

下面是紅外線接收模塊原理圖:

image-20220106111542287

通過(guò)杜邦線接在開(kāi)發(fā)板的中斷輸入腳上:(GPX1_0接口上,第9個(gè)排針。)

image-20220106112325813

驅(qū)動(dòng)安裝后,解碼的效果:

image-20220106112527780

3. 案例代碼

驅(qū)動(dòng)代碼思路: 采用外部中斷接收NEC的數(shù)據(jù),在工作隊(duì)列里完成協(xié)議解析,最終通過(guò)printk打印出來(lái)。

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

static int irq;
#define NEC_INFRARED_GPIO EXYNOS4_GPX1(0)
static struct work_struct work;

/*獲取高電平持續(xù)時(shí)間--us單位*/
static u32 GetTimeH(void)
{
	ktime_t my_time,my_time2;
	unsigned int i,j;
	my_time=ktime_get(); //獲取當(dāng)前時(shí)間
	i=ktime_to_us(my_time); //轉(zhuǎn) us
	while(gpio_get_value(NEC_INFRARED_GPIO)){}
	my_time2=ktime_get(); //獲取當(dāng)前時(shí)間
	j=ktime_to_us(my_time2); //轉(zhuǎn) us
	return j-i;
}

/*獲取低電平持續(xù)時(shí)間--us單位*/
static u32 GetTimeL(void)
{
	ktime_t my_time,my_time2;
	unsigned int i,j;
	my_time=ktime_get(); //獲取當(dāng)前時(shí)間
	i=ktime_to_us(my_time); //轉(zhuǎn) us
	while(gpio_get_value(NEC_INFRARED_GPIO)==0){}
	my_time2=ktime_get(); //獲取當(dāng)前時(shí)間
	j=ktime_to_us(my_time2); //轉(zhuǎn) us
	return j-i;
}

/*
工作函數(shù)
*/
static u8 buf[4];//[0]用戶(hù)碼  [1]用戶(hù)反碼 [2]按鍵碼  [3]按鍵反碼
static void new_work_func(struct work_struct *work)
{
	u8 data=0;
	u32 time_us;
	/*1. 判斷引導(dǎo)碼*/
	time_us=GetTimeL();
	if(time_us>12000 || time_us <7000)return;  //標(biāo)準(zhǔn)9000
	time_us=GetTimeH();
	if(time_us>6000 || time_us <3000)return;  //標(biāo)準(zhǔn)4500
	/*2. 接收32位數(shù)據(jù)*/
	int i,j;
	for(i=0;i<4;i++)
	{
		for(j=0;j<8;j++)
		{
			time_us=GetTimeL();
			if(time_us>700 || time_us <400)return;  //標(biāo)準(zhǔn)560
			time_us=GetTimeH();
			if(time_us<700 && time_us>400)  // 0 :標(biāo)準(zhǔn)560
			{
				data<<=1;
			}
			else if(time_us<1800 && time_us>1500)  // 1 :標(biāo)準(zhǔn)1680
			{
				data<<=1;
				data|=0x01;
			}
			else
			{
				return;
			}
		}
		buf[i]=data;
	}
	printk("用戶(hù)碼:%d,按鍵碼:%d\n",buf[0],buf[2]);
}

/*中斷服務(wù)函數(shù)*/
irqreturn_t nec_irq_handler_func(int irq, void *dev)
{
	/*添加工作到工作隊(duì)列*/
	schedule_work(&work);
	return IRQ_HANDLED;
}

static int __init tiny4412_hello_module_init(void)
{
	/*初始化工作函數(shù)*/
	INIT_WORK(&work,new_work_func);
	/*1. 獲取中斷號(hào)*/
	irq=gpio_to_irq(NEC_INFRARED_GPIO);
	/*2. 注冊(cè)中斷*/
	request_irq(irq,nec_irq_handler_func,IRQF_TRIGGER_FALLING,"tinyy412_nec",NULL);

    printk("驅(qū)動(dòng)測(cè)試: 驅(qū)動(dòng)安裝成功\n");
    return 0;
}

static void __exit tiny4412_hello_module_cleanup(void)
{
	free_irq(irq,NULL);
    printk("驅(qū)動(dòng)測(cè)試: 驅(qū)動(dòng)卸載成功\n");
}

module_init(tiny4412_hello_module_init);    /*驅(qū)動(dòng)入口--安裝驅(qū)動(dòng)的時(shí)候執(zhí)行*/
module_exit(tiny4412_hello_module_cleanup); /*驅(qū)動(dòng)出口--卸載驅(qū)動(dòng)的時(shí)候執(zhí)行*/

MODULE_LICENSE("GPL");  /*設(shè)置模塊的許可證--GPL*/
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 紅外線
    +關(guān)注

    關(guān)注

    14

    文章

    627

    瀏覽量

    56880
  • NEC
    NEC
    +關(guān)注

    關(guān)注

    0

    文章

    238

    瀏覽量

    99602
  • 解碼
    +關(guān)注

    關(guān)注

    0

    文章

    185

    瀏覽量

    27746
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    精密空調(diào)—精密空調(diào)紅外線加濕器維護(hù)周期

    為確保精密空調(diào)紅外線加濕器的持續(xù)穩(wěn)定運(yùn)行和高效加濕效果,制定合理的維護(hù)周期至關(guān)重要。下面聊一下精密空調(diào)紅外線加濕器的維護(hù)周期。 一、日常維護(hù)(每日/每周) 1、外觀檢查:每日檢查精密空調(diào)紅外線
    的頭像 發(fā)表于 02-06 09:29 ?340次閱讀
    精密空調(diào)—精密空調(diào)<b class='flag-5'>紅外線</b>加濕器維護(hù)周期

    精密空調(diào)—精密空調(diào)紅外線加濕器安裝調(diào)試和保養(yǎng)

    精密空調(diào)紅外線加濕器特點(diǎn): 1、高效加濕:采用先進(jìn)的紅外線技術(shù),能夠快速增加空氣濕度,滿足精密空調(diào)對(duì)環(huán)境濕度的嚴(yán)格要求。 2、智能控制:精密空調(diào)紅外線加濕器內(nèi)置智能控制系統(tǒng),可根據(jù)環(huán)境濕度自動(dòng)
    的頭像 發(fā)表于 02-05 09:15 ?406次閱讀
    精密空調(diào)—精密空調(diào)<b class='flag-5'>紅外線</b>加濕器安裝調(diào)試和保養(yǎng)

    紅外線測(cè)溫儀如何校準(zhǔn)

    紅外線測(cè)溫儀通過(guò)檢測(cè)物體表面發(fā)射的紅外輻射來(lái)測(cè)量溫度。由于環(huán)境因素、設(shè)備老化和使用過(guò)程中的磨損,測(cè)溫儀的準(zhǔn)確性可能會(huì)受到影響。 校準(zhǔn)前的準(zhǔn)備工作 了解設(shè)備規(guī)格 :查閱紅外線測(cè)溫儀的用戶(hù)手冊(cè),了解其
    的頭像 發(fā)表于 01-03 15:29 ?1628次閱讀

    紅外線測(cè)溫儀使用注意事項(xiàng)

    紅外線測(cè)溫儀是一種非接觸式溫度測(cè)量設(shè)備,廣泛應(yīng)用于工業(yè)、醫(yī)療、科研等領(lǐng)域。使用紅外線測(cè)溫儀時(shí),需要注意以下幾個(gè)方面以確保測(cè)量的準(zhǔn)確性和安全性: 1. 選擇合適的紅外線測(cè)溫儀 測(cè)量范圍 :根據(jù)
    的頭像 發(fā)表于 01-03 15:25 ?855次閱讀

    紅外線測(cè)溫儀測(cè)溫原理

    在工業(yè)生產(chǎn)、科學(xué)研究和日常生活中,溫度測(cè)量是一項(xiàng)基本而重要的工作。傳統(tǒng)的接觸式溫度測(cè)量方法存在諸多局限性,如測(cè)量速度慢、可能損壞被測(cè)物體、無(wú)法測(cè)量運(yùn)動(dòng)物體的溫度等。 紅外線測(cè)溫儀的工作原理 紅外線
    的頭像 發(fā)表于 01-03 15:22 ?909次閱讀

    如何選擇紅外線測(cè)溫儀

    紅外線測(cè)溫儀是一種非接觸式的溫度測(cè)量工具,廣泛應(yīng)用于工業(yè)、醫(yī)療、科研等領(lǐng)域。它們能夠快速、準(zhǔn)確地測(cè)量物體表面的溫度,而無(wú)需直接接觸。選擇合適的紅外線測(cè)溫儀對(duì)于確保測(cè)量結(jié)果的準(zhǔn)確性和可靠性至關(guān)重要
    的頭像 發(fā)表于 01-03 15:20 ?643次閱讀

    紅外線測(cè)溫儀精度怎么樣

    在現(xiàn)代工業(yè)和科學(xué)研究中,溫度測(cè)量是一項(xiàng)基礎(chǔ)而重要的工作。傳統(tǒng)的接觸式測(cè)溫方法雖然準(zhǔn)確,但在某些場(chǎng)合下存在局限性,如無(wú)法測(cè)量運(yùn)動(dòng)物體或高溫物體的溫度。 紅外線測(cè)溫儀的工作原理 紅外線測(cè)溫儀的工作原理
    的頭像 發(fā)表于 01-03 15:12 ?652次閱讀

    紅外線測(cè)溫儀使用方法

    在工業(yè)、醫(yī)療、科研等領(lǐng)域,準(zhǔn)確測(cè)量溫度是至關(guān)重要的。紅外線測(cè)溫儀因其非接觸、快速、安全的特點(diǎn),被廣泛應(yīng)用于各種場(chǎng)合。 紅外線測(cè)溫儀的工作原理 紅外線測(cè)溫儀基于黑體輻射定律,即物體的溫度與其發(fā)射的
    的頭像 發(fā)表于 01-03 15:07 ?843次閱讀

    溫度越高輻射的紅外線越怎么樣

    引言 紅外線是一種電磁波,波長(zhǎng)介于可見(jiàn)光和微波之間,具有熱效應(yīng)。紅外線輻射是物體因溫度而產(chǎn)生的電磁波輻射,其輻射強(qiáng)度和波長(zhǎng)與物體的溫度密切相關(guān)。 紅外線的基本概念和特性 2.1 紅外線
    的頭像 發(fā)表于 08-20 09:47 ?2860次閱讀

    紅外線的溫度高還是紫外線的溫度高

    引言 紅外線和紫外線是電磁波譜中的兩種重要類(lèi)型,它們?cè)谧匀唤绾腿祟?lèi)社會(huì)中都有著廣泛的應(yīng)用。 紅外線與紫外線的基本概念 2.1 紅外線
    的頭像 發(fā)表于 08-20 09:46 ?5660次閱讀

    紅外線與紫外線有什么區(qū)別與功能

    引言 紅外線和紫外線都是電磁波的一種,它們?cè)谧匀唤缰袕V泛存在,對(duì)人類(lèi)的生活和科學(xué)研究都有著重要的影響。然而,由于它們的特性和應(yīng)用領(lǐng)域不同,人們對(duì)它們的了解程度也不盡相同。 紅外線與紫外線
    的頭像 發(fā)表于 08-20 09:44 ?6964次閱讀

    紅外線外線的特點(diǎn)及應(yīng)用有哪些

    紅外線的特點(diǎn): a. 波長(zhǎng)范圍:紅外線的波長(zhǎng)范圍在0.75微米至1000微米之間。 b. 熱效應(yīng):紅外線具有較強(qiáng)的熱效應(yīng),能夠使物體加熱。 c. 穿透能力:紅外線的穿透能力較弱,容易被
    的頭像 發(fā)表于 08-20 09:42 ?3198次閱讀

    紅外線和紫外線哪個(gè)熱效應(yīng)更顯著

    一、引言 紅外線和紫外線是電磁波譜中的兩個(gè)重要波段,它們?cè)谧匀唤绾腿祟?lèi)社會(huì)中都有著廣泛的應(yīng)用。紅外線和紫外線的熱效應(yīng)是人們關(guān)注的焦點(diǎn)之一,因?yàn)樗鼈儗?duì)人體的健康和生活都有著直接或間接的影
    的頭像 發(fā)表于 08-20 09:41 ?3455次閱讀

    紅外線最顯著的特點(diǎn)是它的什么效應(yīng)

    紅外線最顯著的特點(diǎn)是它的 熱效應(yīng) 。這種效應(yīng)體現(xiàn)在紅外線能夠輻射熱量,使物體發(fā)熱。具體來(lái)說(shuō),紅外線的熱效應(yīng)包括以下幾個(gè)方面: 輻射熱量 :紅外線是光譜中光熱效應(yīng)最大的區(qū)域,任何高于絕對(duì)
    的頭像 發(fā)表于 08-20 09:39 ?2721次閱讀

    紅外線有哪些特點(diǎn)和作用

    引言 紅外線是一種電磁波,波長(zhǎng)介于可見(jiàn)光和微波之間。它在自然界和人類(lèi)社會(huì)中有著廣泛的應(yīng)用,如熱成像、遙感、醫(yī)療、工業(yè)、軍事和通信等領(lǐng)域。本文將介紹紅外線的特點(diǎn)和作用。 紅外線的定義和分類(lèi) 紅外
    的頭像 發(fā)表于 08-20 09:33 ?5805次閱讀