[Actel FPGA] core8051串口通信波特率是和at89c51一样计算吗?

[复制链接]
3039|4
 楼主| junxiu6 发表于 2008-3-5 14:49 | 显示全部楼层 |阅读模式
core8051串口通信波特率是和at89c51一样计算吗?用8951的波特率设置,串口调试不正确,请斑竹指点.<br />设置如下:<br />TH1=(unsigned&nbsp;char)&nbsp;(256-(XTAL/(384L*baudrate)));<br />串口通信:方式1<br />定时器T1:方式2<br />SMOD:0<br />XTAL:10M<br />baudrate:9600<br />运行后,无法得到正确数据.不知道具体哪里有问题.希望斑竹指点迷津.<br />另外,core8051有详细user&nbsp;guide吗?CD中无相关资料,同时希望斑竹发布.谢谢.
zlgactel 发表于 2008-3-5 16:49 | 显示全部楼层

core8051串口通信波特率

core8051串口通信波特率TH1=256-(XTAL/16*12*baudrate)<br />
zlgactel 发表于 2008-3-5 16:51 | 显示全部楼层

core8051更为详细的user guide

core8051更为详细的user&nbsp;guide可参考www.actel.com
 楼主| junxiu6 发表于 2008-3-5 19:05 | 显示全部楼层

看了core8051 ds

Generating&nbsp;Variable&nbsp;Baud&nbsp;Rate&nbsp;in&nbsp;Modes&nbsp;1&nbsp;and&nbsp;3.<br />In&nbsp;Modes&nbsp;1&nbsp;and&nbsp;3,&nbsp;the&nbsp;Timer&nbsp;1&nbsp;overflow&nbsp;rate&nbsp;is&nbsp;used&nbsp;to<br />generate&nbsp;baud&nbsp;rates.&nbsp;If&nbsp;Timer&nbsp;1&nbsp;is&nbsp;configured&nbsp;at&nbsp;auto&nbsp;in<br />auto-reload&nbsp;mode&nbsp;to&nbsp;establish&nbsp;a&nbsp;baud&nbsp;rate,&nbsp;the&nbsp;following<br />equation&nbsp;is&nbsp;useful:<br />Baud&nbsp;Rate&nbsp;=2^SMOD&nbsp;×&nbsp;fosc/(32&nbsp;×&nbsp;12&nbsp;×(256&nbsp;-&nbsp;th1)).<br />th1=256-(2^smod)/(32*12*baud&nbsp;rate)<br />那么问题的症结应该在于smod的取值,如一楼所取smod=0的话,则一楼公式应该是对的.而smod=1时应该是版主二楼公式.而在很多资料中只是写到smod对模式2的影响.<br />不确定smod对方式1,3的影响是不是如我所认为的.我掌握的知识不好,希望版主指点.<br />
 楼主| junxiu6 发表于 2008-3-6 20:19 | 显示全部楼层

done

已经解决此问题,谢谢斑竹的回复。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部