Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
空气质量分析仪(1)
发布于 2019-12-02 14:50:34 浏览:1163
订阅该版
* 本帖最后由 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.2k
关于作者
zomejy
这家伙很懒,什么也没写!
提问
11
回答
21
被采纳
0
关注TA
发私信
相关问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
[学习笔记]Trace agent使用笔记
2
【学习分享】初探RT-Thread系统调度
3
FRDM-MCXN947 Flash实践--W25Q64
4
NXP MCXN947测评(一)开箱+环境配置
5
stm32f103的adc+dma多通道采集数据
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
CAN总线
Hardfault
FinSH
USB
文件系统
RT-Thread
DMA
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
WIZnet_W5500
ota在线升级
cubemx
I2C
flash
UART
packages_软件包
freemodbus
潘多拉开发板_Pandora
PWM
定时器
BSP
ADC
keil_MDK
socket
中断
编译报错
MicroPython
Debug
SDIO总线
GD32
msh
rt_mq_消息队列_msg_queue
ulog
C++_cpp
SFUD
本月问答贡献
xiaorui
20
个答案
3
次被采纳
Juggernaut
12
个答案
3
次被采纳
踩姑娘的小蘑菇
12
个答案
2
次被采纳
小小李sunny
10
个答案
2
次被采纳
crystal266
4
个答案
2
次被采纳
本月文章贡献
ZVML_9668
4
篇文章
6
次点赞
Lu_盼盼
4
篇文章
3
次点赞
Z_Y
3
篇文章
5
次点赞
ThinkCode
2
篇文章
2
次点赞
oxlm
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部