TI工程师您们好!
我用MSP430FR2533 I2C通讯时在master模式下无法发送数据,程序是我FR6972项目移植过来的,在FR6972项目中发送数据都正常,在FR2533时我无论怎样设置寄存器都是发送不了数据,我也参考了FR2433的driverlib中的I2C库例子,也是不行。因为在初始化I2Cmaster模式后一旦使能I2C,I2C状态寄存器的UCB0STATW中的busy位就置1,I2C就发送不了数据,盼解答。开始我以为是capTivate设计中心生产的代码 FR2533只能工作在slave模式下,我重建项目只用I2C通讯发现还是不能在master模式下工作。
Susan Yang:
user3883938我也参考了FR2433的driverlib中的I2C库例子,也是不行。
直接使用TI例程也不能通信成功? 硬件是否连接正确?是否有上拉电阻等?示波器看到的SDA, SCL是什么电平?
我这边用开发板测试例程是没有问题的。
在E2E上也有一些分享,您可以参考一下
https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/916206?tisearch=e2e-sitesearch&keymatch=I2C%25252520BUSY
另外在driverlib指南中,您需要按照下面的顺序调用API
user3883938:
回复 Susan Yang:
Susan Yang,谢谢你的回复,直接使用例程也是不行的,我用了你以前解答别人的例子,
按照这里面的修改方式也不行,测得SDA SCL都是低电平。
I2C的SDA和SCL也没和地短路。
Susan Yang:
回复 user3883938:
均是一直是低电平?您是否有接上拉电阻?一般为10k
user3883938:
回复 Susan Yang:
杨苏珊你好!
SDA 和SCL是有上拉10K电阻,我的MSP430FR6972板子与TI的capkeypad demo板I2C通讯就没有问题,FR6972是master,capkeypad demo是slave机,我现在是FR2533是master,FR6972是slave机,有触摸动作就发送给FR6972.
Susan Yang:
回复 user3883938:
我手边只有FR2633的板子,请问您分别使用的哪个例程?我再找其他板子一起来测试一下
user3883938:
回复 Susan Yang:
Susan Yang:
你好!
我是看到你2019年 6月25日回复一位工程师的问题给他的 FR2433的DEMO 然后我复制下来改成2533来测试的例子,我按照你那个例子也还是一样发不出数据,如果你有FR2633(fr2533)的 I2C master的例子麻烦你发个链接让给我下载参考一下。
非常感谢你的回复。
user3883938:
回复 user3883938:
杨苏珊 ,
你好!
我刚把FR6972程序跑一遍再跑FR2533例子发现FR2433例子突然可以了,又跑其他的程序I2C通讯也都可以了,估计是我的FR6972的I2C IO停某一位置引起的FR2533的I2C iO电平不对所以I2C检测一直是busy状态,所以数据发送不了。FR6972工作在master模式,现在改成FR2533工作在master模式。其他的2个芯片工作在slave模式,明天继续调试。非常感谢你的技术支持。
user3883938:
回复 Susan Yang:
杨苏珊,
你好!
我在修改程序遇到一个错误,我没找出原因,麻烦帮我看下问题的所在。
提示有这个结构体变量没有定义的错误,但是在system有定义啊,我不知道怎么修改这个错误,麻烦你帮我看下问题。
system .h头文件有包含啊。
user3883938:
回复 user3883938:
怎么今天没回复我的问题?急盼回复!
TI中文支持网



杨苏珊你好!







