上面是lcd的通讯方式;
Lina Lian:
hui tang,
请问目前MSP430 通过UART给LCD发送数据, LCD可否正常接收成功数据?即你设定背光后,LCD是否受控制?
hui tang
char get_char(void)
{
uchar ch;
ch = temp;
return ch;
}另外你这样检测是否接收到数据,有可能temp还保持上一次的值,并没有真正的进入接收中断,接收到新的数据。
有以下建议:
参考例程,先把程序调通,UART自己收自己发,并用示波器观察,成功后,然后链接LCD后,仍旧用示波器观察看看正常否?
MSP430x54x_uscia0_uart_01.c USCI_A0, 115200 UART Echo ISR, DCO SMCLKMSP430x54x_uscia0_uart_02.c USCI_A0, Ultra-Low Pwr UART 2400 Echo ISR, 32kHz ACLKMSP430x54x_uscia0_uart_03.c USCI_A0, Ultra-Low Pwr UART 9600 Echo ISR, 32kHz ACLKMSP430x54x_uscia0_uart_04.c USCI_A0, 9600 UART, SMCLK, LPM0, Echo with over-sampling
BR,
Lina
Carter Liu:
可以先用示波器检查一下是否有LCD数据返回到430单片机
Carter Liu:
程序中没有看到发送完成后改变串口速率的部分,不知道实际中是否发完立即改变为接收速率
hui tang:
回复 Lina Lian:
这两天春节放假,节后回到单位用示波器试试。
hui tang:
回复 Carter Liu:
1.接收波特率和发送波特率分开设置的?
2.都用的是9600,是否也需要分开设置?
hui tang:
回复 Lina Lian:
能否把
ch = temp;
改成
ch = UCA1RXBUF;
——————–
单位的示波器被拿去检定了。先摸索摸索别的方法看看能不能解决。
Bruce Wei:
回复 hui tang:
接收是在中断中完成的,temp只是起到参数传递的作用。
Bruce Wei:
回复 hui tang:
只有一个波特率,收发都是一样的。