社区导航

 
查看: 1840|回复: 8

[求助] 串口数据接收和发送不稳定,需要硬件复位

[复制链接]

4

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2018-5-17 15:17:13 | 显示全部楼层 |阅读模式
  自己写的stc12c5a60s2单片机程序,一个串口采集电流模块数据,一个定时器采集频率,将数据通过另一个串口发出,一开始上电可以采集一段时间数据,后来电流数据一直为0.00,频率数据正常,硬件复位以后又能正常工作,请教下大神们哪里出问题了 891C5FF7C5A49456B4EAC1322EC21242.png
此帖出自单片机论坛

test.c

5.65 KB, 下载次数: 3



回复

使用道具 举报

1万

TA的帖子

146

TA的资源

版主

Rank: 6Rank: 6

技术导师勋章

发表于 2018-5-17 16:22:06 | 显示全部楼层
信息太少,无法判断。
上传了一些书籍资料,也许有你想要的:http://download.eeworld.com.cn/user/chunyang


回复

使用道具 举报

1万

TA的帖子

146

TA的资源

版主

Rank: 6Rank: 6

技术导师勋章

发表于 2018-5-17 16:23:13 | 显示全部楼层
想得到及时、有效的帮助,先学会正确、完整的描述问题,并且越细化越好。
上传了一些书籍资料,也许有你想要的:http://download.eeworld.com.cn/user/chunyang


回复

使用道具 举报

4184

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2018-5-17 20:21:45 | 显示全部楼层
你看你的描述么。你就用到两个外设,一个串口,一个定时器。
先检查你的电路的硬件问题,如果硬件没有问题(主要关注点在晶振电路的设计和复位电路的设计,还有Vcc退耦及datasheet中一些关键的说明的地方),那么就去检查你写的软件的问题了。先调试串口,串口完全没有问题后。
可以考虑先用串口打印,在串口调试助手上监视一段时间的数据。

最后,以上没有问题,再考虑接入其他串口进行通信。


回复

使用道具 举报

4

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2018-5-17 22:23:08 | 显示全部楼层
huaiqiao 发表于 2018-5-17 20:21
你看你的描述么。你就用到两个外设,一个串口,一个定时器。
先检查你的电路的硬件问题,如果硬件没有问题 ...

硬件没有问题,当我输出16进制的数时候,一直调试没有问题,当我转换为字符串打包发送,检测一段时间以后会出现问题,定时器正常,所以测频率数据正确,但是前面3个数据不正常,一直为数组中的0.00,应该在哪里加一个看门狗程序吗

点评

串口通信还有一个因素是波特率,这个要看你的通信距离。 “检测一段时间以后会出现问题” 为啥先不用串口调试助手呢?串口打印有助于你数据到底对不对  详情 回复 发表于 2018-5-17 23:06


回复

使用道具 举报

4184

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2018-5-17 23:06:33 | 显示全部楼层
heguojian 发表于 2018-5-17 22:23
硬件没有问题,当我输出16进制的数时候,一直调试没有问题,当我转换为字符串打包发送,检测一段时间以后 ...

串口通信还有一个因素是波特率,这个要看你的通信距离。


“检测一段时间以后会出现问题”
为啥先不用串口调试助手呢?串口打印有助于你数据到底对不对


回复

使用道具 举报

4

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2018-5-17 23:43:43 | 显示全部楼层
huaiqiao 发表于 2018-5-17 23:06
串口通信还有一个因素是波特率,这个要看你的通信距离。


“检测一段时间以后会出现问题”
为啥先不 ...

我就是用的串口调试助手看的,波特率都是9600,就是检测设备有干扰,会让单片机好像失效一样

点评

因为你现场的环境我不知道,所以给你说不好。。。。。。 但是也有可能是你的程序的问题 。当然了你说的也有可能  详情 回复 发表于 2018-5-17 23:53


回复

使用道具 举报

4184

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2018-5-17 23:53:31 | 显示全部楼层
heguojian 发表于 2018-5-17 23:43
我就是用的串口调试助手看的,波特率都是9600,就是检测设备有干扰,会让单片机好像失效一样

因为你现场的环境我不知道,所以给你说不好。。。。。。

但是也有可能是你的程序的问题  。当然了你说的也有可能


回复

使用道具 举报

3521

TA的帖子

11

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

发表于 2018-5-20 02:21:46 | 显示全部楼层
检查一下,出问题的时候,采集的数是否正确。采集正确的话, 就检查,转发后是不是不对。看看程序逻辑处理哪里有问题。


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-10-23 03:51 , Processed in 0.259907 second(s), 17 queries , Gzip On, MemCache On.

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