精品国产一区在线_av无码中文字幕无码王_天海翼三点刺激高潮不停_好硬好大好爽视频_欧美高清一区三区在线专区_香蕉黄色片

程序小白
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
RT-Thread驅(qū)動(dòng)之路:stm32設(shè)備驅(qū)動(dòng)開發(fā)之淺析注冊(cè)機(jī)制⑤
RT-Thread驅(qū)動(dòng)之路:stm32設(shè)備驅(qū)動(dòng)開發(fā)之SPI原理①
RT-Thread驅(qū)動(dòng)之路:stm32設(shè)備驅(qū)動(dòng)開發(fā)之SPI對(duì)象創(chuàng)建②
RT-Thread驅(qū)動(dòng)之路:stm32設(shè)備驅(qū)動(dòng)開發(fā)之SPI總線操作方法③
RT-Thread驅(qū)動(dòng)之路:stm32設(shè)備驅(qū)動(dòng)開發(fā)之HWTIMER開發(fā)①
RT-Thread驅(qū)動(dòng)之路: Studio硬件移植篇①
作者動(dòng)態(tài) 更多
基于stm32采用PWM驅(qū)動(dòng)伺服控制器學(xué)習(xí)筆記
05-13 15:25
基于STM32驅(qū)動(dòng)TM1638學(xué)習(xí)筆記——軟件篇
04-19 12:42
基于TM1638驅(qū)動(dòng)8位數(shù)碼管設(shè)計(jì)分享
02-24 11:26
RT-Thread驅(qū)動(dòng)之路: Studio創(chuàng)建FAL分區(qū)⑤
01-02 08:30
RT-Thread驅(qū)動(dòng)之路: Studio 掛載通用SPI flash④
2024-12-23 13:41

RT-Thread驅(qū)動(dòng)之路:stm32設(shè)備驅(qū)動(dòng)開發(fā)之HWTIMER開發(fā)①


      單片機(jī)開發(fā)中最熟悉的就是定時(shí)器開發(fā)了,定時(shí)器有軟件和硬件之分,這里我們主要以硬件定時(shí)器為主來進(jìn)行介紹,一般的MCU都有3~15個(gè)不等的硬件定時(shí)器,HWTIMER(Hardware Timer)設(shè)備驅(qū)動(dòng)開發(fā)主要是講硬件定時(shí)器外設(shè)功能對(duì)街道設(shè)備框架上。先來看下HWTIMER設(shè)備驅(qū)動(dòng) 框架的層級(jí)結(jié)構(gòu):

      這里最主要是要理解兩層的概念,HWTIMER設(shè)備驅(qū)動(dòng)框架層,這是一層通用的軟件抽象層,與具體的硬件無關(guān),框架代碼為hwtimer.c,提供以下功能:

  •       向I/O設(shè)備管理層提供統(tǒng)一的接口供其調(diào)用。
  •       向設(shè)備驅(qū)動(dòng)層提供具體的設(shè)備操作方法入口(函數(shù)指針)由其進(jìn)行實(shí)現(xiàn)。
  •       提供注冊(cè)接口管理API,讓驅(qū)動(dòng)層與框架層產(chǎn)生聯(lián)系。   我們具體要實(shí)現(xiàn)的事HWTIMER設(shè)備驅(qū)動(dòng)層,一般命名為drv_hwtimer.c,也就是構(gòu)架中紅線的部分。

      接下來創(chuàng)建一個(gè)HWTIMER設(shè)備,這個(gè)設(shè)備對(duì)象要與構(gòu)架產(chǎn)生了聯(lián)系,所以必須由rt_hwtimer_device結(jié)構(gòu)中派生出新的對(duì)象:

struct stm32_hwtimer
{
    rt_hwtimer_t time_device;                /*HWTIMER設(shè)備基類*/
    TIM_HandleTypeDef    tim_handle;  /*STM32定時(shí)器控制句柄*/
    IRQn_Type tim_irqn;                         /*STM32定時(shí)器中斷類型*/
    char *name;                                     /*STM32定時(shí)器名稱*/
};

      MCU一般不會(huì)只開一個(gè)定時(shí)器,以最常用的需要開多個(gè)定時(shí)器為例,所以我們實(shí)現(xiàn)上要建立的也是一個(gè)定時(shí)器列表:

#ifdef BSP_USING_TIM1
#ifndef TIM1_CONFIG
#define TIM1_CONFIG                                         \
    {                                                       \
       .tim_handle.Instance     = TIM1,                     \
       .tim_irqn                = TIM1_IRQn,                \
       .name                    = "timer1",                 \
    }
#endif /* TIM1_CONFIG */
#endif /* BSP_USING_TIM1 */

static struct stm32_hwtimer stm32_hwtimer_obj[] =
{
#ifdef BSP_USING_TIM1
    TIM1_CONFIG,
#endif

#ifdef BSP_USING_TIM2
    TIM2_CONFIG,
#endif

#ifdef BSP_USING_TIM3
    TIM3_CONFIG,
#endif

#ifdef BSP_USING_TIM4
    TIM4_CONFIG,
#endif
......
}

      這里并沒有初始化stm32_hwtimer_obj對(duì)象的所有字段,它并不完整,需要再后續(xù)的開發(fā)中進(jìn)行賦值比如調(diào)用ops中相應(yīng)函數(shù)進(jìn)行進(jìn)一步的初始化:

struct rt_hwtimer_ops
{
    void (*init)(struct rt_hwtimer_device *timer, rt_uint32_t state);
    rt_err_t (*start)(struct rt_hwtimer_device *timer, rt_uint32_t cnt, rt_hwtimer_mode_t mode);
    void (*stop)(struct rt_hwtimer_device *timer);
    rt_uint32_t (*count_get)(struct rt_hwtimer_device *timer);
    rt_err_t (*control)(struct rt_hwtimer_device *timer, rt_uint32_t cmd, void *args);
};

      真正的驅(qū)動(dòng)開始需要實(shí)例化這些ops,下篇詳細(xì)講解關(guān)于ops如何實(shí)現(xiàn)的,感謝閱讀~!

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 4
收藏 5
關(guān)注 153
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧
主站蜘蛛池模板: 久久亚洲精品成人无码 | 国产精品最新 | 91日韩精品在线 | 亚洲AV最新在线观看网址 | 97人人澡人人爽人人模亚洲 | 色香欲www7777综合网 | 国产高清在线精品一区不卡 | 国产精品啪一品二区三区粉嫩 | 日韩精品永久免费视频 | 九一免费版在线观看 | 国产在线精选 | 日韩精品国产一区二区 | 婷婷综合一区 | 亚洲精品久久在线 | 99国精产品灬源码1688钻 | 欧美日韩偷拍一区 | 娇小videodes性爽h文 | 国产精品一区二区免费不卡 | 日日躁夜夜躁狠狠躁aⅴ蜜 h视频欧美 | 欧美图一区 | 亚洲国产成人久久 | 好爽好痛好湿好硬视频免费 | 一本一道波多野结衣一区 | 黄色一毛片 | 天天色综合av | 国产91影视 | 欧美丰满少妇XXXX性 | 日韩va亚洲va欧美va久久 | 在线精品视频一区二区三四 | chinese鲜嫩videos| 久久成人精品一区二区三区 | 亚洲欧美精品国产一级在线 | 亚洲va欧美va国产综合先锋 | 韩国一级毛片在线观看 | 亚洲porno| t婷婷五月网在线观看网站 曰本a级片 | tubefree欧美| 欧美午夜激情在线 | 337P日本欧洲亚洲大胆精筑 | 8888视频日本 | 91在线视频在线 |