精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

填坑-關(guān)于SysTick定時(shí)器

開(kāi)發(fā) 前端
本文主要介紹關(guān)于SysTick定時(shí)器的相關(guān)知識(shí),希望對(duì)你有幫助。

[[390601]]

本文主要來(lái)填坑,更正之前文章的錯(cuò)誤。也進(jìn)一步加深了我對(duì)SysTick定時(shí)器的理解,希望對(duì)你有幫助。

01坑的由來(lái)

在之前的推文中《STM32延時(shí)的四種方法》介紹了使用查詢定時(shí)器精確延時(shí),使用的就是systick定時(shí)器,具體代碼如下

  1. void delay_us(uint32_t nus) 
  2.   uint32_t temp
  3.   SysTick->LOAD = RCC_Clocks.HCLK_Frequency/1000000/8*nus; 
  4.   SysTick->VAL=0X00;//清空計(jì)數(shù)器 
  5.   SysTick->CTRL=0X01;//使能,減到零是無(wú)動(dòng)作,采用外部時(shí)鐘源 
  6.   do 
  7.   { 
  8.     temp=SysTick->CTRL;//讀取當(dāng)前倒計(jì)數(shù)值 
  9.   }while((temp&0x01)&&(!(temp&(1<<16))));//等待時(shí)間到達(dá) 
  10.   SysTick->CTRL=0x00; //關(guān)閉計(jì)數(shù)器 
  11.   SysTick->VAL =0X00; //清空計(jì)數(shù)器 
  12. void delay_ms(uint16_t nms) 
  13.   uint32_t temp
  14.   SysTick->LOAD = RCC_Clocks.HCLK_Frequency/1000/8*nms; 
  15.   SysTick->VAL=0X00;//清空計(jì)數(shù)器 
  16.   SysTick->CTRL=0X01;//使能,減到零是無(wú)動(dòng)作,采用外部時(shí)鐘源 
  17.   do 
  18.   { 
  19.     temp=SysTick->CTRL;//讀取當(dāng)前倒計(jì)數(shù)值 
  20.   }while((temp&0x01)&&(!(temp&(1<<16))));//等待時(shí)間到達(dá) 
  21.   SysTick->CTRL=0x00; //關(guān)閉計(jì)數(shù)器 
  22.   SysTick->VAL =0X00; //清空計(jì)數(shù)器 

對(duì)于《STM32延時(shí)的四種方法》文中所說(shuō)的內(nèi)容如下

也就是下面代碼中/8的原因。

  1. SysTick->LOAD = RCC_Clocks.HCLK_Frequency/1000/8*nms; 

我對(duì)此深信不疑,并在STM32F207參考手冊(cè)(RM0033)上找到“證據(jù)”。

上圖①處直接是8分頻,而不像②出的1/2/4/8分頻。所以我確信是SYSTICK的時(shí)鐘固定為HCLK時(shí)鐘的1/8。

我在學(xué)習(xí)RTThread的時(shí)候,看到配置SysTick定制器代碼如下

我心里一堆問(wèn)號(hào),STM32官方手冊(cè),明明寫(xiě)了SYSTICK的時(shí)鐘固定為HCLK時(shí)鐘的1/8。我使用示波器測(cè)量,RTThread的配置是沒(méi)有問(wèn)題,可以正常延時(shí)的。

02填坑

這個(gè)坑其實(shí)很簡(jiǎn)單,在《STM32延時(shí)的四種方法》也提到了,只是自己沒(méi)有注意這個(gè)細(xì)節(jié)。

位2置1,表示時(shí)鐘頻率為AHB,也就是默認(rèn)的120000000Hz。

位2清0,表示時(shí)鐘頻率為AHB/8,也就是120000000/8Hz。

RTThread配置為內(nèi)部時(shí)鐘

之前的文章配置為外部時(shí)鐘源


