关于z-stack 添加I2C功能的问题
各位好,
应用有新需求,最近需在新项目上添加EEPROM用于扩展数据存储。
我从官网上下载了remote TI,并从中移植了I2C的驱动至Z-stack,具体如下:
在协议栈的HAL下添加了 hal_i2c.h和hal_i2c.c两个文件
然后在初始化中添加了
void HalDriverInit (void)
{
/*I2C*/
HalI2CInit(); //sfei 20171012
/* TIMER */
#if (defined HAL_TIMER) && (HAL_TIMER == TRUE)
#error "The hal timer driver module is removed."
#endif
…………
最后就是在应用中调用读写函数:
case 0xCC:
HalUARTWrite ( HAL_UART_PORT_0, I2Cdata, 3 );
HalI2CSend(0x52,I2Cdata+2, 1);
HalUARTWrite ( HAL_UART_PORT_0, I2Cdata, 3 );
HalI2CReceive(0x52, I2Cdata, 1);
HalUARTWrite ( HAL_UART_PORT_0, I2Cdata, 3 );
通过串口测试发现一直失败。。
请问我的使用过程是否正确?请有经验的朋友分享一下经验!!!
请问你用的是哪款芯片?CC2530的话需要模拟I2C,CC2538的话有相关例程可参考
CC2538的参考例程: http://www.ti.com.cn/tool/cn/cc2538-sw
用的CC2530,
问题已经解决。抱歉,是我之前对eeprom不了解,对应驱动没调好,TI的remote里面驱动封装的很好,简洁好用!