MSP芯片配套Digole 2004A LCD上电循环卡滞UART Baud:9600求助
问题描述
使用MSP系列芯片搭配Digole 2004A显示屏(UART RX/TXD模式),通过IAR Embedded Workbench编写C代码实现LCD消息输出。多数场景下显示正常,但上电循环后,屏幕会卡滞在“UART Baud: 9600”界面,怀疑LCD初始化环节存在遗漏,附上当前初始化代码:
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD UCA0CTL1 |= UCSWRST; // **Put state machine in reset** UCA0CTL1 |= UCSSEL_1; // CLK = ACLK UCA0BR0 = 0x03; // 32kHz/9600=3.41 (see User's Guide) UCA0BR1 = 0x00; // UCA0MCTL = UCBRS_3+UCBRF_0; // Modulation UCBRSx=3, UCBRFx=0 UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** UCA0IE |= UCRXIE; Digole_setLCDColRow(20,4); Digole_disableCursor(); __delay_cycles(1000); Digole_clearScreen(); __delay_cycles(1000); Digole_setPrintPos(0,0,0); Digole_printStr("PFA Error Messages"); __delay_cycles(1000);
解决建议
卡滞在波特率提示界面的核心原因是Digole UART屏上电后会等待主机发送波特率确认指令,否则会一直停留在提示界面,结合你的代码给出以下修改点:
- 添加波特率确认步骤:Digole 2004A上电输出波特率提示后,必须发送指令
0xBA让屏退出提示模式,进入正常显示状态。如果你的Digole库有封装好的函数(比如Digole_confirmBaudRate()),直接调用即可;没有的话手动发送该指令。 - 延长上电延迟时间:当前
__delay_cycles(1000)仅约31ms(基于32kHz ACLK),远短于Digole屏的上电自检时间(建议至少500ms),需增加初始化前的延迟,比如__delay_cycles(160000)。 - 调整指令间延迟:原代码中指令间隔的1000周期延迟太短,可能导致LCD未处理完前一条指令就收到新指令,引发异常,建议延长至10000~20000周期。
- 暂关接收中断:初始化阶段开启
UCRXIE但未处理中断服务函数的话,可能触发中断导致程序流程异常,建议初始化完成后再开启接收中断。
修改后的初始化代码示例
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD UCA0CTL1 |= UCSWRST; // **Put state machine in reset** UCA0CTL1 |= UCSSEL_1; // CLK = ACLK UCA0BR0 = 0x03; // 32kHz/9600=3.41 (see User's Guide) UCA0BR1 = 0x00; // UCA0MCTL = UCBRS_3+UCBRF_0; // Modulation UCBRSx=3, UCBRFx=0 UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** // 初始化阶段暂关接收中断,避免干扰 // UCA0IE |= UCRXIE; // 等待LCD完成上电自检,32kHz下约500ms __delay_cycles(160000); // 发送波特率确认指令,退出提示界面 Digole_confirmBaudRate(); // 若库无此函数,可替换为直接发送0xBA的代码 Digole_setLCDColRow(20,4); __delay_cycles(10000); Digole_disableCursor(); __delay_cycles(10000); Digole_clearScreen(); __delay_cycles(20000); // 清屏操作需要更长处理时间 Digole_setPrintPos(0,0,0); Digole_printStr("PFA Error Messages"); __delay_cycles(10000); // 初始化完成后开启接收中断 UCA0IE |= UCRXIE;
内容的提问来源于stack exchange,提问作者Georgem
相关产品推荐
相关产品推荐

