找回密码
 立即注册
查看: 115|回复: 9

STC8H 关于频率的小疑问

[复制链接]
  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 97 天

    [LV.6]常住居民II

    11

    主题

    170

    回帖

    550

    积分

    高级会员

    积分
    550
    发表于 2024-5-10 09:04:46 | 显示全部楼层 |阅读模式
    8H 的运行时钟频率,是不是就是在下载时候,软件上选择的频率?

    程序代码中这个宏定义,只是为了计算延时等定义的,并不是真实的运行频率。
    代码中的这个宏定义和下载的是不一样,只是延时函数或者其它计算上有差别。
    #define MAIN_Fosc                24000000L
    回复 送花

    使用道具 举报

    该用户从未签到

    566

    主题

    9959

    回帖

    1万

    积分

    管理员

    积分
    14443
    发表于 2024-5-10 09:14:13 | 显示全部楼层
    这只是1个宏定义,宏声明,方便你通知编译器帮你计算,定时器,串行口的处置
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    11

    主题

    170

    回帖

    550

    积分

    高级会员

    积分
    550
     楼主| 发表于 2024-5-10 10:06:57 | 显示全部楼层
    神农鼎 发表于 2024-5-10 09:14
    这只是1个宏定义,宏声明,方便你通知编译器帮你计算,定时器,串行口的处置 ...

    嗯,我看ARM在配置系统时钟的时候,是在代码中配置的,                        
    8H的在看库函数的时候,发现这个好像就是个宏定义,计算延时函数等用到的。
    真正的时钟频率,是下载的时候软件选择的时钟频率。
    这样理解是对的吧。
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    0

    主题

    254

    回帖

    670

    积分

    高级会员

    积分
    670
    发表于 2024-5-10 10:12:10 | 显示全部楼层
    软件上选择的频率是使用内部RC振荡器时的运行频率,最好与#define MAIN_Fosc语句设定的一致,否则会造成定时不准、串口波特率不对等问题

    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    9

    主题

    1047

    回帖

    1932

    积分

    金牌会员

    积分
    1932
    发表于 2024-5-10 15:52:10 来自手机 | 显示全部楼层
    ARM大部分是8m晶振和32.768一起都焊,还有内部rc振荡,但是都是一个频率,通过pll来控制频率,stc就那几个频率选,但也可以pll升降频了。

    点评

    有一点不太认同,STC的频率是可以在1MHz~芯片最大时钟频率范围内自由编辑设置的,比如5.678MHz,并不是固定几个档位。而且还支持程序追频,单片机在工作状态下动态的调整IRC时钟的频率。  详情 回复 发表于 2024-5-10 23:04
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    16 小时前
  • 签到天数: 128 天

    [LV.7]常住居民III

    18

    主题

    535

    回帖

    817

    积分

    荣誉版主

    热心市民

    积分
    817
    发表于 2024-5-10 23:04:40 | 显示全部楼层
    soma 发表于 2024-5-10 15:52
    ARM大部分是8m晶振和32.768一起都焊,还有内部rc振荡,但是都是一个频率,通过pll来控制频率,stc就那几个 ...

    有一点不太认同,STC的频率是可以在1MHz~芯片最大时钟频率范围内自由编辑设置的,比如5.678MHz,并不是固定几个档位。而且还支持程序追频,单片机在工作状态下动态的调整IRC时钟的频率。
    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    11

    主题

    170

    回帖

    550

    积分

    高级会员

    积分
    550
     楼主| 发表于 2024-5-11 07:48:58 | 显示全部楼层
    xxxevery 发表于 2024-5-10 10:12
    软件上选择的频率是使用内部RC振荡器时的运行频率,最好与#define MAIN_Fosc语句设定的一致,否则会造成定 ...

    明白了,谢谢
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    6

    主题

    277

    回帖

    495

    积分

    中级会员

    积分
    495
    发表于 2024-5-11 08:58:45 | 显示全部楼层
    学习了
    回复 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2 小时前
  • 签到天数: 168 天

    [LV.7]常住居民III

    21

    主题

    1249

    回帖

    3039

    积分

    论坛元老

    积分
    3039
    发表于 2024-5-11 13:15:52 | 显示全部楼层
    晓飛飛 发表于 2024-5-10 23:04
    有一点不太认同,STC的频率是可以在1MHz~芯片最大时钟频率范围内自由编辑设置的,比如5.678MHz,并不是固 ...

    自由啊,,不太自由,,
    确实是可以改,但是需要使用   专业的设备 校准。自己在程序里面调出来一个想要的频率,也不是所有的但单片机都支持,,
    相比于修改PLL调整倍频数来获得想要的系统时钟要麻烦,,
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.5]常住居民I

    6

    主题

    87

    回帖

    293

    积分

    荣誉版主

    积分
    293
    发表于 2024-5-11 22:03:49 | 显示全部楼层
    #define main_fosc 24000000L仅仅用于计算,计算时用main_fosc。时钟频率用软件设置或者用专门修改时钟频率的函数修改。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-15 17:30 , Processed in 0.071056 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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