精品欧美一区二区三区在线观看 _久久久久国色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)

国产精品极品国产中出| 少妇太紧太爽又黄又硬又爽小说| 国产在线视频99| 日本一区福利在线| 精品视频一区 二区 三区| 亚洲成年人专区| 国产又爽又黄网站亚洲视频123| 久久精品人人| 欧美第一页在线| 国产成人精品无码免费看夜聊软件| 日韩五码电影| 富二代精品短视频| 精品少妇人妻av一区二区| 亚洲人妻一区二区三区| 国产麻豆精品在线| 国产高清在线不卡| 国产一级一片免费播放| 91亚洲人成网污www| 亚洲高清一二三区| www.五月天色| jvid一区二区三区| 精品久久久一区二区| 亚洲AV无码成人精品一区| 视频国产在线观看| 福利91精品一区二区三区| 国产精品夜色7777狼人| 在线观看日韩中文字幕| 亚洲天堂男人| 超薄丝袜一区二区| 三级黄色片在线观看| 亚洲小说图片| 日韩高清av一区二区三区| 日本亚洲一区二区三区| 精品九九久久| 欧美在线高清视频| 成年人免费在线播放| av漫画网站在线观看| 亚洲综合免费观看高清完整版| 一区在线电影| 3p在线观看| 国产女人18毛片水真多成人如厕| 久久99九九| 噜噜噜久久,亚洲精品国产品| 国产美女精品在线| 91久久精品久久国产性色也91| 姑娘第5集在线观看免费好剧| 亚洲欧美日韩在线观看a三区 | 国产精品日韩欧美大师| 圆产精品久久久久久久久久久| 国内精品久久久久久久影视蜜臀| 久久亚洲综合国产精品99麻豆精品福利| 亚洲а∨天堂久久精品2021| 欧美人与物videos另类xxxxx| 日韩电影网在线| 中国av免费看| 神马日本精品| 亚洲欧美一区二区三区情侣bbw| 加勒比一区二区| 久久99国产精一区二区三区| 国产亚洲欧美日韩精品| 欧美黄色激情视频| 色婷婷亚洲mv天堂mv在影片| 色青青草原桃花久久综合| 99在线视频免费| 清纯唯美日韩| 久久久精品在线| 日韩成人短视频| 欧美日韩国产免费观看| 久久久久久久久久久免费 | 久cao在线| 亚洲黄一区二区三区| 欧美高清中文字幕| 欧美亚洲日本精品| 欧美性生交片4| 五月六月丁香婷婷| 国产伦理久久久久久妇女| 亚洲黄色av女优在线观看 | 亚洲精品日韩综合观看成人91| 97超碰人人爱| 日本а中文在线天堂| 在线视频中文字幕一区二区| 亚洲国产成人va在线观看麻豆| 日韩中文字幕在线一区 | 成人综合影院| 一区二区三区在线高清| 欧美v在线观看| 欧洲美女精品免费观看视频| 精品国产制服丝袜高跟| 熟女俱乐部一区二区| 国产精品国产三级国产在线观看| 欧美激情视频在线观看| 免费看一级视频| 麻豆精品蜜桃视频网站| 高清日韩一区| 成人精品一区二区三区免费| 樱桃国产成人精品视频| 熟女人妇 成熟妇女系列视频| 不卡一区视频| 亚洲精品有码在线| 日韩女优一区二区| 日韩电影在线免费观看| 国产精品久久精品国产| 大乳在线免费观看| 亚洲国产日韩精品| 国产无色aaa| 国产成人手机高清在线观看网站| 插插插亚洲综合网| www.亚洲激情| 99久久伊人久久99| youjizz.com亚洲| 毛片无码国产| 精品国产在天天线2019| 中文字幕无码日韩专区免费| 噜噜爱69成人精品| 国产成人精品免费视频大全最热| 黄色软件在线| 五月婷婷综合在线| 久久久精品视频国产| 国产调教一区二区三区| 97香蕉超级碰碰久久免费的优势| 国产乱淫a∨片免费视频| 国产欧美日韩综合| 91精品91久久久中77777老牛| 亚洲天堂av资源在线观看| 日韩中文字幕欧美| www毛片com| 91丨porny丨首页| 久久久99精品视频| 成人在线视频国产| 在线电影av不卡网址| 天天干天天干天天| 成人精品亚洲人成在线| 国产四区在线观看| 日日夜夜综合| 日韩在线小视频| www.久久网| 国产夜色精品一区二区av| 18岁网站在线观看| 欧洲亚洲视频| 91超碰caoporn97人人| 午夜精品久久久久久久第一页按摩 | 日韩一级免费观看| 国产老头老太做爰视频| 久久91精品国产91久久小草| 亚洲图片欧洲图片日韩av| 欧美性片在线观看| 在线亚洲国产精品网| 五月天中文字幕| 中文字幕不卡在线播放| 丝袜制服一区二区三区| 欧洲毛片在线视频免费观看| 国产精品高潮呻吟视频| 91美女视频在线| 欧美日韩国产美女| 午夜爽爽爽男女免费观看| 国产一区二区日韩精品| 喜爱夜蒲2在线| 18国产精品| 久久久久久亚洲精品中文字幕| 亚洲国产综合一区| 欧美日韩精品在线观看| 亚洲天堂久久新| 青娱乐精品在线视频| 在线成人性视频| 在线观看视频一区二区三区| 韩国美女主播一区| 免费在线国产| 欧美麻豆精品久久久久久| 国产少妇在线观看| 成人av资源站| av无码精品一区二区三区| 色婷婷亚洲mv天堂mv在影片| caoporen国产精品| 在线天堂新版最新版在线8| 亚洲少妇激情视频| 国产又粗又长又黄| 亚洲成人综合在线| 少妇精品无码一区二区免费视频| 久久国产精品99久久人人澡| 91国在线高清视频| 天堂资源在线亚洲| 成人激情视频在线| 99re6在线精品视频免费播放| 国产亚洲欧美一区| 成人av无码一区二区三区| 日韩欧美一区二区三区| 四虎884aa成人精品| 99久久99久久精品国产片果冻| 激情内射人妻1区2区3区| 亚洲成人三区| 欧美日韩国产不卡在线看| 亚洲成人精品综合在线| 欧美激情欧美激情| 国产在线黄色| 精品va天堂亚洲国产| 中文人妻熟女乱又乱精品| 亚洲午夜日本在线观看| 欧美激情视频二区| 99国产精品久| 一二三级黄色片| 可以看av的网站久久看| 欧美在线观看黄| 欧美丝袜激情| 久久免费99精品久久久久久| 激情久久免费视频| 国产a级全部精品| 丰乳肥臀在线| xxx一区二区| 久久免费看视频| 亚洲成色999久久网站| 影音先锋黄色网址| 日韩欧美亚洲范冰冰与中字| 久久婷婷一区二区| 亚洲少妇最新在线视频| 亚洲区自拍偷拍| 99久久伊人精品| 久久久久99人妻一区二区三区| 免费av网站大全久久| 女人喷潮完整视频| 在线成人h网| 亚洲国产精品女人| 日韩精品永久网址| 欧美色欧美亚洲另类七区| 国产成人精品亚洲线观看| 亚洲一区二区三区毛片| 91超碰碰碰碰久久久久久综合| 91高潮在线观看| 91福利在线免费| 欧美精品久久久久久久免费观看| 免费av在线网站| 日韩在线欧美在线| 成人免费在线观看| 在线丨暗呦小u女国产精品| 日韩精品视频无播放器在线看 | 婷婷五月精品中文字幕| 国产精品亚洲一区二区三区在线| 久久久久久久久久久久久久久国产| 日韩国产精品久久| 男人搞女人网站| 日韩精品电影在线| 天天操天天爱天天爽| 久久午夜精品| 精品久久久久久久无码| 久久一区中文字幕| 日韩av一二三四| 日本伊人色综合网| 五月婷婷丁香色| 九色|91porny| 亚洲在线观看网站| 国产精品一二三四五| 国产欧美视频一区| 不卡的看片网站| 性久久久久久久久久| 国产日韩三级在线| 欧美乱大交做爰xxxⅹ小说| 国产精品美女久久久久久久久| 日本视频在线免费| 日韩一区有码在线| 久草网视频在线观看| 亚洲成人黄色影院| aaaaaa毛片| 欧美日本乱大交xxxxx| 99久久精品国产色欲| 精品1区2区在线观看| 青青草免费观看免费视频在线| 亚洲区在线播放| 男人天堂手机在线| 欧美多人爱爱视频网站| 嗯~啊~轻一点视频日本在线观看| 97**国产露脸精品国产| 色猫猫成人app| 亚洲综合自拍一区| 亚洲人成网亚洲欧洲无码| 日韩妆和欧美的一区二区| 四季av一区二区三区免费观看| 毛片在线视频观看| 亚洲综合99| 色天使在线观看| 懂色av噜噜一区二区三区av| 中文字幕一区二区三区人妻电影| 国产精品美女久久久久久久| 国产在线视频二区| 日本韩国视频一区二区| 亚洲图片欧美在线| 亚洲第一av网站| yes4444视频在线观看| 久久久久久欧美| www成人在线视频| 亚洲xxxx在线| 精品在线99| 天天做天天爱天天高潮| 免费看亚洲片| 91亚洲一区二区| 久久男人中文字幕资源站| 国产精品国产精品88| 福利精品视频在线| 午夜精品久久久久久久99老熟妇| 亚洲欧美在线免费| 在线āv视频| 国产精品久久久久久av福利| 99久久香蕉| 中文字幕一区二区三区最新| 国产亚洲在线| 原创真实夫妻啪啪av| 国产精品私人自拍| 一级片中文字幕| 欧美一区二区在线播放| 黄色在线小视频| 国内精品久久久久伊人av| 四虎在线精品| 日韩久久久久久久| 夜久久久久久| 中国男女全黄大片| 中文字幕在线不卡国产视频| 精品国产乱子伦| 亚洲精品一区二区三区99| av文字幕在线观看| 国产精品7m视频| 台湾亚洲精品一区二区tv| 男人天堂手机在线视频| 国内不卡的二区三区中文字幕| 91在线无精精品白丝| 色av成人天堂桃色av| 五月婷婷丁香网| 性欧美办公室18xxxxhd| 99re91这里只有精品| 国产一二三四区在线观看| 久久国产精品色婷婷| 国产大屁股喷水视频在线观看| 一本久久精品一区二区| 日本黄在线观看| 97av在线视频免费播放| 欧美变态挠脚心| 黄色一级视频片| 99久久综合狠狠综合久久| 99热国产在线观看| 日韩极品精品视频免费观看| а√在线天堂官网| 高清一区二区三区视频| 欧美欧美全黄| 亚洲日本久久久| 午夜天堂影视香蕉久久| 人妻无码一区二区三区久久99| 欧美激情一区二区三区成人| youjizz欧美| 欧美成人高潮一二区在线看| 不卡一区二区三区四区| 天天综合网入口| 亚洲美女动态图120秒| 亚洲成人短视频| 性欧美精品一区二区三区在线播放 | 久久人人爽爽爽人久久久| 日本一区二区免费电影| 亚洲一级一级97网| 福利视频亚洲| 国产对白在线播放| 成人在线视频一区| 免费在线观看黄网站| 亚洲美女激情视频| 亚洲日本在线观看视频| aaa免费在线观看| 国产成人av电影在线| a v视频在线观看| 亚洲欧美日韩久久久久久| 国产成人免费| 青青视频免费在线| 97成人超碰视| 中文无码精品一区二区三区| 久久精品国产视频| 91精品国产乱码久久久竹菊| 香港三级韩国三级日本三级| 国产喂奶挤奶一区二区三区| 亚洲中文字幕一区二区| 色综合久久88| 一区二区三区视频免费观看| 超碰在线公开97| 一区二区三区高清| 欧美理论在线观看| 91欧美激情另类亚洲| 亚洲美女啪啪| www.4hu95.com四虎| 精品欧美一区二区在线观看 | 色婷婷av一区| 1314成人网| 免费国产亚洲视频| 黄色录像二级片| 日韩高清中文字幕| 欧美在线se| 男人添女人下面高潮视频| 亚洲国产精品成人综合色在线婷婷| 亚洲AV无码精品自拍| 国产91在线播放精品91| 亚洲精品久久| 波多野吉衣中文字幕| 日韩一级片在线播放| 免费观看成人性生生活片 | av小说在线播放| 日韩国产一区久久| 成人动漫一区二区三区| 在线免费看av片|