|
1.时钟简介翻译3 u& T: c+ z+ L" R' s# C) L 时钟控制器设计非常强大,同时易于使用。 它的目的是在应用程序中获得最佳性能,同时获得全面受益于所有微控制器的省电功能。您可以管理CPU和各种外围设备的时钟分配,以便优化功耗。一个安全无故障的开关机制允许您切换系统时钟分频通过时钟预分频器在飞行中。 2.时钟系统研究" M: t* {* @2 b& Z9 ~ stm8有4个时钟源(高速外部时钟HSE,低速外部时钟LSE,高速内部时钟HSI,高速内部时钟),用户可以根据实际需求选择时钟,stm8的时钟也可以通过coo对外输出。最厉害的是外部时钟失效时,可以安全的切换成内部时钟。 1
3.怎么玩灯7 e4 g U" E& D9 V7 r4 G, K ' i2 i; a) `( s) g8 q4 C6 E& d5 q 改变系统时钟分频值可以改变系统主频,从而改变延时时间,可以使相同延时函数造成不同闪灯频率6 h, Q3 q% l$ O0 M- Z void main(void). k% @7 j4 [4 L {. k$ t- E, Q6 I' s% i6 g //init led0 led1 GPIO_Init(GPIOC, GPIO_Pin_0 | GPIO_Pin_1, GPIO_Mode_Out_PP_High_Slow); /* GPIOC->DDR |= 0x03; //配置PC0 PC1为输出模式 9 Z* L% p, R6 G# I- m GPIOC->CR1 |= 0x03; //配置PC0 PC1为推挽模式 GPIOC->CR2 &= 0xfc; //配置PC0 PC1输出速度2m* e& `. b5 m; A5 A" L0 h , @1 Q2 V- r0 l$ F7 m `*/ r2 G6 w/ b% u( O$ H; t$ D /* Infinite loop */1 q& e' `( }; Y. n3 m while (1) { CLK->CKDIVR |= 0xff;) H0 z5 P- g' I7 t' l GPIO_ToggleBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1);! O8 T( I, g; k# a/ a Delay(1600); GPIO_ToggleBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1); Delay(1600);1 T+ I; U- C$ l3 g2 O7 \: S, Y 4 {* W( W: F" l- R7 ?3 j CLK->CKDIVR &= 0x00; GPIO_ToggleBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1);1 `6 \/ @) E# \0 _3 |$ O$ I Delay(1600); GPIO_ToggleBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1); Delay(1600); " n" V& B: ^, J+ y$ W$ X$ m /* GPIOC->ODR |= 0x03; //熄灭5 W; p3 v: j# Q8 j/ F" `& Q Delay(1600);4 r, T6 N2 ^ k& M+ m& b8 b GPIOC->ODR &= 0xfc; //点亮 Delay(1600);8 S0 W/ t, d* \2 u, o& T1 b */ q1 R4 d) @- s* ^+ p' ? }$ K; u+ O5 Y3 S" W# U }! Z* _$ C9 ^! Z; F5 p ( Z( p$ ^9 x$ ~& b |
微信公众号
手机版