用战舰开发板想结合串口实验和TFTLCD实验。用用杜邦线把PA2,PA3与USART1下面的TXDRXD连接。
问题是我一开串口调试助手打开串口,LCD就熄灭了。可以帮忙看下是哪里出问题了吗?谢谢。
main函数如下
[mw_shl_code=c,true]#include "delay.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
int main(void)
{
u8 len=0,*data={0};
u8 lcd_id[12];
u16 i,times=0;
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
LCD_Init();
POINT_COLOR=RED;
sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);
while (1)
{
if(USART_RX_STA&0X8000)
{
LCD_ShowString(30,40,220,24,24,"\r\n?®??2??????????\n");
len=USART_RX_STA&0X7FFF;
printf("\r\n?ú·???????????:\r\n\r\n");
for(i=0;i<len;i++)
{
USART_SendData(USART2, USART_RX_BUF);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);
}
for(i=0;i<len;i++)
{ data=USART_RX_BUF; }
LCD_ShowString(30,40,200,24,24,data);
USART_RX_STA=0;
}else {
times++;
if(times%5000==0)
{ printf("?®??·?????????LCD???????é\r\n\r\n");}
}
if(times%200==0)printf("??????????,???????ü?á??\n");
delay_ms(10);
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,lcd_id);
LCD_ShowString(30,130,200,12,12,"2014/5/4");
delay_ms(1000);
}
}
[/mw_shl_code]
我想建立一个数组data保存USART2接收到的数据然后显示在LCD上。 |