這個(gè)細(xì)節(jié)我沒(méi)有留意,導(dǎo)致我看RTThread代碼時(shí)有點(diǎn)懵逼。在這里我更正《STM32延時(shí)的四種方法》中的錯(cuò)誤描述

準(zhǔn)確的描述是:

SYSTICK的時(shí)鐘可以為HCLK時(shí)鐘的1分頻或8分頻,在這里我們選用外部時(shí)鐘源120M,所以SYSTICK的時(shí)鐘為(120/8)M。

特此更正。

關(guān)于這點(diǎn),STM32的標(biāo)準(zhǔn)外設(shè)庫(kù)提供的SysTick_Config函數(shù),也是使用內(nèi)部時(shí)鐘的

  1. /** \brief  System Tick Configuration 
  2.  
  3.     This function initialises the system tick timer and its interrupt and start the system tick timer. 
  4.     Counter is in free running mode to generate periodical interrupts. 
  5.  
  6.     \param [in]  ticks  Number of ticks between two interrupts 
  7.     \return          0  Function succeeded 
  8.     \return          1  Function failed 
  9.  */ 
  10. static __INLINE uint32_t SysTick_Config(uint32_t ticks) 
  11.   if (ticks > SysTick_LOAD_RELOAD_Msk)  return (1);            /* Reload value impossible */ 
  12.  
  13.   SysTick->LOAD  = (ticks & SysTick_LOAD_RELOAD_Msk) - 1;      /* set reload register */ 
  14.   NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Cortex-M0 System Interrupts */ 
  15.   SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */ 
  16.   SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk | 
  17.                    SysTick_CTRL_TICKINT_Msk   | 
  18.                    SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */ 
  19.   return (0);                                                  /* Function successful */ 

調(diào)用方法,產(chǎn)生1ms中斷調(diào)用方法

  1. SysTick_Config(SystemCoreClock / 1000); 

關(guān)于時(shí)鐘源的選擇,除了操作寄存器外,還有庫(kù)函數(shù)可以選擇。

  1. /** 
  2.   * @brief  Configures the SysTick clock source. 
  3.   * @param  SysTick_CLKSource: specifies the SysTick clock source. 
  4.   *   This parameter can be one of the following values
  5.   *     @arg SysTick_CLKSource_HCLK_Div8: AHB clock divided by 8 selected as SysTick clock source. 
  6.   *     @arg SysTick_CLKSource_HCLK: AHB clock selected as SysTick clock source. 
  7.   * @retval None 
  8.   */ 
  9. void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource) 
  10.   /* Check the parameters */ 
  11.   assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource)); 
  12.   if (SysTick_CLKSource == SysTick_CLKSource_HCLK) 
  13.   { 
  14.     SysTick->CTRL |= SysTick_CLKSource_HCLK; 
  15.   } 
  16.   else 
  17.   { 
  18.     SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8; 
  19.   } 

除上外,我找到了其他證據(jù)來(lái)說(shuō)明,SYSTICK的時(shí)鐘可以為HCLK時(shí)鐘的1分頻或8分頻。

在STM32CubeMx配置軟件中,可以選擇1分頻或8分頻。

03修改代碼驗(yàn)證

把《STM32延時(shí)的四種方法》文中涉及的代碼修改成1分頻的。

  1. void delay_ms(uint16_t nms) 
  2.   uint32_t temp
  3.   SysTick->LOAD = RCC_Clocks.HCLK_Frequency/1000*nms-1; 
  4.   SysTick->VAL=0X00;//清空計(jì)數(shù)器 
  5.   SysTick->CTRL=0X01; 
  6.   SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); 
  7.   do 
  8.   { 
  9.     temp=SysTick->CTRL;//讀取當(dāng)前倒計(jì)數(shù)值 
  10.   }while((temp&0x01)&&(!(temp&(1<<16))));//等待時(shí)間到達(dá) 
  11.   SysTick->CTRL=0x00; //關(guān)閉計(jì)數(shù)器 
  12.   SysTick->VAL =0X00; //清空計(jì)數(shù)器 

