在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

瑞薩MCU RA8系列教程:RA8單片機SysTick使用描述

瑞薩MCU小百科 ? 來源: 瑞薩MCU小百科 ? 2025-03-27 14:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

每個Cortex-M內核都集成了一個SysTick模塊,那是因為這個模塊幾乎是單片機項目必備的一個(定時器)功能。
不管是最新的Cortex-M85內核,還是經典的Cortex-M3內核單片機,都集成了SysTick模塊。

cm3.h與cm85.h

單片機開發者,接觸最多的就是core_cm3.h(core_cm85.h)文件,這里定義了與內核相關的大部分內容,平時我們調用最多也是這里的接口
我們對比一下這兩個源文件: e306d75e-0ac0-11f0-9310-92fbcf53809c.png

通過對比源代碼,你會直觀地發現,cm85比cm3代碼行數明顯大多了,1943行和4672行。當然,行數多了這么多,左側紅色(差異)部分也比較多。

雖然,左側“紅色”比較多,但大部分都是多出來的行數以及宏定義。仔細對比,其實很多都是一樣的,比如我們常用的系統復位函數:e3270bc8-0ac0-11f0-9310-92fbcf53809c.png ?
__NO_RETURN __STATIC_INLINEvoid__NVIC_SystemReset(void)
{
__DSB();                             /* Ensure all outstanding memory accesses included
                                   buffered write are completed before reset */
SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) ? ?|
             (SCB->AIRCR& SCB_AIRCR_PRIGROUP_Msk) |
              SCB_AIRCR_SYSRESETREQ_Msk  );    /* Keep priority group unchanged */
__DSB();                             /* Ensure completion of memory access */


for(;;)                             /* wait until reset */
 {
 __NOP();
 }
}

再比如系統Tick配置函數:

e3452414-0ac0-11f0-9310-92fbcf53809c.png ?
__STATIC_INLINEuint32_tSysTick_Config(uint32_tticks)
{
if((ticks -1UL) > SysTick_LOAD_RELOAD_Msk)
 {
 return(1UL);                         /* Reload value impossible */
 }


 SysTick->LOAD = (uint32_t)(ticks -1UL);            /* set reload register */
NVIC_SetPriority(SysTick_IRQn, (1UL<< __NVIC_PRIO_BITS) -?1UL);/* set Priority for Systick Interrupt */
 SysTick->VAL  =0UL;                      /* Load the SysTick Counter Value */
 SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
         SysTick_CTRL_TICKINT_Msk  |
         SysTick_CTRL_ENABLE_Msk;            /* Enable SysTick IRQ and SysTick Timer */
return(0UL);                          /* Function successful */
}

其實,你會發現,在Cortext-M3單片機上常用的這些函數接口,基本和CM85一樣,這也說明CM85大部分接口向下兼容CM3

RA8單片機SysTick使用描述

這里結合瑞薩RA8D1(Cortex-M85內核)單片機給大家講述一下SysTick的用法以及描述其源碼。

使用e2studio以及fsp軟件包

工具自帶的軟件包其實是最實用的,這里以IO翻轉,SysTick延時為例,手把手教大家創建一個工程,并演示效果。

1

打開e2studio創建單片機項目

e365a310-0ac0-11f0-9310-92fbcf53809c.jpge37b9698-0ac0-11f0-9310-92fbcf53809c.png我們命名項目名稱為:RA8D1_SysTicke390bbc2-0ac0-11f0-9310-92fbcf53809c.png選擇對應芯片型號:R7FA8D1BECe3a83e46-0ac0-11f0-9310-92fbcf53809c.png ?e3c5dd66-0ac0-11f0-9310-92fbcf53809c.pnge3e2cd0e-0ac0-11f0-9310-92fbcf53809c.pnge3fb0e6e-0ac0-11f0-9310-92fbcf53809c.pnge4161cae-0ac0-11f0-9310-92fbcf53809c.png ? ?

基本上只需要動動鼠標“點一點”,一個完整的工程就創建好了。

2

配置工程

這里配置一些基礎的信息,我們使用一個IO(PA01)來測試一下SysTick延時時間。

e4334aae-0ac0-11f0-9310-92fbcf53809c.png

配置時鐘樹:

e45427ba-0ac0-11f0-9310-92fbcf53809c.png配置輸出Hex文件:e474072e-0ac0-11f0-9310-92fbcf53809c.pnge4974e8c-0ac0-11f0-9310-92fbcf53809c.png ?

3

演示

這里只是簡單演示Demo,我們添加一個IO翻轉來測試SysTick延時時間。

