STM32单片机和hxd019芯片通讯说明
0.设置三个IO和初始化:
将主MPU与遥控IC_HXD019相连的三个IO设置好,
1. 时序调整:根据主控不同时钟调整,测通讯时钟CLK线调以下参数:
调延时参数:
文件:URAD.H中
#define IRDA_DELAY_40US // 使CLK时钟周期在调用IRDA_tx_data()时:H=30uS(25-40uS之间)
#define IRDA_DELAY_20MS //CLK第一个下降沿到第二个下降沿的时间:20mS(16-30mS之间),
2.硬件相关:将硬件连接好,在调试期间,建议三个通讯IO口,各串一个100R左右的电阻(量产不需要),防止断点,暂停或异常IO冲突损坏IO口. 调程序连续调用IRDA_tx_data,IRDA_learn_start(),查busy是否变高前的中间要延时至少100mS, 在busy口变高后调IRDA_learn_data_in_out(irda_data)不要间隔
3.相关主文件:
user\main\main.c
4.其它的工程:
用iar的工程
\IAR\zk.eww
用keil的话,把工程搭好用\user\irda
复制过去,参考MAIN里面的调用就OK
5,学习发送说明:
发学习命令:IRDA_learn_start(),
检测busy:while(!IRDA_BUSY_S())
外部对学,人工操作学习
学到的数据处理:IRDA_learn_data_in_out(irda_data)
发学习到的数据: IRDA_tx_data()
发码库数据:IRDA_tx_data() 修改相应的buffer和Size