日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一起学nRF51xx 4 -  int

發布時間:2025/4/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一起学nRF51xx 4 -  int 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

上一節我們講過nrf51822的gpiote功能,利用GPIOte的Event,中斷,和Task做了一個簡單的用按鍵控制LED的實驗,其間用到了中斷,涉及到中斷的開啟,優先級設置,中斷響應函數的實現等等,

nrf51822 cpu使用的是M0核心,其中斷的控制也是由內部的NVIC模塊進行控制,關于NVIC的詳細操作如果有STM32開發基礎的話,這邊基本也不會有會什么障礙,本節將會以上一講gpiote的代碼為例,重點給大家介紹始何在 nrf51822 中實現中斷操作。

?

示例詳解

基于硬件平臺: nrf51822ek_tm開發板。

?

?

本示例所用的最小系統板原理圖:

?

?

  • 工程創建:
  • 打開KEIL,新建一個空工程:Project->New uVision Project
  • 工程名為nrfxx-Int確認后按下圖選擇芯片為nrf51822_xxAA->ok

    在彈出的對話框中勾選CMSIS中的CORE;Device中的Startup(后面有nrf51 Series字樣的);在nrf_device中勾選nrf_gpio, nrf_gpiote,nrf_delay.

    ?

    OK之后工程自動生成如下代碼:

    新建一個空白文檔,保存為main.c,并加入工程中:

    配置工程,選擇使用MicroLIB庫,可以減小程序體積:

    加入NRF51定義,并選擇化等級3,可以減小程序體積,但仿真運行時可能會出現與代碼順序不一致現象:

    ?

    調試工具選擇J-LINK,并將接口設置為SW口勾選下載程序后自動復位及運行:

    ?

    ?

    ?

  • 工程代碼
  • OK之后在man.c中加入如下代碼:
  • 下面重點解析一下實現中斷響應的相關代碼:

    首先我們用到的是GPIOTE模塊及其中斷,打開arm_startup_nrf51.s文件,找到GPIOTE模塊對應的中斷響應函數GPIOTE_IRQHandler:

    ?

    復制GPIOTE_IRQHandler到main.c ,并補齊形參及返回值,加入響應代碼:

    然后在main函數使能中斷:

    ????? NVIC_SetPriority(GPIOTE_IRQn, 1);???????????? // 設置中斷優先級

    ????? NVIC_ClearPendingIRQ(GPIOTE_IRQn);??????? ?? // 清除中斷標志

    ????? NVIC_EnableIRQ(GPIOTE_IRQn);?????????????? // 使能中斷 – 必需

    ????? __enable_irq();????????????????????????????? // 開啟全局中斷 – 默認也是開的

    ?

    其中GPIOTE_IRQn為 GPIOTE_IRQHandler 中將 “Handler”變成”n”即可,上面四行代碼中,其實就第三行是必需,其它三行在本例為非必需代碼。

    ?

  • 編譯工程,仿真調試-》全速運行并在GPIOTE_IRQHandler中放入一個斷點:
  • 按下按鍵,程序成功進入到中斷函數中:

    可以看到NRF中斷的操作與STM32 的mcu很類似,就三步,開總中斷,使能指定中斷,實現中斷響應函數,其它模塊的中斷操作也是類似。

    ?

    OK,本期實驗完成!下期見!同時如果大家有什么疑問或是有想了解的其它內容,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,會有不定期技術干貨推出!!

    文中源碼資料下載,在公眾號里給十三發消息:

    下載|一起學nRF51xx 4

    ?

    關注十三公眾號

    ?

    總結

    以上是生活随笔為你收集整理的一起学nRF51xx 4 -  int的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。