IRM3800 紅外遙控器解碼 linux驅動

2022-01-11 14:54:31 字數 2133 閱讀 6420

這一次還是接在 cemera 上。用 中斷引腳 eint20 也就是 gpg12.

之前焊的 51 板子上有乙個紅外置收器。

請注意了,是

標準的 nec 碼規範:

首次傳送的是9ms的高電平脈衝,其後是4.5ms的低電平,接下來就是8bit的位址碼(從低有效位開始發),

而後是8bit的位址碼的反碼(主要是用於校驗是否出錯)。然後是8bit 的命令碼(也是從低有效位開始發),

而後也是8bit 的命令碼的反碼。其「0」為載波發射0.56ms,不發射0.565ms,其「1」為載波發射0.56ms,

不發射1.69ms。

這是一種不太好的實現方式,以後會更新其它更好的演算法。

原理比較簡單,當有中斷發生中,將gpg12設為輸入功能,通過讀引腳的電平,配合時間,就能得到 紅外遙控器發出的**。

**共4個,廠家id 高, 廠家id 低, 命令 , 命令反碼

經過試驗,發現,命令只有低6個bit 是正常的,

驅動原始碼

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include string.h>

8 #include 9 #include 10

11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19

20 #include 21 #include 22 #include 23 #include 24

25 #include 26 #include 27 #include 28 #include 29 #include 30

31/*

32標準的 nec 碼規範:

33首次傳送的是9ms的高電平脈衝,其後是4.5ms的低電平,接下來就是8bit的位址碼(從低有效位開始發),

34而後是8bit的位址碼的反碼(主要是用於校驗是否出錯)。然後是8bit 的命令碼(也是從低有效位開始發),

35而後也是8bit 的命令碼的反碼。其「0」為載波發射0.56ms,不發射0.565ms,其「1」為載波發射0.56ms,

36不發射1.69ms。

37*/

3839

#define ir gpio_get_value(s3c2410_gpg(12))

4041

static irqreturn_t irm_irq(int irq, void *dev_id)42;

4546

/*操作原理 當有中斷發生中 配置引腳功能為 gpio 輸入型 直接讀irm訊號電平高低

*/47 s3c_gpio_cfgpin(s3c2410_gpg(12

), s3c2410_gpio_input);

48 mdelay(5); //

9ms 內必須是低電平否則就不是頭資訊

49if(0 ==ir)

5068}69

70//

計算反碼 code碼是否正確

71if((irm_code[2]&0x3f) == (~(irm_code[3]) & 0x3f

))7275}

76}77 s3c_gpio_cfgpin(s3c2410_gpg(12

), s3c2410_gpio_irq);

78return

irq_handled;79}

8081

static

int irm_init(void)82

8889

static

void irm_exit(void)90

9394

module_init(irm_init);

95module_exit(irm_exit);

96 module_license("

gpl");

紅外遙控器解碼原理

紅外遙控器解碼原理 august 7th,2015 1 紅外遙控系統 通用紅外遙控系統由發射和接收兩大部分組成,應用編 解碼專用積體電路晶元來進行控制操作,如圖1所示。發射部分包括鍵盤矩陣 編碼調製 led紅外傳送器 接收部分包括光 電轉換放大器 解調 解碼電路。2 遙控發射器及其編碼 遙控發射器專...

STM32 NEC紅外遙控器解碼

現有的紅外遙控包括兩種方式 pwm 脈衝寬度調製 和ppm 脈衝位置調製 兩種形式編碼的代表分別為nec 和philips 的rc 5 rc 6 以及將來的rc 7。nec 格式的特徵 1 使用38 khz 載波頻率 2 引導碼間隔是9 ms 4.5 ms 3 使用16 位客戶 4 使用8 位資料 ...

自製紅外空調遙控器

自製空調紅外遙控器 一開始網上看了很所紅外的協議nec,rc 5,rc 6,sirc。太多了,據說國內用的最多的是nec的協議。看看實際的波形圖吧 這是家裡格力空調遙控器的開機波形。先講一下紅外置收頭,市面上的有很多種,但總結下就是沒訊號高電平,有型號低電平,還有就是需要38khz的載波對應。傳送頭...