论坛元老
 
- 积分
- 4522
- 金钱
- 4522
- 注册时间
- 2018-5-11
- 在线时间
- 947 小时
|
发表于 2019-5-16 22:05:44
|
显示全部楼层
原子的系统时钟是72M的,
72M/8000000=9是为了得到分频因子,
即9个周期为1us
看下面的注释:
// SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //此句与下句等效,BIT2为SYSTICK时钟选择,0为HCLK/8,1为HCLK
// SysTick->CTRL &= ((uint32_t)0xFFFFFFFB); //置BIT2为0(复位值,所以此句可无),即选择外部时钟源HCLK/8 即9M(计数器每拍为1/9000000秒)
// SysTick->CTRL |=1<<2; //置BIT2为1,即选择外部时钟源HCLK 即72M(计数器每拍为8/9000000秒)
// fac_us=9; //对于72M的系统来说,fac_us=72000000/8000000=9 即9拍一个微秒
// SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk; //开启SYSTICK中断
// SysTick->LOAD=fac_us*1000-1; //装载值设定为9*1000-1=8999 即每ms中断一次 |
|