| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 模拟无线透传的STM32的24L01无线模块与串口USART通信 -> 正文阅读 |
|
[嵌入式]模拟无线透传的STM32的24L01无线模块与串口USART通信 |
模拟无线透传通信方式,PC的com6接USB-24L01模块,PC的com5通过USB电缆接开发板的USART1接口。开发板接24L01模块。 单片机主程序查询无线是否有数据,有则通过串口发送。然后判断32个字节数据接收完成标志,标志有效则进行无线转发。短暂100ms延时后返回循环上述容。 接收32个字节采用接收中断。接收一个字节进入回调函数,进行数据存储,指针调整,数据长度判断和32字节标志设置,最后是开接收中断。 PC端运行2个串口调试助手,分别打开com5,com6.。根据数据协议手动发送无线数据(com6的24L01)或有线数据(com5的USB电缆)。单步运行,现象符合预期。 改成自动定时发送数据,无线发送的接收没有问题,但是有线的串口发送的时候PC的USB无线接收端收不到数据。设置断点后发现没有进入串口中断。 这是什么道理? 以下是网友在openedv论坛的回复。HAL_UART_Receive_IT() 的参数size只能为1吗?-OpenEdv-开源电子网 qq1198228505:就是要等到接受了10个数据之后才会中断,每次中断记得重新设置HAL_UART_Receive_IT,设置为1有个很烦的bug就是数据量大了,必定丢数据 ------这样是应该有用的。 jermy_z:HAL库一直在禁止中断开启中断,不丢数据才有鬼 ------原来如此,这是HAL库自己折腾自己呢。 wklhwkl:HAL_UART_Receive_IT ------这个要求比较高,动手修改库函数了。 感谢三位的指点,我修改了size,回调函数中再次使能。回调函数中设置断点后,均能看到发送的数据。 故此我在回调函数中设置标志,主程序中设置标志并处理。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:44:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |