新大陆物联网Lora-nb 人体 按键久按

    世界是你们的,也是我们的,但是归根结底是你们的。你们年青人朝气蓬勃,正在兴旺时候,好像早晨八、九点钟的太阳。希望寄托在你们身上。——毛泽东

    人体与按键久按的代码参上,人体的灵敏度要靠自己调,传感器上有两个旋钮可以调节,百度有。代码复制烧写进去就行了,代码都注释好了,自己理解,最近没时间研究了,朋友说也不急。



/**

  ******************************************************************************

  * File Name          : main.c

  * Description        : Main program body

  ******************************************************************************

  */

#include <string.h>

#include "board.h"

#include "hal_key.h"

#include "tim-board.h"

#include "timer_handles.h"

#include "hal_key.h"

Gpio_t rt1;//定义属于人体端口的一个变量

void Init() {

    BoardInitMcu();

    BoardInitPeriph();

    keys_init();//按键初始化

    setTimer2Callback(Time2Handler);

    Tim2McuInit(1);//定时器初始化,设置定时中断1ms中断一次

OLED_Init();

OLED_Clear();

GpioInit( &rt1, PA_2, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );//初始化人体端口

}

/**

* Main application entry point.

*/

int main( void )

{

    Init();

char sj1[11],sj2[11],sj3[11],rt2[11];//显示的数据

    while( 1 )

    {

int rt=GpioRead(&rt1);//获取人体传感器的状态,具体灵敏度传感器上有旋钮可以调

int k2=HAL_GPIO_ReadPin(KEY2_GPIO, KEY2_GPIO_PIN);//获取按键2状态,在按键al_key.c里有

int k3=HAL_GPIO_ReadPin(KEY3_GPIO, KEY3_GPIO_PIN);//获取按键3状态

int k4=HAL_GPIO_ReadPin(KEY4_GPIO, KEY4_GPIO_PIN);//获取按键4状态

sprintf(rt2,"%d",rt);

sprintf(sj1,"%d",k2);

sprintf(sj2,"%d",k3);

sprintf(sj3,"%d",k4);

OLED_ShowString(0,0,rt2);

OLED_ShowString(0,2,sj1);

OLED_ShowString(0,4,sj2);

OLED_ShowString(0,6,sj3);//将状态显示出来

    }

}



所使用到的函数库

    下一期是lora-nb呼吸灯了。之后的可能要拖一拖了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容