STC12C系列串口调试出错

[复制链接]
6397|8
 楼主| Mindor 发表于 2010-4-3 09:41 | 显示全部楼层 |阅读模式
用的单片机是STC12C5410AD,我设置的波特率是9600bps,可是到了串口调试助手却要求改成4800bps才能勉强把大部分数据接收正确,还有少数乱码。

注:PCON是默认状态,也就是说是工作在12T状态下的。
      串口工作在方式1下。
      应该不是串口转换的问题,换了其他程序没问题。
      应该也不是串口调试助手的问题,换了几个调试助手也没用。

  1. /***********************************
  2. **函数名称:ser_init()
  3. **输入参数:无
  4. **输出参数:无
  5. **功能描述:串行口通信初始化
  6. ************************************/
  7. void uart_init()
  8. {
  9. TMOD = 0x20;  //定时器1工作方式2
  10. TL1  = 0xfd;  //波特率为9600bps
  11. TH1  = 0xfd;
  12. TR1  = 1;
  13. SM0  = 0;  //串行口通信方式1
  14. SM1  = 1;
  15. REN  = 0;  //禁止串行口接收
  16. ES   = 0;  //关闭串行口中断
  17. }
歪 歪 发表于 2010-4-3 10:48 | 显示全部楼层
用这个工具调试一下,抓的都是原始包,变波特率也不怕。

下载地址:
http://download.cnet.com/ComTrac ... 6892.html?tag=mncol

感觉好别忘了给个review(评论),谢谢!
leolle 发表于 2010-4-3 11:47 | 显示全部楼层
还是仔细看一下你的TH TL吧,算准确一点
hyg1984 发表于 2010-4-3 11:52 | 显示全部楼层
我用过STC12C506S2,窜口能正常运行啊,而且波特率可以设置得很高。

看了你的初始化,是不是你的波特率计算错了?我记得算波特率的时候有很多方式,有很多计算的,并不是跟STC89C51一样,有什么独立波特率发生器什么的--------建议你认真看看DATASHEET
sipueay 发表于 2010-4-3 13:36 | 显示全部楼层
看看你的晶振吧, 是否是11.0592的
 楼主| Mindor 发表于 2010-4-3 18:31 | 显示全部楼层
1# Mindor
我知道了~哈哈
用STC-ISP下载的时候默认的时钟源始内部RC振荡器,改成外部的就行了,我是外接晶体振荡器的~
lirunze 发表于 2010-4-3 19:50 | 显示全部楼层
STC单片机,到底怎么样啊!
zhiyonghe 发表于 2010-4-4 09:41 | 显示全部楼层
STC 的单片机还可以吧?玩过一段时间
zdhlixiang2006 发表于 2010-4-4 13:21 | 显示全部楼层
STC的不错啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

413

帖子

1

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