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

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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版