Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
空气质量分析仪(1)
发布于 2019-12-02 14:50:34 浏览:1303
订阅该版
* 本帖最后由 zomejy 于 2019-12-2 14:50 编辑 * **本次实现的是:**1.1、 主要介绍在这里我介绍两种方法 1.2、灯光系统实现灯的开关,闪烁。 1.3、按键扫描 ****任务一:**** 个人认为这个任务主要是针对开发板的移植 在这里我介绍两种方法: 1、直接从 CubeMX 中导入该软件包 2、在官网下载rtthreadd源码。 两种方法选择一般看官网有没有自己手中板子的bsp和个人喜好,一般开发板的话官网bsp都有。 方法一:官网有专门的教程介绍相信你们和我一样,肯定一看就会啦,看的话[点这里](https://www.rt-thread.org/document/site/tutorial/nano/cube/an0032-nano-mx5/)哦。 方法二:[点这里](https://github.com/RT-Thread/rt-thread.git)下载最新版rtt包,下载完后解压然后进入下面这个路径(以正点原子f429为例),用ENV工具使用scons --dist命令将所需要的文件给拷贝到 dist 后的文件夹中,这样就可以把自己板子的bsp提取出来了,如果没有配置ENV的话也可以删除不必要的bsp来实现较为精简的RTT包,配置ENV官网也有[教程](https://www.rt-thread.org/document/site/programming-manual/env/env/)哦。 ** ![600,0](https://oss-club.rt-thread.org/uploads/201910/11/205413ynuf3hb4j86cnccy.png) ** ok这样第一个任务就完成了。 ****任务二:**** 首先keil工程,注册自己要用的pin,没错教程[也在官网](https://www.rt-thread.org/document/site/programming-manual/device/pin/pin/),使用RT-Thread配置pin会更加便捷。 如果使用 rt-thread/bsp/stm32 目录下的 BSP 则可以使用下面的宏获取引脚编号: GET_PIN(port, pin) 如:```
/* defined the LED0 pin: PB1 */
#define LED0_PIN GET_PIN(B, 1)
``` 注册完之后就可以使用IO口了,下面就可以写的led灯光系统的代码[list=1] (*)[indent] [list=1] (*)#include
(*)#include
(*)#include
(*)#include
(*) (*)/* defined the LED0 pin: PB1 */ (*)#define LED0_PIN GET_PIN(B, 1) (*) (*)/*接口可以初始化 led*/ (*)void led_init() (*){ (*)/* set LED0 pin mode to output */ (*)rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT); (*)} (*)/*接口可以点亮 led*/ (*)void led_on() (*){ (*) rt_pin_write(LED0_PIN, PIN_LOW); (*)} (*)/* 接口可以熄灭 led*/ (*)void led_off() (*){ (*) rt_pin_write(LED0_PIN, PIN_HIGH); (*)} (*)/*接口可以使 led 闪烁,200ms 闪烁周期*/ (*)void led_blink() (*){ (*) rt_pin_write(LED0_PIN, PIN_HIGH); (*) rt_thread_mdelay(200); (*) rt_pin_write(LED0_PIN, PIN_LOW); (*) rt_thread_mdelay(200); (*) rt_pin_write(LED0_PIN, PIN_HIGH); (*) rt_thread_mdelay(200); (*) rt_pin_write(LED0_PIN, PIN_LOW); (*) rt_thread_mdelay(200); (*)} [/list][/indent] [/list]** **写完之后记得在main函数调用,如果发现没什么问题,这样第二个任务就可以了哦。** ** ****任务三:**** 任务三还是挺简单的主要是keypin口的控制;和裸机控制差不多,但是由于rtt系统带来的便利,初始化简单太多了。 我的代码是这样的: [list=1] (*)[indent] [list=1] (*)#include
(*)#include
(*)#include
(*)#include
(*) (*)int key_sign = 0; (*)void key_init(void) (*){ (*) rt_pin_mode(key_0, PIN_MODE_INPUT_PULLUP); (*) rt_pin_mode(key_1, PIN_MODE_INPUT_PULLUP); (*) (*)} (*)int key_scan(void) (*){ (*)static int key_up=1; //按键松开标志 (*) if(key_up&&(rt_pin_read(key_0) == 0 || rt_pin_read(key_1) == 0)) (*) { (*) rt_thread_mdelay(10); (*) key_up=0; (*) if(rt_pin_read(key_0) == 0) key_sign = 1; (*) else if(rt_pin_read(key_1) == 0) key_sign = 2; (*) (*) rt_kprintf("keysign %d
",key_sign); (*) } (*) else (*) { (*) key_up = 1; (*) } (*) (*) return key_sign; (*)} [/list][/indent] [/list]这样本次的任务就全实现了简单移植。 ****注意事项:**** 1.写完自己的.c.h文件,记得添加.c和头文件文件夹哦,不要和我一样笨哦。 2.自己写的.c文件加到工程后,再用env配置软件包更新生成之后会被删除掉,这个问题是怎么解决的? [indent]在你的代码文件加下修改SConscript文件[/indent] ![600,0](https://oss-club.rt-thread.org/uploads/201910/12/105725lwoqob5lwwwlojwo.png) 这样就可以了实现了
查看更多
0
个回答
默认排序
按发布时间排序
暂无答案,快来添加答案吧
撰写答案
登录
注册新账号
关注者
0
被浏览
1.3k
关于作者
zomejy
这家伙很懒,什么也没写!
提问
11
回答
21
被采纳
0
关注TA
发私信
相关问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
7
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部