while(1)
{
 R_PORT10->PODR^=1<<(BSP_IO_PORT_10_PIN_01&0xFF);  //PA01亮滅翻轉
 R_BSP_SoftwareDelay(1,BSP_DELAY_UNITS_MILLISECONDS);  //SysTick延時
}
e4b28e04-0ac0-11f0-9310-92fbcf53809c.png ?這個是1ms翻轉,SysTick延時誤差還是比較小,相對1ms來說誤差可以忽略(采樣頻率100KHz看不出來誤差)。e4d57a18-0ac0-11f0-9310-92fbcf53809c.png ?采樣頻率為100MHz,其實還是看得出來有點誤差。當然,這個誤差是晶振、軟件等多種因素影響的。還有,us級別的誤差,相對ms可以忽略。e4ea7c06-0ac0-11f0-9310-92fbcf53809c.png

如果改為1us翻轉,通過IO翻轉來測試,誤差就相對明顯一點。

4

源碼描述

有經驗的工程師應該都能看懂,這里針對初學者簡單說下。

R_PORT10->PODR ^=1<<(BSP_IO_PORT_10_PIN_01 &?0xFF);
為了減少軟件帶來誤差,這里直接操作寄存器進行IO翻轉。
R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_MILLISECONDS);
R_BSP_SoftwareDelay:阻塞延時函數,是FSP軟件包自帶函數接口。 BSP_DELAY_UNITS_MILLISECONDS:宏定義,延時單位(毫秒)。系統定義了三個宏:
typedefenum
{
  BSP_DELAY_UNITS_SECONDS   =1000000,///< Requested delay amount is in seconds
  BSP_DELAY_UNITS_MILLISECONDS =1000,  ///< Requested delay amount is in milliseconds
  BSP_DELAY_UNITS_MICROSECONDS =1   ///< Requested delay amount is in microseconds
}bsp_delay_units_t;
R_BSP_SoftwareDelay:其實就是利用SysTick進行的延時。e500008a-0ac0-11f0-9310-92fbcf53809c.png ?通過分析源碼,你會發現Cortex-M85內核的SysTick和Cortex-M3的向下兼容,常用的接口也一樣。 最后,單片機內核的SysTick是不是很簡單,希望通過本文的描述,對你了解SysTick有所幫助。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6067

    文章

    44969

    瀏覽量

    649475
  • 瑞薩
    +關注

    關注

    36

    文章

    22378

    瀏覽量

    87957
  • RA8
    RA8
    +關注

    關注

    0

    文章

    18

    瀏覽量

    6733
  • Systick
    +關注

    關注

    0

    文章

    63

    瀏覽量

    13552

