HXD019驱动程序大全
发布时间:2017-02-18 浏览次数:6855次

                   HXD019智能红外万能遥控芯片在各平台系统上的应用驱动程序大全 

   HXD019为红外信号收发处理芯片,支持所有红外设备,需要由主控芯片调用接口函数进入发射数据或者学习数据状态通讯方式:

三个GPIO通讯或者一对I2C+一个GPIO通讯

   (一),三个GPIO通讯:

     0,设置三个GPIO和初始化  hxd019D_V1.9.c文件:

       MCU与遥控IC_HXD019相连的所有IO内部下拉需要关闭,Set_SDA_IO()到   GetBUSYStatus()的所有主控芯片和hxd019连接的pin脚设置         函数设置好,分别是SDASCLBUSy各有几个配置函数,上电或待机时均为高电平,然后加入编译,范例如下;

 

       1,发学习数据或码库数据:

        1.1.取数据(Size不定长,10到120个字节,学习数据最多是232个字节)范例:

        unsigned char  data[]={0x30,0x00,0x01,0x1c,0xE3,0x00,0xFF,0x20,0x88,0xD7}

      1.2.然后调写函数: void writeI2C(char* data, UINT8 count); 

        2,学习和发学习数据: hxd019D_V1.9.c文件

      2.1  进入学习:调一次所给函数  Learn_start2();(此时外部操作);

         2.2  等学习完成: 当IO口:busy口由低变高调用函数readI2C2(),范例:

         Learn_start2(); //此时busy变低

         Delay(50ms);    //延时50mS  //等硬件稳定)

          while(busy ==1)   //(等待学习,此时主控可做其它工作,busy变高再回来读数据)

           {

            Delay(10us) //(学后busy变高)

            readI2C2(char* readtempbuf)

            };

         2.3,学习数据处理:将读到的第一个字节00去掉,前面加0x30,0x03 加校验,30开始

           所有数据和的低8位放第232字节,0x30,0x03 +(00  229个字节)+校验(前面231

           个字节和的低8位),要用时发回019芯片,函数名writeI2C()(同上);

      3,硬件相关:

          将硬件连接好(参见后面原理图) 

      4,时序调整,在hxd019D_V1.9.c文件,

         参考<时序参考图.JPG>文档:根据MCU不同时钟调整,测通讯时钟SCL线调以下参数:

 

       #define  DELAY_TIME  550    

       #define  DELAY_ST  19 // 

      

  (二)一对I2C+一个GPIO通讯:

       I2C通讯,每次读写前先写一个FF数据,延时20mS以后再读写正式数据,另一个GPIO的使用方法即busy通讯口和三个GPIO的通讯方式相同,I2C命令参       见上述代码中的数据,从头到尾发完即可,数据已包括I2C地址,I2C数据。

 

 

专业遥控芯片:手机万能遥控器,红外遥控IC,HXD019,红外码库,红外遥控数据,万能码库,云端码库,wifi转红外,红外万能码库,在线库,离线库,红外码库大全,红外万能码库大全
您是第3392位访客   粤ICP备13027018号 深圳市市场监督管理局企业主体身份公示