119
个编辑
更改
01_MODUL CHANGE
开发者打开谷雨物联提供的peripheral_ghostyu文件夹中01_led_blinkly工程(IAR工程)。
在IAR的Workspace中点开Application,双击main.c文件,打开main.c。<syntaxhighlight lang="c++" line="1">//******************************************************************************// fn :main//// brief : 主程序入口//// param : none//// return : none
int main(void)
{
for(;;) { /* Toggle LEDs. */循环点亮熄灭LED,间隔500ms while for(trueuint8_t i = 0; i < LEDS_NUMBER ; i++)
{
}
}
}
</syntaxhighlight>其中bsp_board_init函数用于初始化LED引脚。BSP_INIT_LEDS常量表示初始化板级资源。除了BSP_INIT_LEDS之外还有BSP_INIT_BUTTONS。其中LED_Init函数用于初始化LED引脚。将四路LED引脚初始化输出模式,并置高电平,即熄灭LED。<syntaxhighlight lang="c++" line="1">#define BSP_INIT_NONE 0 //*****************************************************************************< No initialization of LEDs or buttons (@ref bsp_board_init).*// fn :LED_Init//#define BSP_INIT_LEDS // brief : 初始化LED引脚为输出模式,并熄灭LED//// param : none//// return : nonevoid LED_Init(1 << void){ uint8_t i = 0) ; //**< Enable LEDs during initialization 配置LED引脚为输出模式 nrf_gpio_range_cfg_output(@ref bsp_board_initLED_START, LED_STOP).*; //置LED引脚为高电平,即LED灭#define BSP_INIT_BUTTONS for(1 i = 0 ; i << 1LEDS_NUMBER; i++) /**< Enable buttons during initialization { nrf_gpio_pin_set(@ref bsp_board_initLeds[i]).*/; }}</syntaxhighlight>在bsp_board_init内部根据BSP_INIT_LEDS常量,将调用bsp_board_leds_init函数。将LED引脚配置成输出模式。而低下最终是调用nrf_gpio_cfg函数,来配置引脚。LED_START,LED_STOP是两个宏,标记LED开始引脚到LED结束引脚范围。配合nrf_gpio_range_cfg_output函数,可实现批量设置。nrf_gpio_pin_set设置LED引脚输出高电平。
==== 实验现象 ====