你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

LEIL5仿真问题

[复制链接]
gtygg 提问时间:2016-11-22 22:02 /
悬赏1ST金币未解决
大家好,用STM32串口发送数据,用串口助手接收到的数据校验码不正确
校验码存在send_buffer[9]   send_buffer[10]
本来应该是send_buffer[9]=0X21   send_buffer[10]=0X75

仿真监控发现send_buffer[9]=0X21'!'   send_buffer[10]=0X75'u'
请大家帮忙看看单引号里面的 i 和 u 是什么意思,谢谢



QQ截图20161122213319.png
收藏 评论8 发布时间:2016-11-22 22:02

举报

8个回答
cuyebiren 回答时间:2016-11-22 22:46:30
i 和 u 是 数值对应的 字符,你可以查一下 ASCLL 字符对照表,就知道了另外,看了下,串口调试助手只接收到 10 个字符,应该是你程序少发了一个,你仔细检查下

ASCLL码对照表.pdf

下载

38.53 KB, 下载次数: 2, 下载积分: ST金币 -1

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

creep 回答时间:2016-11-22 23:00:39
好想帮楼主把帖子的标题改成正确的。

i 和 u 就是对应的ASCII了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

freeelectron 回答时间:2016-11-23 08:39:18
是KEIL
gtygg 回答时间:2016-11-23 12:42:01
本帖最后由 gtygg 于 2016-11-23 12:53 编辑
cuyebiren 发表于 2016-11-22 22:46
i 和 u 是 数值对应的 字符,你可以查一下 ASCLL 字符对照表,就知道了另外,看了下,串口调试助手只接收 ...

谢谢,send_buffer[9]=0X21'!'   send_buffer[10]=0X75'u',我查看了你发给我的ASCLL表,
!对应0X21, u对应0X75,那也就是说,我程序里算的校验码是对的,而是我少发了一个字节造成的,也就是说仿真监控到的这种格式是对的是这样吗
gtygg 回答时间:2016-11-23 12:44:03
creep 发表于 2016-11-22 23:00
好想帮楼主把帖子的标题改成正确的。

i 和 u 就是对应的ASCII了。

谢谢你的指点,谢谢
gtygg 回答时间:2016-11-23 12:44:33

是的,是KEIL5软件写的
cuyebiren 回答时间:2016-11-23 13:54:36
gtygg 发表于 2016-11-23 12:42
谢谢,send_buffer[9]=0X21'!'   send_buffer[10]=0X75'u',我查看了你发给我的ASCLL表,
!对应0X21, u对 ...

! 和 u 是 Keil 的 字符 显示方式,如 十进制 显示 也是一种显示方式。
校验码计算的对不对我没法判定,但从你上位机的接收情况看,串口发送是对的,只是 少 发送了一个 字节,应该是 发送函数判定发送结束的条件 处 少判定了一个
gtygg 回答时间:2016-11-24 23:01:01
本帖最后由 gtygg 于 2016-11-24 23:03 编辑
cuyebiren 发表于 2016-11-23 13:54
! 和 u 是 Keil 的 字符 显示方式,如 十进制 显示 也是一种显示方式。
校验码计算的对不对我没法判定, ...

我监控程序了,我发的校验码,数据长度都是对的,我发 01 03 00 00 00 03  05 CB  ;
应该返回 01 03 06 00 00 00 00 00 00  21 75 才对 ;
但是返回的数据是 01 03 06 00 00 00 00 00 00  FF ,或者01 03 06 00 00 00 00 00 00  FD,这样不但校验码不对,而且还少一个字节;
但是我监控程序:send_buffer[0]=0X01; send_buffer[1]=0X03; send_buffer[2]=0X06; send_buffer[3]=0X00; send_buffer[4]=0X00; send_buffer[5]=0X00; send_buffer[6]=0X00; send_buffer[7]=0X00; send_buffer[8]=0X00; send_buffer[9]=0X21; send_buffer[10]=0X75;
要发送的数据长度为0X0B,如此看来是没有错的,但串口助手收到的的确不对,现在不知道问题出哪里了,我换成读1、2、4、5个寄存器返回的数据都是对的,附上图片,谢谢
QQ截图20161124230303.png

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版