EFR32MG裸机工程-3-按键

转载请注明出处,谢谢!

Newbit-Msming 2018-09-11

环境:Windows 10、Simplicity Studio 4

SDK: Gecko SDK Suite

工程:自建

1、 参考 EFR32MG裸机工程-1-新建,新建一个空白工程;

2、 在工程中点击右键,New -> Other ->Simlicity Studio -> Simplicity Configurator Document -> Next,填写路径和文件名。
EFR32MG裸机工程-3-按键_第1张图片

3、 打开步骤2生成的文件,并添加2个按键,注意下图标号“4”,好像不能手动添加最后的两行,解决方法是直接更改文本文件,文本如下:







改完后,保存或者在下图左边的区域点击右键-> Generate Source就会自动生成代码文件“hal-config.h”
EFR32MG裸机工程-3-按键_第2张图片

4、 新建button.c和button.h文件,代码可以从其他工程Copy过来,其中按键处理函数如下:

WEAK(void halButtonIsr(uint8_t button, uint8_t state)
{
	if(button == BSP_BUTTON0_PIN && state == BUTTON_PRESSED)
		halToggleLed(BOARDLED0);
	if(button == BSP_BUTTON1_PIN && state == BUTTON_PRESSED)
		halToggleLed(BOARDLED1);
})

5、 一些必须的库文件:emdrv;

6、 main函数代码如下:

#include "em_device.h"
#include "em_chip.h"
#include "hal-config.h"
#include "button.h"
#include "led.h"

unsigned long i = 0xFFF;
unsigned char c = 5;
int main(void)
{
  /* Chip errata */
  CHIP_Init();

  halInternalInitLed();
  halInternalInitButton();
  /* Infinite loop */
  while (1) {

	  i=0xFfFFF;
	  while(i--);

	  if(c)
	  {
		c--;
	    halToggleLed(BOARDLED0);
	  }
  }
}

7、 烧录的时候烧录bin或者hex文件;

8、 代码请查看附件。

常驻:NewBit Studio

附件-工程代码

你可能感兴趣的:(ZigBee,EmberZNet)