找回密码
 立即注册
查看: 74|回复: 6

请教STC8串口通信初值计算问题

[复制链接]
  • TA的每日心情
    开心
    昨天 12:14
  • 签到天数: 114 天

    [LV.6]常住居民II

    10

    主题

    46

    回帖

    688

    积分

    高级会员

    积分
    688
    发表于 2024-5-9 16:45:24 | 显示全部楼层 |阅读模式
    STC8H单片机,串口通信时,采用1T模式,T3做定时器,
    范例中给出的初值计算为

    (65536-(MAIN_Fosc/Baudrate/4))

    搞不清楚式中的4是哪来的?
    所谓波特率就是定时器的溢出率
    假设初值为X
    一次溢出所需时间=(65536-X)/MAIN_Fosc
    那么溢出率,即波特率为
    Baudrate=1/(65536-X)/MAIN_Fosc

    那么初值X为,
    X=65536-MAIN_Fosc/Baudrate
    范例中的4是哪来的?




    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    13 小时前
  • 签到天数: 163 天

    [LV.7]常住居民III

    27

    主题

    1439

    回帖

    4492

    积分

    论坛元老

    积分
    4492
    发表于 2024-5-9 16:54:54 | 显示全部楼层
    规格书里有介绍串口波特率计算公式:
    截图202405091654288180.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    16

    主题

    730

    回帖

    2638

    积分

    超级版主

    积分
    2638
    发表于 2024-5-9 17:05:30 | 显示全部楼层
    计算公式中的4代表4倍采样
    也就是硬件会对串口信号的每个bit都采样4次,以确保采样的信号是稳定的

    (传统的8051的串口1是16倍采样)
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 12:14
  • 签到天数: 114 天

    [LV.6]常住居民II

    10

    主题

    46

    回帖

    688

    积分

    高级会员

    积分
    688
     楼主| 发表于 2024-5-9 17:19:57 | 显示全部楼层
    zhp 发表于 2024-5-9 17:05
    计算公式中的4代表4倍采样
    也就是硬件会对串口信号的每个bit都采样4次,以确保采样的信号是稳定的

    感谢!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    24 分钟前
  • 签到天数: 100 天

    [LV.6]常住居民II

    9

    主题

    1025

    回帖

    1880

    积分

    金牌会员

    积分
    1880
    发表于 2024-5-20 08:42:56 来自手机 | 显示全部楼层
    原来串口波特率是这样计算的啊,如果采用12t在除以12,正常除以4或者16看几倍采样
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    14 小时前
  • 签到天数: 63 天

    [LV.6]常住居民II

    6

    主题

    274

    回帖

    481

    积分

    中级会员

    积分
    481
    发表于 2024-5-20 09:20:17 | 显示全部楼层
    学习了
    回复 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3173

    回帖

    7169

    积分

    超级版主

    积分
    7169
    发表于 2024-5-24 13:22:30 | 显示全部楼层
    4是硬件决定的,是串口模块需要4个串口时钟处理一个bit,以前老51是16个串口时钟。
    串口接收是需要串口时钟来驱动的,串口时钟=fosc/baudrate。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-6-13 22:10 , Processed in 0.064854 second(s), 55 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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