找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2106|回复: 7
打印 上一主题 下一主题
收起左侧

stc15单片机串口通信的诡异问题

[复制链接]
跳转到指定楼层
楼主
想玩modbus通信,就下载个stc的freemodbus移植的程序,编译后烧写进stc15w4k56s4单片机测试基本正常,长时间通信偶尔会出现无回应的情况。不算大毛病。


但诡异的问题出来了:
新建一个空项目,然后把上面程序的*.C和*.h文件夹拷过来,并添加进新项目,不修改任何程序代码,编译后烧写进stc,运行通信无反应。
在接收函数里面把接收的数据发送出来,发现发送出来的变成了ff





使用Keil uVision3 和 Keil uVision4 都有以上故障现象。

源代码附在下面,供感兴趣的坛友测试。
modbus异常.rar (794.23 KB, 下载次数: 22)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:65956 发表于 2021-10-20 08:20 | 只看该作者
源码在帖出来才会有人帮你看,你这要让人自己下载是要黑币的,谁会帮你呢
回复

使用道具 举报

板凳
ID:94031 发表于 2021-10-20 09:19 | 只看该作者
还多了五个警告 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS    参看:https://blog.csdn.net/SSA_ming/article/details/116298605
回复

使用道具 举报

地板
ID:313048 发表于 2021-10-20 09:41 | 只看该作者
modbus无非就是一个串口通信,串口能通,那么出现问题的就是数据方面了,自己看看程序里面有哪些地方不对的。
回复

使用道具 举报

5#
ID:94031 发表于 2021-10-20 11:01 | 只看该作者
你新工程的 STARTUP.A51 和原工程是不一样的,我移植后发送接收正常。
回复

使用道具 举报

6#
ID:964308 发表于 2021-10-20 18:30 来自手机 | 只看该作者
aking991 发表于 2021-10-20 08:20
源码在帖出来才会有人帮你看,你这要让人自己下载是要黑币的,谁会帮你呢

这个不需要黑币啊
回复

使用道具 举报

7#
ID:90212 发表于 2021-10-21 21:23 | 只看该作者
xuyaqi 发表于 2021-10-20 11:01
你新工程的 STARTUP.A51 和原工程是不一样的,我移植后发送接收正常。

感谢你的细心,确实不一样,但是我现在就算把这个覆盖进来编译了还是发送无反应。不过编译后的code大小一样了
回复

使用道具 举报

8#
ID:90212 发表于 2021-10-27 23:36 | 只看该作者
可以结贴了,就是xuyaqi说 的 STARTUP.A51 问题。
freemodbus用了一些重入函数,因此需要把这两个地方改一下:


其次是用了3个keil版本,新建项目直接将就STARTUP.A51拷过来编译还是不行,下载的最新版9.60a则正常了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表