单片机开发,主函数没调用任何程序,串口一直收到00 0 FF之类的数据
本人是单片机小白,记录一些开发过程中的发现和心得。
最近在用MSP430F1232配合射频模块(Ti的CC1101芯片)开发无线收发程序,发现向板子里灌写程序后,串口助手sscom一直收到00 0 FF之类的数据,起初以为是电平转换芯片SP3232工作不正常,用万用表测量输出电压,没发现问题;于是清空主函数,只留下while(1)语句,问题依然没解决。排除硬件问题,只能说明串口没有正常工作,于是尝试调用串口初始化程序如下:
void InitUart(void)
{
volatile unsigned int i;
WDTCTL = WDTPW + WDTHOLD;
// close WTD
P3SEL |= 0x30;
// P3.4,5 = USART0 TXD/RXD
BCSCTL1 |= XTS;
// ACLK = LFXT1 = HF XTAL
do
{
IFG1 &= ~OFIFG;
// Clear OSCFault flag
for (i = 0xFF;
i > 0;
i--);
// Time for flag to set
}
while ((IFG1 & OFIFG) != 0);
// OSCFault flag still set?
BCSCTL2 |= SELM_3;
// MCLK = LFXT1 (safe)
ME2 |= UTXE0 + URXE0;
// Enabled USART0 TXD/RXD
UCTL0 |= CHAR;
// 8-bit character
UTCTL0 |= SSEL0;
// UCLK = ACLK
UBR00 = 0x74;
// 3.58Mhz/9600 - 372
UBR10 = 0x01;
//
UMCTL0 = 0x00;
// no modulation
UCTL0 &= ~SWRST;
// Initalize USART state machine
IE2 |= URXIE0;
// Enabled USART0 RX interrupt
__bis_SR_register(LPM0_bits + GIE);
// Enter LPM0 w/ interrupt
}
然后发现串口助手停止收到奇奇怪怪的数据。
【单片机开发,主函数没调用任何程序,串口一直收到00 0 FF之类的数据】问题终于解决,但是真相没有大白,为什么上电以后,芯片会自己向串口发送数据呢?以后打算有时间再好好研究。
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 深入理解Go之generate
- 我们重新了解付费。
- 继续努力,自主学习家庭Day135(20181015)
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- dubbo基本认识
- 爱,为孩子撑起一片空
- 全过程工程咨询——时间管理(12)
- 孤独,怕什么
- 无故.