然后調(diào)用

  1. GPIO_SetBits(GPIOE,GPIO_Pin_4);  //熄滅LED燈                      
  2. delay_ms(500);//延時(shí)500ms 
  3. GPIO_ResetBits(GPIOE,GPIO_Pin_4);//點(diǎn)亮LED燈                      
  4. delay_ms(500);//延時(shí)500ms 

就踩到另一個(gè)坑,延時(shí)不準(zhǔn)。

原因是:此時(shí)SYSTICK時(shí)鐘頻率是120MHz的24位的倒計(jì)數(shù)定時(shí)器,也就是說(shuō)一個(gè)周期,最多定時(shí)139.810125ms。不能延時(shí)500ms。

這里再更正之前的一個(gè)錯(cuò)誤,如下圖

這個(gè)計(jì)數(shù)器的值,我們減去了1,這樣才更準(zhǔn)確。需要減1的具體原因在定時(shí)器講解的文章中講解過(guò)了,不明白的同學(xué)請(qǐng)看《STM32基礎(chǔ)定時(shí)器講解》。

04總結(jié)

總結(jié):STM32官方手冊(cè)并不一定是準(zhǔn)確的,要親自做實(shí)驗(yàn),自己動(dòng)手驗(yàn)證。這是個(gè)老生常談的問(wèn)題,大家都知道,關(guān)鍵還在于實(shí)踐。

 

責(zé)任編輯:姜華 來(lái)源: 知曉編程
相關(guān)推薦

2022-09-26 08:26:38

軟件定時(shí)器函數(shù)

2010-07-28 15:56:22

FlexTimer定時(shí)

2009-11-11 10:14:10

linux定時(shí)器操作系統(tǒng)

2011-02-23 10:20:45

2009-04-12 08:51:50

Symbian諾基亞移動(dòng)OS

2013-07-29 10:10:40

TCP協(xié)議TCP定時(shí)器TCP

2023-01-10 13:53:21

Linux定時(shí)器

2022-11-02 11:40:16

Flowable定時(shí)器流程

2023-08-02 09:26:03

軟件定時(shí)器鴻蒙

2025-06-27 09:11:08

2023-02-28 18:09:53

Javascript定時(shí)器

2014-12-09 16:30:18

TCP定時(shí)器

2025-09-08 04:00:00

2021-06-28 06:00:11

systemd定時(shí)器系統(tǒng)運(yùn)維

2021-04-18 12:12:29

systemd定時(shí)器系統(tǒng)運(yùn)維

2009-06-18 11:07:17

Spring fram

2017-03-06 14:08:38

JavaScript單線程setTimeout

2023-12-11 09:50:35

Linux定時(shí)器

2011-09-05 17:40:40

MTK定時(shí)器

2012-08-07 09:27:40

JavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

