首先你的stm32得有一个串口,stm32的软件得支持这个串口驱动,这样pc通过串口发送到你的stm32的串口,数据被驱动缓存到stm32系统的内存中,然后写lcd驱动把数据打印到lcd上,如果你的stm32系统上是某种os的话就好办了,stm32的系统都支持这些驱动了。
请确保你电脑上的串口工作正常,测试方法,打开一个串口调试助手,短接串口线的TX和RX,然后串口调试助手发送一个字符,比如a,如果串口通信正常,你能在串口调试助手中收到a
请确保STM32上用于ISP的串口是串口1,IO是PA9,PA10,
int main(void)
{
u16 t;
u16 len;
u16 times=0;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
KEY_Init(); //初始化与按键连接的硬件接口
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
printf("\r\n您发送的消息为:\r\n\r\n");
for(t=0;t<len;t++)
{
USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
}
printf("\r\n\r\n");//插入换行
USART_RX_STA=0;
}
}
}
工程属性中的Target项中的Code Generation 选择 UseMicroLIB。 即可使用printf进行串口输出。
库函数版本的:
如果使用的是MDK,请在工程属性的“Target“-》”CodeGeneration“中勾选”Use MicroLIB“ 进行如上设置后编译一下,串口输出正确的数据。
以上就是关于stm32串口怎么将程序发送到液晶全部的内容,包括:stm32串口怎么将程序发送到液晶、编程实现stm32单片机串口的数据收发、stm32 串口通讯,我把程序中有关printf重定向有关的函数屏蔽,单片机就接收不到数据了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)