2490|4

71

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

串口程序不稳定 [复制链接]

1芯积分
请高手支招:我用Cyclone III做串口发送程序,现在用固定值调试,0为起始位,两个停止位,偶尔会出现错误。比如,我把固定值设置为B6,每次发送n个。一次发送了n个B6,但是下一次可能会发送n个3B或n个67。
把这3种可能写成发送码为:B6--0 0110 0101 11
             3B--0 0101 1100 11
             67--0 1110 0110 11

感觉应该是不同步造成的,但是不知道如何修正,请高手支招,谢谢!

此帖出自FPGA/CPLD论坛

最新回复

应该是波特率没同步,将FPGA的计数进行修改,让波特率更精确  详情 回复 发表于 2012-11-30 17:18
点赞 关注
 

回复
举报

1万

帖子

141

TA的资源

版主

沙发
 
你用存储示波器看一下波形和脉冲宽度,很多情况下是波特率误差过大导致的。
此帖出自FPGA/CPLD论坛
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

应该是波特率不精确,有时候停止位设为1位和两位,连接PC时候都可以通信

此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

4
 

可以肯定是你的程序设计问题,发送时序出问题,一定要确保每次发送的码元是一个波特率周期的宽度。从你上面的现象看,可能存在下面的问题:

1. 发送时钟精度不够!

2. 发送间隔太短!

3. 发送码元长度不准确。

如果需要详细诊断问题,请贴出你的代码,让大家分析一下!

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

5
 
应该是波特率没同步,将FPGA的计数进行修改,让波特率更精确
此帖出自FPGA/CPLD论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表