本帖最后由 TLLED 于 2019-1-20 16:58 编辑 V' w. S4 k* D; ?; z STM8 SO8封装的没有外部晶振,使用的是内部时钟,通过时钟配置,使用CCO输出内部时钟,用示波器查看正确性。 ' ]; @! C4 B8 R! ~* t 一、时钟部分介绍 5 W5 S5 u/ t& X9 D h- }+ `) x 1.1、时钟框图7 s2 `& `# F; s7 K V1 k ( E& @6 P2 [! o# d( W; k6 C. c& W 8 q1 u* _9 s0 O1 L, }" a* b 程序中设置HSIDIV[1:0]和CPUDIV[2:0]的值来改变系统时钟。通过CCOSEL[3:0]来选择输出时钟源 主时钟切换开关选择,由于STM8上电默认选择的是HSI RC内部时钟,所以CKM[7:0]这个就不设置,使用默认值。& a8 q. X7 _2 d' h5 r! `3 @ 1.2、手册中有关主时钟切换介绍:. I" j8 J7 x; w 二、程序部分 2.1、CCO输出HSI RC 没有分频时钟频率# e1 f8 d1 T4 f. a 2.1.1、程序代码% k) z0 f1 M* ^: B& t7 Z 2.1.2、执行结果 数出的频率是15.69M" O- W& T* B; F$ n3 J4 P0 C 2.2、CCO输出HSI RC 2分频时钟频率( P) U# D( c5 D9 t 2.2.1、程序代码 2.2.2、执行结果 输出的频率是7.89M,' ?' ?! ?* T4 m7 I# V+ r. u* } " X- {0 y9 K% Y3 c 我这里只列了这两个值,需要看其他的频率可以修改CCOSEL[3:0]的值。 三、硬件部分 CCO时钟输出脚和按键功能脚是一个引脚,在测试CCO时钟输出时,需要将SB2电阻去掉,否则,频率高的话,会被C12电路旁路掉,示波器就看不出来时钟。 |
电容会影响这个信号的,我设置为16M输出,外接电容后,示波器就测量不出信号,频率低的话还好些,会影响信号波形