极海半导体APM32F411开发板评测 RT-Thread定时器与MultiButton按键检测1.软硬件平台 试验平台:APM...
1/* 创建按键检测线程*/2key_thread = rt_thread_create( "key thread", /* 线程的名称 */3 key_thread_entry, /* 线程入口函数 */4 RT_NULL, /* 线程入口函数的参数 */5 256, /* 线程栈大小,单位是字节 */6 5, /* 线程的优先级,数值越小优先级越高*/7 10); /* 线程的时间片大小 */ ...
int thread_key(void) { uint8_t key = rt_pin_get(KEY_PIN_NUM); // 设置按键为上拉输入模式 rt_pin_mode(key, PIN_MODE_INPUT_PULLUP ); /* 创建线程 */ tid_key = rt_thread_create("thread key", thread_key_entry, &key, 512, 8, 5); if (tid_key != RT_NULL) rt_thread_start...
本次实验是在上一篇建立工程的基础上增加的按键测试用例,使用了rtthread包“button”。 程序开发 1.在application的文件夹下建立key.c和key.h文件。 2.在RT—Thread Settings里添加名为“button”的软件包,配置如下图。 3.修改key.c代码 #include "ch32v30x.h" #include <rtthread.h> #include "drivers/...
下面,我们基于小熊派IOT开发板来简单实践实践:基于裸机及基于RT-Thread。 1、基于non-OS(裸机编程) 板子上有两个用户按键及一个用户LED。 我们实现如下操作: 单击button0(即F1按键),点亮led。 单机button1(即F2按键),熄灭led。 双击button0(即F1按键),点亮led。
RT-Thread--线程间通信 正文 线程中通信 在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取,根据读取到的全局变量值执行相应的动作,达到通信协作的目的; 回到顶部 邮箱 邮箱服务是实时操作系统中一种典型的线程间通信方法。举一个简单的...
这里的线程 1 也可以扩展为多个线程。例如,共有三个线程,线程 1 检测并发送按键状态,线程 2 检测并发送 ADC 采样信息,线程 3 则根据接收的信息类型不同,执行不同的操作。 1.1邮箱的工作机制 RT-Thread 操作系统的邮箱用于线程间通信,特点是开销比较低,效率较高。邮箱中的每一封邮件只能容纳固定的 4 字节内容...
基于RT-Thread和中蓝讯科的AB32VG1开发板实现的家庭安全检测功能,主要包含如下功能: 1、基于RT-Thread操作系统的按键组件,音频播放组件等; 2、基于AB32VG1开发板的语音播放功能; 3、基于Node-Red的串口功能与AB32VG1通讯; 4、连接腾讯云的Explorer平台; 5、腾讯连连公众号接收云平报警信息; 6、门窗检测开关。
rt_thread_delay(5); } }voidrt_hw_key_init(void) { GPIO_InitTypeDef GPIO_InitStructure;/*Enable the GPIO_LED Clock*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE);/*Configure the GPIO_LED pin*/GPIO_InitStructure.GPIO_Pin= KEY_UP_PIN|KEY_DOWN_PIN|KEY_LEFT_...
static rt_thread_t key_tid = RT_NULL; /* 按键检测线程入口函数*/ static void key_thread_...