大家好,我是最近再使用CC2640R2F launchpad的新手
看了I2Ctmp007的example有些問題想請教一下
若tmp007改成tmp116的話
可以直接用i2ctmp007的範例去更改嗎?
若可以,需要更改哪裡呢?
YiKai Chen:
可以、就是去改I2C_transfer
Viki Shi:
I2C的功能实现是类似的,但是tmp007和tmp116之间的区别需要注意,包括IO脚以及硬件结构,两者具体区别建议你到传感器板块咨询一下
user5774440:
回复 YiKai Chen:
YiKai Chen 你好
不好意思我不知道I2C_transfer在哪裡?還有要跟改的地方?是要去TMP116的datasheet裡尋找?
請問可以舉例更改的地方?
da qin zheng sheng:
首先需要修改芯片的硬件i2c地址
da qin zheng sheng:
还有留意芯片寄存器部分的不同
user5774440:
回复 YiKai Chen:
YiKai Chen 你好
TMP116的datasheet裡寫TMP116的位址是(0x48)
我更改了Board.h的#define Board_TMP_ADDR (0x48)
請問還有哪邊需要更改?
請問需要更改的文件是I2Ctmp007.c的?
user5774440:
回复 YiKai Chen:
YiKai Chen 你好
不好意思,再請問需不需要改下面
#define TMP007_DIE_TEMP0x0001/* Die Temp Result Register */
#define TMP007_OBJ_TEMP0x0003/* Object Temp Result Register */
變成
#define TMP007_DIE_TEMP0x00
#define TMP007_OBJ_TEMP0x01請問這邊需要更改嗎?
temperature = (rxBuffer[0] << 6) | (rxBuffer[1] >> 2);if (rxBuffer[0] & 0x80) {temperature |= 0xF000;}
YiKai Chen:
回复 user5774440:
原來的代碼txBuffer[0] = TMP007_OBJ_TEMP;只有用到TMP007_OBJ_TEMP所以我之前的回覆才會建議你直接把txBuffer[0] 改成0x00,temperature 的部份應該不用改
TI中文支持网
