这个主要是用来调试前一阵做的G2452的RTC芯片,手上没有现成的工具才想出这么个方案,也顺便学习了一下USCI的UART模块,最后发现只要最简单的UART功能就够了。I2C用的是TI的SLAA382中的USCI I2C master代码。
大致的工作流程如下:
PC(串口调试软件)<=> LaunchPad USB <=> UART <=> G2553 <=> I2C
特性:
- 仅支持7bit地址模式
- 支持128位连续的数据传输
- UART波特率为9600
使用方法:
LaunchPad的串口跳线应该选择在硬件串口模式。
不要忘了和I2C设备之间的共地,还有I2C信号线的上拉电阻。
PC端的串口调试工具的命令格式如下:
I2C写数据:
第1位:要通过串口传输的总的数据字节(byte)数,最大是130(0x82)第2位:I2C设备的7bit地址,并左移1
第3位~:要写入的数据
I2C读数据:
第1位:要通过串口传输的总的数据字节(byte)数,这里应该设定为0x03
第2位:I2C设备的7bit地址,左移1,然后再加1
第3位:要从I2C设备中读取的字节(byte)数
代码在这里:
https://github.com/lihouyu/G2553_UARTtoI2C
目前仅用于调试我的那个RTC芯片,没有做过其他设备的调试和更多的测试,如发现问题,请告知,谢谢