930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 13622|回复: 6

关于大数组定义

[复制链接]

10

主题

17

帖子

120

积分

注册会员

Rank: 2

积分
120
发表于 2017-9-18 19:59:43 | 显示全部楼层 |阅读模式
用IAP15W4K61S4开发板做串口通信遇到了很有趣的问题。数组定义为xdata。我将数组最大值设为250时,串口发送长字符串只能反回256个。最大值设为260或者更大时,程序只能收发一次,第二次就会卡死,依旧只能收到前256个。这个256数字比较敏感,难道是我定义xdata却用了ram而不是内部扩展ram?
回复

使用道具 举报

10

主题

37

帖子

142

积分

注册会员

Rank: 2

积分
142
发表于 2017-9-19 09:01:19 | 显示全部楼层
把程序部分截个图看看吧,256确实是个比较特殊的数字,也许你的推测是对的,但不好说,程序放上来,可能程序其他地方有DUG也说不定呢
回复 支持 反对

使用道具 举报

10

主题

17

帖子

120

积分

注册会员

Rank: 2

积分
120
 楼主| 发表于 2017-9-19 09:39:20 | 显示全部楼层
本帖最后由 奈莫斯与茱妮 于 2017-9-20 10:51 编辑
把沉默进行到底 发表于 2017-9-19 09:01
把程序部分截个图看看吧,256确实是个比较特殊的数字,也许你的推测是对的,但不好说,程序放上来,可能程 ...

图有点多,基本都是根据开发板例程改的。
回复 支持 反对

使用道具 举报

10

主题

17

帖子

120

积分

注册会员

Rank: 2

积分
120
 楼主| 发表于 2017-9-19 09:50:33 | 显示全部楼层
开发板例程里有一个串口1控制led灯,我试了下数组改到250正常,260也会卡死
回复 支持 反对

使用道具 举报

10

主题

37

帖子

142

积分

注册会员

Rank: 2

积分
142
发表于 2017-9-19 10:22:36 | 显示全部楼层
会不会串口的接收缓存寄存器限制呢,很可能这个问题哦
回复 支持 反对

使用道具 举报

10

主题

17

帖子

120

积分

注册会员

Rank: 2

积分
120
 楼主| 发表于 2017-9-19 13:52:37 | 显示全部楼层
把沉默进行到底 发表于 2017-9-19 10:22
会不会串口的接收缓存寄存器限制呢,很可能这个问题哦

找到问题了,计数参数设置错了。把char改成int就好用了
回复 支持 反对

使用道具 举报

10

主题

37

帖子

142

积分

注册会员

Rank: 2

积分
142
发表于 2017-9-19 14:14:21 | 显示全部楼层
恭喜恭喜啊
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

Copyright © 合肥艾克姆电子科技有限公司
快速回复 返回顶部 返回列表