Bài 3: xung nhịp đồng hồ của STM8S

huunho

Thạc sỹ
#1
Như các bạn biết thì xung nhịp clock là nguồn sống của VDK cũng như các ngoại vi của nó, liên quan tới tốc độ xử lý, truyền dữ liệu và mức tiêu thụ nguồn của VDK. STM8s có thể cấu hình để chọn 1 trong số các nguồn dao động sau bằng phần mềm: (gọi là nguồn dao động chủ :Máster clock source)
-- Nguồn dao động thạch anh ngoài tốc độ cao từ 1 đến 16 Mhz (HSE : high speed external)
-- Nguồn dao động ngoài tốc độ cao từ máy phát dao động lên tới 16Mhz ( HSE user ext)
-- Nguồn dao động nội RC tốc độ cao HSI : high speed internal
-- Nguồn dao động nội RC tốc độ thấp LSI : Low speed internal
Nguồn dao động chủ này cung cấp dao động cho CPU và các ngoại vi của nó, dao động chủ ,CPU và các ngoại vi đều có bộ chia tần số riêng. Tần số của HSI luôn là 16 Mhz và bị thay đổi do nhiệt độ, tần số thạch anh cũng thay đổi theo nhiệt nhưng ít hơn rất nhiều so với dao động RC. Khi re set tần số mặc định của CPu là 2Mhz và là dao động nội.
CLK_DeInit();// re set các thanh ghi clock
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8); //dao dộng f_Master = HSI/8 = 16/2 = 2 MHz
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV2); //dao đông cpu f_CPU = f_Master/2 = 1 MHz
while(CLK_GetFlagStatus(CLK_FLAG_HSIRDY)!=SET); //wait until HSI ready -- đợi HSI ổn định

Thư viện cấu hình dao động là stm8s_clk.c và .h có đầy đủ các hàm cho các bạn thao tác.
Nguồn dao động nội thì có thời gian đánh thức từ chế độ tắt nguồn, giảm nguồn nhở hơn so với dao động thạch anh.
 

why

Học sinh trung cấp
#2
làm 1 bài về giao tiếp STM8s với theo I2C để giao tiếp với DS1307 đi bạn.
 

huunho

Thạc sỹ
#4
ban vui lòng đợi mấy hôm, mình sẽ post lên
 

huunho

Thạc sỹ
#6
vậy lát nữa
 

ga_cong

Kỹ sư
#8
Các bác cho hỏi Timer thì hoạt động với F_cpu hay F_master ?
 

Quảng cáo Google