NRF51822开发笔记-5.nRF51822裸机实验GPIO输出驱动LED
NRF51822開發(fā)筆記-5.nRF51822裸機實驗GPIO輸出驅動LED
- 一、例程分析
- 1.多個GPIO輸出模式配置函數
- 2.單個GPI0輸出模式配置函數
- GPIO輸出高電平函數
- 二、程序設計
一、例程分析
在binky led的代碼中,主要完成LED的閃爍,主要是對GPIO輸出的控制,因此這里主要學習的是GPIO的輸出控制,分析代碼如下:
如下是主程序
1、LED0和LED1的定義,在頭文件pca10001.h中定義了LED0和LED1的GPIO編號
2、GPIO輸出的配置函數nrf_gpio_cfg_output(),GPIO輸出配置函數
3、GPIO的狀態(tài)清除,設定為L電平函數nrf_gpio_pin_clear()
4、GPIO的狀態(tài)設定,設定為H電平函數nrf_gpio_pin_set()
綜上所述,控制GPIO的輸出控制,在函數nrf_gpio.h頭文件中,主要有2個流程:
1.GPIO的輸出配置;
2.GPIO的輸出高低電平控制。
GPIO的輸出配置函數
1.多個GPIO輸出模式配置函數
可以設置多個GPIO,2個變量為GPIO開始編號和GPIO結束編號:
nrf_gpio_range_cfg_output(uint32_t pin_range_start, uint32_t pin_range_end) :沒有電平檢測;驅動能力是最低等級;沒有上下拉;沒有啟動input buffer;輸出;
2.單個GPI0輸出模式配置函數
可以1個GPIO,變量為GPIO編號:
nrf_gpio_cfg_output(uint32_t pin_number) :沒有電平檢測;驅動能力是最低等級;沒有上下拉;沒有啟動input buffer;輸出;
GPIO輸出高電平函數
nrf_gpio_pin_set(uint32_t pin_number) //設置某個引腳為高電平
nrf_gpio_pin_clear(uint32_t pin_number)//設置某個引腳為低電平
nrf_gpio_pin_toggle(uint32_t pin_number)//翻轉某個引腳的電平
nrf_gpio_pin_write(uint32_t pin_number, uint32_t value) //寫某個引腳的電平,可以寫高,也可以寫低
二、程序設計
在例程的基礎上,增加5個LED,同時亮1s后同時滅
1.硬件電路,GPIO為18,19,20,21,22
2.GPIO配置如下
3.主程序代碼
4.編譯成功
燒錄到開發(fā)板后LED,正常點亮和熄滅
總結
以上是生活随笔為你收集整理的NRF51822开发笔记-5.nRF51822裸机实验GPIO输出驱动LED的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 离散系统模型的辨识matlab程序,基于
- 下一篇: 数据生命周期管理的初步实现