OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6581|回复: 10

51串口通信问题

[复制链接]

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2014-7-13
在线时间
19 小时
发表于 2018-3-4 10:56:14 | 显示全部楼层 |阅读模式
1金钱
请教各位,,51的串口如何才能接收大量的数据,在接收sim800发送过来的短信时,,至少要接收300-400字节,,,一次接收这么多的数据单片机频繁出现重启(已经加入看门狗)或接收数据不正确,,使用串口助手模拟sim800给单片机发送数据十几次后,单片机串口竟然不能工作,也无法下载程序,原有的程序也工作不正常了。不知什么原因

最佳答案

查看完整内容[请看2#楼]

换51 呀 内存-idata(低128data+高128) 扩展内存-xdata flash-code eeprom STC89C52RC data
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-3-4 10:56:15 | 显示全部楼层
lmywudi 发表于 2018-3-6 16:49
那像这样大于256的该怎样定义呢,data和idata肯定是不行了

换51 呀
                             内存-idata(低128data+高128)             扩展内存-xdata   flash-code   eeprom
STC89C52RC   data  <256(用idata修饰;没有用data <128)    xdata <256    code < 8k   eeprom <4k
STC12C5A60S2 data  <256(用idata修饰;没有用data <128)    xdata <1024   code <60k   eeprom <4k
STC8F2K64S2  data  <256(用idata修饰;没有用data <128)    xdata <2048   code <64k   eeprom <4k
STC8A8K64S4  data  <256(用idata修饰;没有用data <128)    xdata <8192   code <64k   eeprom <48k

回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-3-4 12:52:58 | 显示全部楼层
本帖最后由 275891381 于 2018-3-4 12:58 编辑

接收多少都没问题,就是这么大的数据接收的时候屏蔽其他中断,防止数据出错就可以了
还有就是89c52  data<256  xdata<256 这个么大的数组得分开处理,用别的51就一次接收就行了

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165369
金钱
165369
注册时间
2010-12-1
在线时间
2110 小时
发表于 2018-3-5 00:40:21 | 显示全部楼层
你是不是没内存了啊
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2014-7-13
在线时间
19 小时
 楼主| 发表于 2018-3-5 17:08:32 | 显示全部楼层
正点原子 发表于 2018-3-5 00:40
你是不是没内存了啊

内存768 ,,定义数组时用的xdata关键字,,不然内存寻址只能到256
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2014-7-13
在线时间
19 小时
 楼主| 发表于 2018-3-5 18:52:20 | 显示全部楼层
275891381 发表于 2018-3-4 12:52
接收多少都没问题,就是这么大的数据接收的时候屏蔽其他中断,防止数据出错就可以了
还有就是89c52  data

我担心是因为我加入了关键字xtata,但如果不这样,就超出寻址范围了
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-3-5 21:09:36 | 显示全部楼层
lmywudi 发表于 2018-3-5 18:52
我担心是因为我加入了关键字xtata,但如果不这样,就超出寻址范围了

89c52 xdata 最大也是256
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165369
金钱
165369
注册时间
2010-12-1
在线时间
2110 小时
发表于 2018-3-6 00:23:50 | 显示全部楼层
是啊,没外扩的话,用xdata并没卵用吧
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2014-7-13
在线时间
19 小时
 楼主| 发表于 2018-3-6 16:43:50 | 显示全部楼层
正点原子 发表于 2018-3-6 00:23
是啊,没外扩的话,用xdata并没卵用吧

好像是这样,,这样的话内存确实不够用了,
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2014-7-13
在线时间
19 小时
 楼主| 发表于 2018-3-6 16:49:18 | 显示全部楼层
275891381 发表于 2018-3-5 21:09
89c52 xdata 最大也是256

那像这样大于256的该怎样定义呢,data和idata肯定是不行了
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2014-7-13
在线时间
19 小时
 楼主| 发表于 2018-3-6 18:50:25 | 显示全部楼层
275891381 发表于 2018-3-6 17:08
换51 呀
                             内存-idata(低128data+高128)             扩展内存-xdata   fla ...

谢谢,明白了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-1 11:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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