前言
第一周任务简析:
查看详细作业情况请至RT-Thread论坛:
https://www.rt-thread.org/qa/thread-421579-1-1.html
第二周任务简析:
1void main(void)
2{
3xx_init();
4XXX_init();
5...
6while(1)
7{
8do_somthing0();
9delay(10);
10在RT-Thread中会将三个功能函数变成3个独立的互不干扰的线程趋势线相应的功能:
11do_somthing1();
12do_somthing2();
13...
14}
1//main.c
2void main(void)
3{
4xx_init();
5XXX_init();
6}
7//可在其他.c文件创建线程、启动线程
8thread0 = rt_thread_create(“thread0”, do_somthing0, ,,);
9rt_thread_startup(rt_thread_t thread0);
10thread1 = rt_thread_create(“thread1”, do_somthing1, ,,);
11rt_thread_startup(rt_thread_t thread1);
12thread2 = rt_thread_create(“thread2”, do_somthing2, ,,);
13rt_thread_startup(rt_thread_t thread2);
https://www.rt-thread.org/document/site/programming-manual/thread/thread/#_16(请将以上链接复制至外部浏览器打开)
通过上图可以得到的信息是ILED这里给低电平才能导通这个红外管。另外整个脉冲的时间也有要求,高电平时间为0.32ms,整个周期为10ms。这在程序中都要有所体现。且注意10ms的延时选用的延时函数要注意用那种可以任务切换的。检测周期为10ms,红外从发射到接收需要一定时间,那么在什么时候检测才是有效的呢?这个要看说明书中的输出信号图,如下图所示,将采样时间设置为0.28ms可以得到一个稳定值。
https://www.rt-thread.org/qa/thread-421705-1-1.html
第三周任务简析:
1struct mylog_msg
2{
3 char *tag;
4 int *data;
5};
在mylog函数中我是这样使用的:
1void mylog(char *tag, int *data)
2{
3 static struct mylog_msg mb_data_send;
4 mb_data_send.tag = tag;
5 mb_data_send.data = data;
6 rt_mb_send(&mb, (rt_ubase_t)&mb_data_send);
7 /延时1000ms */
8 rt_thread_mdelay(1000);
9}
https://www.rt-thread.org/qa/thread-421809-1-1.html
总结
看到这里,你是不是也想参加学习营体验一下呢~机会来啦
第3期:RT-Thread实战入门学习营报名
面向群体:面向裸机转RTOS用户(你应该有很好的嵌入式基础)、刚开始学习RTOS的小白、学了RT-Thread内核但不知道怎么用的
学习方式: 线上学习实现功能:空气质量检测仪:采集空气质量数据,打印到串口终端,根据需要设置LED报警灯,按键切换数据类型。涉及到知识点: 线程、ipc、任务划分、外设使用自备硬件:STM32控制板(型号不限,必备)+温湿度传感器(必备)+PM2.5传感器(必备)+甲醛传感器(选配)+报警LED灯(板载)+按键(板载 )+ 其他合适传感器(选配)
参与学员:
END
RT-Thread线上活动
1、【RT-Thread能力认证考试12月——RCEA】经过第一次考试的验证,
能力认证官网链接:https://www.rt-thread.org/page/rac.html(在外部浏览器打开)
立即报名
#题外话# 喜欢RT-Thread不要忘了在GitHub上留下你的STAR哦,你的star对我们来说非常重要!链接地址:https://github.com/RT-Thread/rt-thread
你可以添加微信18917005679为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群
RT-Thread
长按二维码,关注我们
点击阅读原文进入GitHub