前段时间,闲来无事,在DIY了一个IV-18的时钟后,看到有人玩安捷伦的HCMS3966,也想玩一玩,由于是要做个便携式的时钟,所以采用了一个低功耗的芯片L432KC,打了两块板子,一个是f103c8的板子,另一个的芯片是l432kc做为红外接收,并且显示到HCMS3966上面,由于想做一个无线传输功能,而且板子的体积又要做到尽可能的小,就采用了红外编码和解码功能附上红外解码时序解析
从此图上可以看出,标准的格式是一个引导码9+4.5ms的时间,然后是4个8位的用户码,我担心数据传输的时候会出现干扰现象,就把4个用户码分别设为了地址码(功能码)+数据1码+数据2码+异或校验(用于校验数据传输是否是正确的)
数据传输包括以下几种,设定当前时间,设定当前日期,显示ascii码,
当我用红外发送当前时间和当前日期的时候,数据传输是正常的,
由于设置需要显示的ascii码的长度不固定,所以当红外发送多个字符的时候,红外传输分多次进行,假设我设置的为ABCDEFGH,则红外发送的数据分别为:
0x20 0x41 0x42 校验
0x20 0x43 0x44 校验
...
0x20 0x47 0x48 校验
下面说一下我遇到的问题
|