专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
51单片机
【高手问答】第1期——朱兆琪在线解答单片机C语言编程
2019-07-15 19:17
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
13352
19
1269
Elecfans
论坛
高手问答第1期
朱兆琪在线解答
单片机
C语言编程
本期高手问答(6月30日-7月6日)我们请来了
@zzq宁静致远
为大家解答关于单片机C语言编程方面的问题。
@zzq宁静致远 朱兆琪
,我相信大家不陌生。目前深圳市馒头科技有限公司总经理,在
论坛
连载多个技术贴,从C语言到
STM32
到蓝牙4.0,引起大家的强烈反响,熟知
嵌入式
开发。著有《嵌入式Linux开发实用教程》一书,关于朱兆琪,
点此
了解更多
Elecfans高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。
下面欢迎大家就单片机C语言编程方面问题向 @zzq宁静致远 提问,请直接在回帖中提问。
为了鼓励大家踊跃提问,
特准备两本
《嵌入式Linux开发实用教程》
作为幸运奖品
,届时将有
@zzq宁静致远
从所有提问者中抽取赠予此书。
*****************
问答精华
***********************
Elecfans高手问答往期回顾:
【高手问答】12—韦东山老师VS嵌入式LINUX应用开发完全手册
【高手问答】11——与张飞老师一起成为硬件电路设计的expert
【高手问答】第10期—宋雪松老师l手把手教你学51单片机
【高手问答】第9期——张工带你玩转STM32问答
【高手问答】第8期——社区之星李工为你的ARM问题解惑
【高手问答】第7期——与行工前辈一起畅谈DSP
【高手问答】第6期—— 李工解答PCB设计
【高手问答】第5期——STM32硬件问答
【高手问答】第4期——与社区之星王工聊聊labview设计
【高手问答】第3期——阿东带你走进硬件电路设计
【高手问答】第2期——阿东带你走进fpga的逻辑编程设计
【高手问答】第1期——朱兆琪在线解答单片机C语言编程
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
小萃米
2019-07-15 22:25
ModBus RTU 协议上规定其帧数据有:地址码、功能码、数据、CRC,并没有定义帧起始、帧结束,资料上说,以3.5个字符作为界定帧起始、帧结束。那这个在程序上怎么实现呢?
看了一些别人的帖子,有说如下解决:
在下位机上,启动一个定时器,定时器中断时间大于3.5个字符的时间,每次接收到一个字节数据,都会将定时器清零,若超过该时间,就会发生定时中断。
对此,我还是不明白,如下:
1. 这个3.5个字符传输时间,是传输3个bit时间,还是3个byte的时间,或者是其他的?手册上写的是3个char,这个char指的是什么?
2. 不明白怎么界定3.5字符超时限制。如果这个3.5字符时间是大于传输一个字节的时间,那我可以在每次接收到一个字节是数据,都对定时器清零,当没有数据传输时,定时器会产生时间中断,这样能界定这个超时,从而判断帧传输结束。但是若3.5字符时间是 小于 传输一个字节的时间,这种方法就实现不了?
另外,在上位机 VC上怎么实现?上位机上用定时器,其优先级很低,是不可以作为超时限制的,其二,VC上需要调用API,然后做差值,来确定精确的 ms 级别时间。但是该从什么时候开始调用API呢?也就是说,我从什么时候开始判断,没有字符接收了,然后调用API,获取时间来判断是否超时3.5字符?
求朱老师
@zzq宁静致远
指点
加载中...
查看其它19个回答
一周热门
更多
>
相关问题
【东软载波ESF0654 PDS开发板活动】开箱
1 个回答
东软载波ESF0654 PDS开发板外部中断
1 个回答
东软载波ESF0654 PDS开发板高级控制定时器AD16C4T
1 个回答
用串口调试助手为什么只能在hex模式接收发送而在文本模式不行
9 个回答
触摸芯片SC02B/SC04B在地砖灯的设计方案
1 个回答
相关文章
51单片机与蓝牙模块连接
0个评论
51单片机的硬件结构
0个评论
基于51单片机的无线遥控器制作
0个评论
51单片机 AD转换
0个评论
51单片机数码管递增显示
0个评论
如何实现对单片机寄存器的访问
0个评论
基于51单片机的指纹密码锁
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
51单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
看了一些别人的帖子,有说如下解决:
在下位机上,启动一个定时器,定时器中断时间大于3.5个字符的时间,每次接收到一个字节数据,都会将定时器清零,若超过该时间,就会发生定时中断。
对此,我还是不明白,如下:
1. 这个3.5个字符传输时间,是传输3个bit时间,还是3个byte的时间,或者是其他的?手册上写的是3个char,这个char指的是什么?
2. 不明白怎么界定3.5字符超时限制。如果这个3.5字符时间是大于传输一个字节的时间,那我可以在每次接收到一个字节是数据,都对定时器清零,当没有数据传输时,定时器会产生时间中断,这样能界定这个超时,从而判断帧传输结束。但是若3.5字符时间是 小于 传输一个字节的时间,这种方法就实现不了?
另外,在上位机 VC上怎么实现?上位机上用定时器,其优先级很低,是不可以作为超时限制的,其二,VC上需要调用API,然后做差值,来确定精确的 ms 级别时间。但是该从什么时候开始调用API呢?也就是说,我从什么时候开始判断,没有字符接收了,然后调用API,获取时间来判断是否超时3.5字符?
求朱老师 @zzq宁静致远 指点
一周热门 更多>