TI达人:
我使用TIDA-01585的代码,在此基础上修改IIC的管脚配置,为什么IIC模块初始化后UCBBUSY一直处于忙状态,未初始化之前看到寄存器是0,只要将复位清零后,UCBBUSY一直处于忙状态。这个是什么原因?除了将SYSCFG2的USCIBRMP置1外还需要操作什么?
执行最后一行代码后,就出现问题。
P2SEL0 |= BIT4 | BIT5; // I2C pin setup P2.4 & P2.5
UCB0CTLW0 |= UCSWRST; // Reset I2C, stop I2C data, clear IFG & IE.
UCB0CTLW0 |= UCMODE_3 | UCMST | UCSYNC | UCSSEL_3; // I2C mode, Master Mode, SMCLK(16MHz).
UCB0CTLW1 |= UCASTP_2; // Auto stop genaration.
UCB0BRW = 38; // Baud Rate = 16M/40 = 400KHz
UCB0TBCNT = 255; //
UCB0CTL1 &= ~UCSWRST; // Released I2C for operation
Susan Yang:
请问您现在是自己设计的板子?能否详细说明下?能否说明下您修改的IIC管脚配置?
user4849938:
回复 Susan Yang:
板子是我自己设计的。原理图也是参考TIDA-01585来做的,不同的是我想使用msp430fr2311的内部运放,就将部分管脚修改过。我贴上原理图。
谢谢你的支持。
user4849938:
回复 user4849938:
yjy yuan板子是我自己设计的。原理图也是参考TIDA-01585来做的,不同的是我想使用msp430fr2311的内部运放,就将部分管脚修改过。我贴上原理图。谢谢你的支持。
灰小子:
回复 user4849938:
必须添加上UCB0CTLW0 &=~ UCSWRST; 才能使配置生效
user4849938:
回复 灰小子:
谢谢!学习了!