久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

cortex M0 systick_config

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年08月17日   【字體:

 

 
 
 
static __INLINE uint32_t SysTick_Config(uint32_t ticks)
  if (ticks > SYSTICK_MAXCOUNT)  return (1);                          
 
  SysTick->LOAD  =  (ticks & SYSTICK_MAXCOUNT) - 1;          
  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);     
  SysTick->VAL   =  (0x00);                                                              
  SysTick->CTRL = (1 << SYSTICK_CLKSOURCE) | (1<<SYSTICK_ENABLE) | (1<<SYSTICK_TICKINT); 
  return (0);                                                                            
}
這是這個函數的定義,在core_cm3.h里面,是有返回值的,如果你設置的SystemFrequency / 1000不符合該函數要求就會返回1,這樣這個while循環是跳不出的,一直在循環,只有你設置的值符合要求,程序才能跳出循環繼續執行,這句話一般在SysTick_Config(SystemCoreClock / 1000);這句之后,上面這句已經配置好Systick的定時時間為1ms,緊接著 while(SysTick_Config(SystemFrequency / 1000)); 是判斷你配置的定時頻率是否可以實現,如果可以就繼續往下執行,如果不可以就一直停在這里。
 
 
 
 
 
SysTick_Config(uint32_t ticks):設置系統嘀嗒時鐘并使能中斷
 
         在STM32中與CM3內核描述不太一樣,這個時鐘源有兩個選擇:AHB/8和AHB,在該函數中是選擇了HCLK(SysTick_CTRL_CLKSOURCE_Msk),所以定時時間=ticks / HCLK,當要定時10ms,而HCLK為24MHz時,ticks = 10000 * 24 = 240000。
 
         如果需要選擇HCLK/8,可以直接修改這個函數,或在這個函數后跟隨misc中的SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)來設置。
 
關閉窗口
主站蜘蛛池模板: 午夜免费网站 | 日韩成人 | 99国产精品一区二区三区 | 日韩色综合 | 精品国产乱码久久久久久蜜柚 | 久久久久久国产精品 | 国产高清在线精品一区二区三区 | 日韩一区二区三区四区五区六区 | 欧美福利精品 | 日韩成人精品一区 | 精品视频一区二区 | 91啪影院| 亚洲a一区二区 | 激情av| 成人一区二区三区 | 成人在线观看网址 | 成人av在线网站 | 日韩欧美视频免费在线观看 | 日韩第一夜| 在线日韩视频 | 9191在线播放| 免费国产视频 | 亚洲福利一区二区 | 亚洲高清一区二区三区 | 久久久久久久电影 | 一级免费a | 久久久久久国产免费视网址 | 国产精品一区二区不卡 | 日韩成人在线观看 | 国产成人精品一区二区三区网站观看 | 3p视频在线观看 | 久久久久久久香蕉 | 色婷婷精品久久二区二区蜜臂av | 香蕉婷婷 | 国产精品日韩欧美一区二区三区 | 久久精品国内 | 国产精品一区二区久久 | 黑人精品 | 免费国产一区 | 日本福利视频免费观看 | 国产精品久久久久久久毛片 |