91国在线精品国内播放| 欧美一二三四区在线| 先锋影音网一区| 国产精品天天操| 日韩一级免费| 中文字幕成人精品久久不卡| 中文字幕55页| 欧美舌奴丨vk视频| 亚洲人成精品久久久久久| 国产精品嫩草在线观看| 亚洲视屏在线观看| 欧美日韩一视频区二区| 亚洲欧洲日产国产网站| 91亚洲一区二区| av电影一区| 亚洲乱码国产乱码精品精98午夜 | 日韩精品一区二区亚洲av| 色男人天堂综合再现| 亚洲第一av在线| 性欧美1819| 日韩av影片| 亚洲女与黑人做爰| 日韩av不卡播放| 狠狠人妻久久久久久综合麻豆 | 污污视频在线免费| 国产综合色区在线观看| 亚洲一级片在线观看| 亚洲欧美在线网| 四虎在线免费看| 国产成人精品亚洲午夜麻豆| 国产精自产拍久久久久久| 毛片视频网站在线观看| 欧美高清日韩| 日韩中文字幕在线免费观看| 成人国产精品久久久网站| 9l亚洲国产成人精品一区二三| 欧美日韩精品免费观看视频| 久久精品网站视频| 一区二区三区电影大全| 亚洲成av人片一区二区梦乃| 9l视频自拍9l视频自拍| 99reav在线| 国产嫩草影院久久久久| 欧美日韩一区二区三区免费| 日韩在线视频第一页| 国产精品一品二品| 成人性生交大片免费观看嘿嘿视频| 综合久久中文字幕| 久久精品天堂| 国产91久久婷婷一区二区| 成人午夜视频精品一区| 最新亚洲激情| 97精品在线观看| 四虎成人精品永久免费av| 牛夜精品久久久久久久99黑人| 久久亚洲私人国产精品va| 免费一级suv好看的国产网站| 经典一区二区| 在线免费观看羞羞视频一区二区| 亚洲av无码一区二区三区人| 精品av一区二区| 中文字幕精品久久| av黄色免费在线观看| 97精品国产福利一区二区三区| 综合激情国产一区| 女同久久另类69精品国产| 99热在线成人| 久久艹在线视频| 久久黄色免费网站| 欧美日韩免费| 68精品久久久久久欧美| 无码人妻丰满熟妇精品区| 日韩精品一二三区| 成人午夜激情免费视频| 国产青青草视频| 国产成人av网站| 精品国产乱码久久久久| 理论视频在线| 最新久久zyz资源站| 久久久久久久久网| 国产亚洲成av人片在线观看| 色婷婷av久久久久久久| 伊人影院综合在线| 亚洲精品不卡在线观看| 精品性高朝久久久久久久| 日韩视频在线观看免费视频| 天天超碰亚洲| 午夜剧场成人观在线视频免费观看| 黄色av一级片| 国产美女精品在线| 久久国产精品亚洲va麻豆| 粉嫩av在线播放| 亚洲精品成人悠悠色影视| 免费看国产曰批40分钟| 992tv国产精品成人影院| 91精品国产综合久久婷婷香蕉| 在线观看免费视频国产| 欧美在线电影| 午夜美女久久久久爽久久| 波多野结衣一区二区在线| 国产一区二区三区观看| 久久天天狠狠| 国产原创精品视频| 日韩欧美a级成人黄色| www.久久久久久久久久久| 国产精品午夜av| 久久精品视频免费播放| 日本天堂网在线| 国产成人在线影院| 日韩精品福利视频| www欧美xxxx| 欧美美女直播网站| 一本色道久久综合亚洲精品图片| 亚洲精品在线观看91| 欧美在线免费观看| 国产999久久久| 欧美国产精品中文字幕| 国产午夜大地久久| 亚洲午夜精品| 久久精品久久久久久| 波多野结衣视频免费观看| 成年人网站91| 日韩久久久久久久久久久久| 四虎精品永久免费| 亚洲日本中文字幕| 五月婷婷激情网| 国产精品69毛片高清亚洲| 先锋影音一区二区三区| 校园春色亚洲色图| 国产视频丨精品|在线观看| 久久午夜无码鲁丝片| 精品一区二区在线免费观看| 亚洲国产精品久久久久婷婷老年| 深夜av在线| 亚洲成色777777在线观看影院| 黑人操日本美女| 美女在线观看视频一区二区| 日本一区二区三区四区在线观看 | av中文字幕一区二区三区| 欧美日韩国产一区二区三区| 亚洲成年人av| 国产精品av一区二区| 亚洲一区二区三区香蕉| 国产乱色在线观看| 91精品国产美女浴室洗澡无遮挡| 成人信息集中地| 精品无人区卡一卡二卡三乱码免费卡| 日韩中文一区| 成人午夜在线| 中文字幕欧美国内| 一区二区三区在线免费观看视频 | 国产精品91一区二区| 中文字幕av导航| 成人噜噜噜噜| 欧美乱大交xxxxx| 亚洲va天堂va欧美ⅴa在线| 一区二区成人在线观看| 蜜桃视频无码区在线观看| 国产主播精品| 国产精品久久久久久久免费大片| 肉肉视频在线观看| 亚洲国产成人精品女人久久久| 日韩免费不卡视频| 97久久精品人人做人人爽50路| 国产黄页在线观看| 红桃成人av在线播放| 国产精品免费久久久久影院| 日本最黄一级片免费在线| 欧美一区二区三区的| 国产中文字字幕乱码无限| 91小视频在线观看| 成人午夜激情av| 91精品国产自产在线观看永久∴| 99电影在线观看| 美女视频在线免费| 伊是香蕉大人久久| www.色日本| 欧美性感美女h网站在线观看免费| 毛片aaaaaa| 国产一区二区剧情av在线| 97视频在线免费| 欧美理论电影大全| 成人av蜜桃| 亚洲综合av一区二区三区| 久久久999精品| 天堂av手机版| 欧美三级一区二区| 黄色一级免费视频| 久久久不卡影院| 日本一本在线视频| 久久天天综合| 今天免费高清在线观看国语| 少妇高潮一区二区三区| 成人看片人aa| 成人免费高清观看| 中文字幕日韩欧美在线 | 国产成人在线网站| 精品人妻一区二区三区四区在线| 国产在线日韩精品| 91九色国产视频| 婷婷电影在线观看| xvideos国产精品| 欧美一级做性受免费大片免费 | 青青草视频在线观看免费| 国产精品成人免费在线| 亚洲精品乱码久久久久久蜜桃图片| 国语自产精品视频在线看8查询8| 日本在线观看一区| 免费精品一区二区三区在线观看| 国产91av在线| av片在线观看网站| 中文字幕欧美亚洲| 黄色av小说在线观看| 欧美性色综合网| 国产一区二区播放| 中文一区在线播放| 日韩aaaaa| 久88久久88久久久| 乱人伦xxxx国语对白| 综合亚洲视频| 色999日韩自偷自拍美女| 国产精品白丝一区二区三区| 51精品国产黑色丝袜高跟鞋| 色yeye免费人成网站在线观看| 亚洲天堂第一页| 黄色片网站免费在线观看| 欧美色网站导航| 国产一级一级国产| 天天色天天操综合| 欧美成人精品一区二区免费看片| 久久久久久久久久久99999| 无码国产精品一区二区高潮| 国产欧美综合一区二区三区| 九九久久九九久久| 国产成人ay| 蜜桃av噜噜一区二区三区| 91精品啪在线观看国产爱臀 | 日韩在线观看一区二区三区| 国产国产精品人在线视| 黄色污网站在线观看| 欧美国产日韩中文字幕在线| 五月婷婷在线视频| 国产亚洲视频中文字幕视频| 精品视频三区| 亚洲免费伊人电影在线观看av| 蜜臀av免费在线观看| 91精品国产麻豆| 精品国产乱码一区二区三| 欧美日韩大陆一区二区| 免费看污视频的网站| 欧美午夜性色大片在线观看| 成人免费视频毛片| 亚洲国产精品麻豆| 久久久久久蜜桃| 亚洲人成精品久久久久| 日本黄色小说视频| 亚洲精品高清在线观看| 人妻少妇精品一区二区三区| 亚洲国产一区二区在线播放| 毛片a片免费观看| 亚洲综合丝袜美腿| 国产精品二区一区二区aⅴ| 五月婷婷久久丁香| 亚洲日本韩国在线| 欧美日韩性生活视频| 福利网址在线观看| 色屁屁一区二区| 凹凸精品一区二区三区| 欧美日韩色综合| 国产精品福利电影| 欧美一区日韩一区| 性网爆门事件集合av| 日韩高清有码在线| 韩国精品视频| 最近2019中文免费高清视频观看www99 | av中文天堂在线| 在线播放国产精品| 日本黄色片在线观看| 美日韩在线视频| 岛国毛片av在线| 国产精品福利久久久| 懂色aⅴ精品一区二区三区| 成人国产精品久久久| 美女呻吟一区| 日韩在线电影一区| 91精品国产91久久久久久黑人| 国风产精品一区二区| 另类天堂av| 污网站免费在线| 国产精品亚洲а∨天堂免在线| 精品人妻一区二区免费视频| 国产日产欧美精品一区二区三区| 看黄色录像一级片| 亚洲网友自拍偷拍| 影音先锋国产资源| 精品国产一区二区三区久久影院| 神马亚洲视频| 欧美成年人在线观看| 国产免费不卡| 91精品在线观看视频| 福利在线一区| 神马影院我不卡| 欧美日韩蜜桃| 成人综合久久网| 91视频在线看| 久久中文字幕在线观看| 一本大道av一区二区在线播放| 国产三级小视频| 亚洲色图第一页| 久色国产在线| 国产精品一区二区三| 日韩激情网站| 日本久久高清视频| 天堂va蜜桃一区二区三区漫画版| 国产一线在线观看| 国产精品乱人伦| 日韩在线视频免费播放| 欧美日韩一二区| 国产高清视频在线| 国语自产精品视频在线看| 精品国产免费人成网站| 亚洲最大成人网色| 黄色不卡一区| 国产精品99久久免费黑人人妻| 国内久久婷婷综合| 无码人妻aⅴ一区二区三区69岛| 一区二区三区中文免费| 波多野结衣小视频| 日韩精品在线观看网站| 日日夜夜天天综合入口| 成人激情综合网| 国产永久精品大片wwwapp| 国模吧无码一区二区三区| 国产精品99精品久久免费| 国产成人免费在线观看视频| 精品久久久中文| 人人妻人人澡人人爽久久av | 福利影院在线看| 国产精品v欧美精品∨日韩| 香蕉国产精品| 中文字幕 91| 亚洲欧美自拍偷拍| 中文字幕在线一| 日韩中文字幕av| 亚洲精品tv| 在线成人av电影| 麻豆一区二区三| avtt天堂在线| 欧美一区二区高清| 超碰在线最新| 99久久综合狠狠综合久久止| 欧美激情第10页| 国产视频1区2区3区| 一区视频在线播放| 国产一区二区麻豆| 色七七影院综合| 免费一级欧美在线观看视频| 亚洲人成网站在线观看播放| 日韩高清欧美激情| 人与动物性xxxx| 欧美另类高清zo欧美| 免费在线看黄网站| 亚洲永久免费观看| 欧美1区2区视频| 亚洲成年人av| 在线视频你懂得一区二区三区| 黄色av网站在线| 日韩av第一页| 97视频精品| 亚洲欧洲国产视频| 一本久久综合亚洲鲁鲁五月天 | 中文字幕亚洲一区二区三区五十路 | 最近2019中文字幕大全第二页| 高清一区二区三区av| 日韩精品一区二区三区电影| 国产成人精品免费一区二区| 全部毛片永久免费看| 亚洲人成欧美中文字幕| 日韩午夜电影免费看| 精品成在人线av无码免费看| 久久综合给合久久狠狠狠97色69| 中文字幕视频一区二区| 九九热最新视频//这里只有精品| 日韩欧美国产大片| 在线观看免费的av| 黑人欧美xxxx| 激情在线小视频| 久久久久久国产精品一区 | 欧美网站在线观看| 欧美香蕉爽爽人人爽| 国产日韩专区在线| 亚洲天堂偷拍| 欧美大波大乳巨大乳| 欧美日本视频在线| zzzwww在线看片免费| 这里只有精品66| 波多野结衣一区二区三区| 黄色在线免费观看| 久久综合久久美利坚合众国| 欧美调教在线|