怎么实现MCU与pc的串口通信

怎么实现MCU与pc的串口通信,第1张

你查看你的mcu手册,有几个可能出现这种问题的地方你查查:

1,你查看下你的mcu是否启用了uart

接收功能。

2,看你的串口助手是否禁用了发送功能。

3,看看你的停止位和校验位是否正确。

4,你用了485芯片吗?485芯片里面有个接收脚位在你接收数据的时候要设置。

5,以上都没问题,查看你的程序是否有bug。

希望有一个可以帮到你吧。

实验室项目需要使用STM32开发,Hal库的资料相对较少,关于UART中断与之前使用飞思卡尔芯片的中断不同。

首先在CubeMX中配置好UART中断;重点是:需要在主循环之前手动开启接收中断:

只有手动开启之后才能进入中断。

此外,HAL库中,无论何种类型的UART中断,都会进入:

在此函数中判断具体是何种中断,再调用相应的中断服务函数,接收中断是:

而此函数会调用:

最需要注意的一点是:

在回调函数最后需要再次开启中断!!否则只能执行一次!!

个人理解 这里将中断服务设置为等待模式 等待接收字符。

在Keil中进行断点调试 发现接受字符后会首先进入

HAL_UART_IRQHandler

函数,而不是直接进入 UART_Receive_IT 函数进行处理

相当于UART中断服务程序有一个统一入口

HAL_UART_Receive_IT(&huart1, (uint8_t )aRxBuffer, 1) 语句相当于打开这个入口,经测试如果去掉这句的话,再发送字符是不会进入HAL_UART_IRQHandler语句的。

刚开始接触STM32与HAL库函数,理解肯定不是很到位。

参考自:

>

包含。mcu代码中因其是一项重要的依据,就是必须要包含中断处理程序的,否则会运行错误,微控制单元,又称单片微型计算机或者单片机,是把中央处理器的频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。

以上就是关于怎么实现MCU与pc的串口通信全部的内容,包括:怎么实现MCU与pc的串口通信、求c8051F020的UART串口通信程序、如何增加mcu的带负载能力等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10122645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存