主题中讨论的其他器件:MSP430FR2433
工具与软件:
大家好!
我要将 MSP 与 MPU-6050和 CCS811气体传感器进行连接、想通过 UART 查看相关值。
为此、我编码了两个函数、一个将整数值转换为字符串、另一个使用 UART 模块打印;在 main 函数中、我这样做:
while (1)
{
acc_comm();
//int_to_string(xAccel, num);
//uart_puts(num);
//int_to_string(yAccel, num);
//uart_puts(num);
//int_to_string(zAccel, num);
//uart_puts(num);
gases_comm();
//int_to_string(co2Lvl, num);
//uart_puts(num);
//int_to_string(tvocLvl, num);
//uart_puts(num);
// do something with the data
__delay_cycles(500000);
}
当我取消注释函数调用时、通信失败。
我想知道导致此问题发生的原因。 我想 I2C 线路不能空闲、但没有这方面的确认;你们的任何帮助都会非常感谢。
为了便于参考、我将两个函数代码保留在此处:
void int_to_string(int num, unsigned char *str)
{
unsigned char i = 0, j = 0;
char aux[5];
do
{
aux[i++] = num % 10 + '0';
num /= 10;
}
while(num > 0);
while(i--)
{
str[j++] = aux[i];
}
str[j] = '\0';
}
void uart_puts(unsigned char *str)
{
while(*str)
{
while(!(IFG2 & UCA0TXIFG));
UCA0TXBUF = *str++;
}
UCA0TXBUF = '\n';
}
此外、I2C 和 UART 的配置代码与 TI 开发人员专区中的示例相同。



