本篇文章是基于上一篇文章《nrf51822在MDK5(keil5)新建工程》建的工程的基础上进行的。
在HARDWARE文件夹下新建一个LED文件夹,并在文件夹下新建led.c和led.h,并编写相应的代码,本次用到的IO口是P0.21 然后将程序下载到nrf51822中就可以看见LED灯闪烁了。nrf51822点亮一个LED灯
1. 编写LED驱动程序
led.c
#include "led.h" #include "nrf_gpio.h" #include "nrf51.h" void LED_Init(void) { nrf_gpio_cfg_output(21); } void LED_ON(void) { nrf_gpio_pin_clear(21); } void LED_OFF(void) { nrf_gpio_pin_set(21); } void LED_TOGGLE(void) { nrf_gpio_pin_toggle(21); }
led.h
#ifndef _LED_H #define _LED_H void LED_Init(void); void LED_ON(void); void LED_OFF(void); void LED_TOGGLE(void); #endif
2. 配置工程
如图所示,在Define中加入NRF51822,并在C99 Mode前面打上勾,否则会报错。由于nrf51822的SDK是不开源的,所以只需要包含对应的头文件,就可以使用相应的函数,所以需要在Include Paths中添加想用的头文件。
这时候编译工程的话,会提示找不到sdk_config.h这个文件,这个文件我们可以到官方的SDK文件夹下找到,这里我复制的是nRF5_SDK_12.3.0_d7731adexamplesble_peripheralble_app_templatepca10028s130config这个路径下的sdk_config.h,并加上对应的头文件路径即可。
这个文件主要是控制一些外设驱动的使能,如需要在工程中加入nrf_drv_gpiote.c这个文件来使用这个文件里的函数。该函数中有一句 #if NRF_MODULE_ENABLED(GPIOTE) 这个条件编译,这时候就需要我们在sdk_config.h使能该模块,条件编译才能通过,我们才可以使用这个文件里的文件。
如图所示,在sdk_config.h将GOIOE_ENABLE置1,即可使用nrf_drv_gpiote.c这个文件中的函数。3. 编写mian函数
#include "led.h" #include "nrf_delay.h" int main(void) { LED_Init(); while(1) { LED_ON(); nrf_delay_ms(1000); LED_OFF(); nrf_delay_ms(1000); } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算