一.IR-NEC协议介绍- Q0 B7 |5 s$ m: q% o6 c8 D STM32红外接口(IRTIM)该外设的主要特点,用于产生红外遥控信号。 红外遥控的编码目前广泛使用的是: NEC Protocol 的 PWM(脉冲宽度调制)和 Philips RC-5 Protocol 的 PPM(脉冲位置调制)。' _7 c" A. l e; z2 ?7 u 在这里选择 NEC 协议,其特征如下:! M% x" c+ E3 H6 Y. _$ V/ S 1、 8 位地址和 8 位指令长度;3 L7 F. y2 d" I: e( i: ~ 2、地址和命令 2 次传输(确保可靠性);# f, v z) P" p- b3 F 3、 PWM 脉冲位置调制,以发射红外载波的占空比代表“0”和“1”;: H9 s( J) |. ~! D% P! i 4、载波频率为 38Khz;: l% I2 O. o* n7 c9 e 5、位时间为 1.125ms 或 2.25ms; NEC 码的位定义:一个脉冲对应 560us 的连续载波。7 l- V" j+ p; C% f 一个逻辑 1 传输需要 2.25ms(560us脉冲+1680us 低电平), 一个逻辑 0 的传输需要 1.125ms(560us 脉冲+560us 低电平)。) F& Q/ S# E' y; w3 p5 z5 Z0 h 而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平。/ J. X0 O2 [2 L2 O. \5 X 这样,我们在接收头端收到的信号为: 逻辑 1 应该是 560us 低+1680us 高, 逻辑 0 应该是 560us 低+560us 高。9 X% v! {% }0 s( z: b) ] NEC 遥控指令的数据格式为:同步码头、地址码、地址反码、控制码、控制反码。 同步码由一个 9ms 的低电平和一个 4.5ms 的高电平组成,地址码、地址反码、控制码、控制反码均是8 位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于校验)。 接收头的接收到的信号如下图- u k; t' e" V8 e9 i& D& R 4 ^- c# }6 b% j- ~; N% K & b' M4 U; o: K/ q( q9 a b 二.基于NUCLEO-G474RE开发板新建工程0 M6 o+ I/ b: @7 |# O6 u 2.1 打开 STM32CubeMX 软件,新建工程.2 G% _! u6 C% l( ` 3 X4 H) @2 a; C4 c, u ]/ N 2.2 选择开发板(芯片) * a3 j% n: n& L/ v( Q, J; u/ s 2.3 配置TIM16 和TIM17.9 b( L8 K3 N: j8 p 在使用CubeMX配置时,需要先配置好定时器TIM16(调制信号)和TIM17(载波信号),才能使能外设IRTIM. 调制信号TIM16 :1000us,1kHz。( |! B4 R4 r6 |8 x7 D4 Q2 R4 h" z 载波信号TIM17:34kHz-40kHz,38kHzPWM模式50%的占空比。+ v; D4 d+ S% X* ?, P 2.4配置一下时钟树. - d3 H u! H; h7 d" i ! i0 m0 n; X' B# e3 V4 f+ ]7 G 2.5生成代码.7 y% o$ n5 |# H* S" g, _ J" n $ b1 s$ E: i. v2 @& t3 y( { % e! b& V( N- X- u ————————————————. B! F2 o, J: N9 b* `. x3 c 版权声明:藤一泓 如有侵权请联系删除 . \0 w- n: b. l; J D4 s! e 3 N4 ~+ d: K- B( } |
STM32固件库分享,超全系列整理
【经验分享】STM32G4_CORDIC与定点带符号整数数据格式
STM32的CAN FD位定时设置注意事项
基于STM32G474 中 Triggered-half 模式的实现
基于STM32G4的数字控制 15kW双向PFC
基于STM32G431简介
今天14:00 | 基于STM32的MATLAB电机控制方案直播
STM32G431RBT6之Key模块入门
STM32G431RBT6--LED模块入门
STMG431RBT6之LCD模块