国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

瑞薩嵌入式小百科 ? 來源: 瑞薩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有所幫助。

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

    關注

    6076

    文章

    45493

    瀏覽量

    670224
  • 瑞薩
    +關注

    關注

    37

    文章

    22481

    瀏覽量

    90847
  • RA8
    RA8
    +關注

    關注

    0

    文章

    21

    瀏覽量

    6863
  • Systick
    +關注

    關注

    0

    文章

    67

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    基于RA8單片機,e2studio開發環境,給大家講述一下智能小車項目的方案,并附上主要的源代碼。
    的頭像 發表于 03-07 14:36 ?2564次閱讀
    基于<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 ?2742次閱讀
    <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 ?1922次閱讀
    <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 ?1675次閱讀
    <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 ?1822次閱讀

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

    電子推出的全新RA MCU家族產品RA8,是業界首款搭載Arm Cortex-M85內核超高性能MC
    的頭像 發表于 12-20 12:25 ?2222次閱讀
    <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>

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

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

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

    電子RA家族推出RA8系列高算力通用MCU,是業界首款基于Arm? Cortex?-M85(
    的頭像 發表于 04-02 14:14 ?3270次閱讀
    <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 ?2530次閱讀
    <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 ?1115次閱讀
    <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 ?1308次閱讀
    <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 ?1069次閱讀
    <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 ?1164次閱讀
    <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 ?1760次閱讀
    <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

    七城共啟 | 電子RA8 MCU硬核巡演開放報名

    RA生態工作室關注我們RA8系列RA家族中的超高性能M
    的頭像 發表于 02-06 18:01 ?692次閱讀
    七城共啟 | <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA8</b> <b class='flag-5'>MCU</b>硬核巡演開放報名