版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/FUBIN0000/article/details/78335549
接上篇博客,对串口接收到的数据在LCD液晶上进行显示,这里只显示了一个数据,拿了数组里面的一个数据进行了显示。硬件连接上:A板PA9---->B板PA10,A板PA10--->B板PA9。
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
u8 i=0;
u8 res=0;
u8 test[8];
char dispbuf[64];
void USART1_IRQHandler(void)//接收串口数据并存储
{
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
res= USART_ReceiveData(USART1);
test[i]=res;
i++;
if(i>=8)
i=0;
}
}
int main(void)
{
u16 times=0;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
LCD_Init();
while(1)
{
sprintf(dispbuf,"%d",test[1]);//字符串格式化
POINT_COLOR=BLUE;
LCD_ShowString(30,70,200,16,16,dispbuf);
times++;
if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);
}
}