打开主菜单

谷雨文档中心 β

更改

NRF52832DK基础实验

添加443字节2019年7月2日 (二) 16:54
01_LED亮灭实验
|}
=== 01_LED亮灭实验 LED亮灭实验 ===
LED亮灭实验是展示nRF52832的GPIO输出配置,使开发者更直观的了解GPIO输出。GPIO输出是熟悉一款MCU的开始。下面将简单的介绍并分析相关代码。在NRF52832DK评估板上有4路LED资源,分别处在PIN17,PIN18,PIN19,PIN20四个引脚上。LED电路原理图,如下图所示。其为低电平有效,即引脚为低电平时LED被点亮,引脚为高电平时LED熄灭。
[[文件:FOUR LINES LED.png|居中|缩略图|402x402像素|LED 外设电路]]
编译工程,点击IAR IDE工具栏中绿色三角仿真按钮,IAR便会将程序下载到nRF52832中,点击全速运行即可。此时NRF52832的LED便会每500ms依次点亮LED;当四个LED全部点亮后,再以500ms依次熄灭LED,直到全部熄灭。
=== 02_按键输入实验按键输入实验(poll) ===
01_LED亮灭实验是操作GPIO引脚输出,而本实验是操作GPIO的输入。利用GPIO输入引脚电平变化,来监测按键按下动作。在NRF52832DE评估板上,提供了四路按键资源,分别占用PIN13,PIN14,PIN15,PIN16四个引脚上。按键电路原理图,如下图所示。由原理图可知,按键是低电平有效。当按键按下引脚为低电平,释放时会高电平。'''注,按键引脚必须要使能引脚上拉功能,否则可能告成按键识别不可靠。'''
[[文件:Four key sech.png|居中|缩略图|463x463像素|按键外设原理图]]
# 按下SW3,LED4亮;释放SW4,LED4灭
=== 03_按键中断输入实验(int) 按键中断输入实验(int) ===
02_按键输入实验是采用轮询方式不断查询引脚电平状态。引脚默认为高电平,当按下按键后,引脚会变成低电平。而此实验将使用nRF52832的GPIOTE边沿中断方式来监测按键动作。中断方式监测按键,带来了高灵敏度,高效率,同时也增加了按键按下不可靠性。主要原因按键按下会产生电平抖动。要求高可靠性可以为此要加入消抖。由02的原理图中可以见,没有硬件上的消抖,所以只能在驱动程序上进行消抖操作(此例程中没加入消抖)。
}
</syntaxhighlight>其中flag是有效按键动作的标记。只有是BUTTON_1,BUTTON_2,BUTTON_3,BUTTON_4按键才是有效动作。通过nrf_drv_gpiote_in_is_set查询引脚当前电平状态,确定按键是按下,还是释放动作。并根据按键动作,点亮或熄灭LED。
 
==== 实验现象 ====
硬件准备:
# Jlink-Lite仿真器或J-Link仿真器
# NRF52832DK评估板
编译工程,点击IAR IDE工具栏中绿色三角仿真按钮,IAR便会将程序下载到nRF52832中,点击全速运行即可。此时NRF52832的LED是全灭状态。
# 按下SW1,LED1亮;释放SW1,LED1灭
# 按下SW2,LED2亮;释放SW2,LED2灭
# 按下SW3,LED3亮;释放SW3,LED3灭
# 按下SW3,LED4亮;释放SW4,LED4灭
119
个编辑