原文標題:瑞薩RA8系列教程 | RA8單片機SysTick使用描述

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于RA8單片機的智能小車項目方案 附源代碼

    基于RA8單片機,e2studio開發環境,給大家講述一下智能小車項目的方案,并附上主要的源代碼。
    的頭像 發表于 03-07 14:36 ?1446次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b><b class='flag-5'>單片機</b>的智能小車項目方案 附源代碼

    RA8系列高性能MCU開發上手體驗

    大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是RA8系列高性能MCU開發上手體驗。
    的頭像 發表于 08-08 15:21 ?1832次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b><b class='flag-5'>系列</b>高性能<b class='flag-5'>MCU</b>開發上手體驗

    RA8快速上手指南:Cortex-M85內核RA8開發環境搭建 并點亮一個LED

    因為Cortex-M內核,RA8系列單片機支持多種市面上常見的開發環境,像Keil MDK、IAR EWARM等,而本文講述的是
    的頭像 發表于 03-17 14:35 ?955次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b>快速上手指南:Cortex-M85內核<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b>開發環境搭建 并點亮一個LED

    面向電機控制應用推出性能卓越的RA8 MCU

    的實時控制要求。 ? RA8T1產品群是RA8系列的第三款產品。所有RA8
    發表于 01-31 15:29 ?1374次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>面向電機控制應用推出性能卓越的<b class='flag-5'>RA8</b> <b class='flag-5'>MCU</b>

    IAR為RA8系列MCU開發提供支持

    嵌入式開發軟件和服務的全球領導者IAR今日宣布,其最新發布的IAR Embedded Workbench for Arm 9.40.2版本中無縫集成了對(Renesas)RA8系列
    的頭像 發表于 11-02 17:08 ?1370次閱讀

    電子推出全新RA MCU家族產品RA8

    電子推出的全新RA MCU家族產品RA8,是業界首款搭載Arm Cortex-M85內核超高性能MC
    的頭像 發表于 12-20 12:25 ?1515次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子推出全新<b class='flag-5'>RA</b> <b class='flag-5'>MCU</b>家族產品<b class='flag-5'>RA8</b>

    RA8系列用戶手冊

    電子發燒友網站提供《RA8系列用戶手冊.pdf》資料免費下載
    發表于 01-29 14:06 ?0次下載
    <b class='flag-5'>RA8</b><b class='flag-5'>系列</b>用戶手冊

    AMEYA360 | 皇華:面向電機控制應用推出性能卓越的RA8 MCU

    AMEYA360 | 皇華:面向電機控制應用推出性能卓越的RA8 MCU:全球半導體解決方案供應商
    的頭像 發表于 02-02 16:02 ?824次閱讀

    電子RA家族推出RA8系列高算力通用MCU

    電子RA家族推出RA8系列高算力通用MCU,是業界首款基于Arm? Cortex?-M85(
    的頭像 發表于 04-02 14:14 ?2166次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b>家族推出<b class='flag-5'>RA8</b><b class='flag-5'>系列</b>高算力通用<b class='flag-5'>MCU</b>

    電子全新RA8系列MCU產品介紹

    Arm Cortex-M85 RA8系列于2024年11月推出RA8E1和RA8E2兩款新產品。這兩款新產品已正式量產上市,將高算力的RA8
    的頭像 發表于 11-09 17:04 ?1367次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子全新<b class='flag-5'>RA8</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>產品介紹

    RA8系列教程 | 學習 RA8 常看文檔手冊

    不管是初學MCU,還是用MCU做項目,我們都會看一些相關的文檔手冊(資料)。 那么,學習RA8單片機常看的文檔手冊有哪些?在哪里尋找這些文檔手冊?
    的頭像 發表于 04-18 17:14 ?384次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b><b class='flag-5'>系列</b>教程 | 學習 <b class='flag-5'>RA8</b> 常看文檔手冊

    RA8系列教程 | 基于 Keil 開發 RA8單片機

    本文結合Cortext-M85單片機RA8D1、Keil MDK,以及自家的代碼初始化工
    的頭像 發表于 04-22 17:41 ?434次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b><b class='flag-5'>系列</b>教程 | 基于 Keil 開發 <b class='flag-5'>RA8</b><b class='flag-5'>單片機</b>

    RA8系列教程 | 基于e2s實現RA8串口輸出配置

    串口是最常見的通信方式之一,也是單片機調試最常見的通信接口,也是現在的單片機必備的通信接口,目前(2024-05)最新、最強的Cortext-M85內核的RA8系列
    的頭像 發表于 04-11 20:00 ?367次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b><b class='flag-5'>系列</b>教程 | 基于e2s實現<b class='flag-5'>RA8</b>串口輸出配置

    RA8系列教程 | 基于 e2 studio 創建RA8工程

    系列教程前面幾篇文章都是為開發做準備,本文正式進入開發階段,基于 e2 studio 創建RA8工程,并點亮一個LED。
    的頭像 發表于 04-03 17:14 ?382次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b><b class='flag-5'>系列</b>教程 | 基于 e2 studio 創建<b class='flag-5'>RA8</b>工程

    RA8系列教程 | RA8 開發環境搭建,并點亮一個LED

    今天就給大家講講基于Cortex-M85內核RA8單片機快速上手指南。
    的頭像 發表于 06-04 17:32 ?542次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA8</b><b class='flag-5'>系列</b>教程 | <b class='flag-5'>瑞</b><b class='flag-5'>薩</b> <b class='flag-5'>RA8</b> 開發環境搭建,并點亮一個LED
    主站蜘蛛池模板: 在线观看视频一区二区三区 | xxx性欧美在线| 天天舔天天摸 | 99视频全部免费 | 色综合久久久久综合99 | 丁香六月激情网 | 色噜噜狠狠狠色综合久 | 四虎影视在线影院在线观看 | 高清欧美性xxxx成熟 | 日韩综合nv一区二区在线观看 | 一级午夜免费视频 | 韩日一级毛片 | 亚洲免费网 | 一级网站片 | 午夜看片网站 | 都市激情综合 | 我想看一级播放片一级的 | 色多多在线观看视频 | 亚洲视频黄 | 午夜一区二区免费视频 | 一色桃子juy774在线播放 | 欧美色惰aⅴ | 唯美久草 | 手机看片福利国产 | 97综合网 | 国产亚洲视频在线播放大全 | 五月婷婷婷婷 | 32pao强力打造免费高速高清 | 亚洲天天做夜夜做天天欢人人 | 精品卡一卡二 卡四卡视频 精品噜噜噜噜久久久久久久久 | 亚洲乱码一二三四区 | v视界影院最新地址 | 五月婷婷在线观看 | 99日精品欧美国产 | 欧美特黄一区二区三区 | 曰本三级香港三级人妇99视频 | 久久毛片视频 | h视频免费在线 | 丁香六月在线 | 欧美大全 | 国产美女一级ba大片免色 |