本人菜鸟一枚,请大家帮帮忙,看一下到底是什么问题呢。。。。。。。 贴上主函数
int main(void)
{
u8 t;
u8 len;
u8 *data={0};
u16 times=0;
u8 lcd_id[12]; //存放LCD ID字符串
//存放缓冲区字符串
Stm32_Clock_Init(9); //系统时钟设置
uart_init(72,115200); //串口初始化为9600
delay_init(72); //延时初始化
LED_Init(); //初始化与LED连接的硬件接口
LCD_Init();
POINT_COLOR=RED;
sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。
LCD_ShowString(30,40,200,24,24,"Mini STM32");
LCD_ShowString(30,70,200,16,16,lcd_id); //显示LCD ID
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
for(t=0;t<len;t++)
{
USART1->DR=USART_RX_BUF[t];
while((USART1->SR&0X40)==0);//等待发送结束
}
for(t=0;t<len;t++)
{data[t]=USART_RX_BUF[t];}
LCD_ShowString(30,110,200,12,12,data);
USART_RX_STA=0;
}else
{
times++;
if(times%5000==0)
{
LCD_ShowString(30,140,200,16,16,"UASRT TEST");
}
if(times%200==0)LCD_ShowString(30,170,200,12,12,"2017/4/11");
if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);
}
}
}
|