3792|3

74

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

IO模拟串口,但存在些定时器方面问题,希望高手指点一下, [复制链接]

由于uart口做了其它用途,板子上剩了1个IO口,为了完成串口功能,用该IO口完成串口功能,

看了看网上的资料,分为两步完成该程序,第一步,定时器定时,第二步,用与位计算,检查输出位电平,高的话输出口置1,低的话输出口置0,

片子用的晶振是32768的,需要的波特率是9600,我查了资料,计算方法是  晶振频率/波特率,TBCCR0的值可以这样算出,算出来是3.5,于是先设为7计算4800的波特率,发现在串口上得到的数据不正确,考虑了一下可能是程序中有一些命令延迟了时间,导致时间不符,于是改小了该数据,得到了正确的数据,于是对9600的实现上,我依然采用了这样的方法,使用了较小的数据,利用增加了NOP命令的方法延迟了时间,得到了正确的收到数据,

但是问题也出来了,那么TBCCR0中存的数值究竟是什么意思,这个时钟和程序中一条指令的时钟之间有什么关系,看来这两个时钟并不是完全一致的,那么他们又有什么关系,看来晶振的周期要比指令的周期要长一些,对于系统的时钟还是不明白,请各位帮忙指点一下,麻烦了。谢谢

最新回复

看你选择的时钟啊。cpu的看看寄存器选择的是内部的dco还是外部的晶振时钟,定时器的也是有选的,是aclk还是什么的。要自己选的。肯定是你没把设定时钟寄存器搞明白  详情 回复 发表于 2011-8-16 12:02
 
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
自己顶一下,,,如果有人指点一下需要参考哪些书籍也行啊。。。杯具了。。诶,,,,,,
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
看你选择的时钟啊。cpu的看看寄存器选择的是内部的dco还是外部的晶振时钟,定时器的也是有选的,是aclk还是什么的。要自己选的。肯定是你没把设定时钟寄存器搞明白
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(高级)

4
 
谢谢啊,,刚接手这类的板子,以前从来没用过,,很多该会的东西都没掌握。。呵呵
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表