Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
[第3期 空气质量分析仪]第一周作业 说说第一周踩到的坑
发布于 2019-10-16 10:51:21 浏览:934
订阅该版
先总结一下,第一周.pdf这个文档,指导性强,一定要多看,里面的内容了解了,第一周的作业就不难了。当时偷懒,走了点弯路,现在总结一下,给大家学习一下。 正确的学习步骤:1、首先要保证普通的例程能正常跑起来,验证硬件电路功能(购买的开发板一般都没问题),下载是否正常。第一天,从灰尘堆里翻出以前的几个开发板,老是一会能通过调试器找到芯片,一会又找不到MCU,提示无法下载。当时怀疑是不是开发板太久了,坏了。后来用ST-LINK的下载程序测试,发现提示选择硬件复位方式,于是偿试了一下,终于找到解决方法了:设置复位方式:under reset为解决问题。 ![19.png](/uploads/201910/16/104529uox4o6kk337dsxn6.png) 2、严格按照BSP教程,生成自己专用的BSP。原来为了省事,直接使用别人现成的BSP,编译经常莫明其妙问题,一会提示缺头,一会提示缺尾。后来静下心里,仔细研读,STM32 BSP 制作教程,一步步制作,生成的工程,一步编译成功。通过学习,发现RTT对STM32 BSP制作,还是方便简单的,涉及修改的代码比较少,并没有想像中那么难用。 BSP文档中,有一步要选择芯片型号的,可以在CUBE生成的工程里面找到。 ![20.jpg](/uploads/201910/16/104909a3d1kpp7bk1o27md.jpg) 3、RTT的BSP正常后,就考虑添加组件硬件模块等测试。 程序正常跑起来了![IMG_3724.JPG](/uploads/201910/16/104936ieqks8ddtdecsdvz.jpg) ![IMG_3726.JPG](/uploads/201910/16/104948vii1t0dg9pbcqp05.jpg)
查看更多
3
个回答
默认排序
按发布时间排序
flyboy
2019-10-16
Do my self();
支持,感觉楼主的分享很实用:D
TBIQ_3050
2019-10-18
这家伙很懒,什么也没写!
作业任务,按键相关 /* 中断回调函数 根据检测按键的电平执行 led 的动作,按下按键点亮 led,释放按键熄灭 led*/ void key_cb(void *args) { rt_kprintf("turn on beep!\n"); if (rt_pin_read(KEY)) { led_on(RED); } else { led_off(RED); } } void key_init() { /* 按键0引脚为输入模式 */ rt_pin_mode(KEY, PIN_MODE_INPUT); /* 绑定中断,上升沿模式,回调函数名为beep_on */ rt_pin_attach_irq(KEY, PIN_IRQ_MODE_FALLING, key_cb, RT_NULL); /* 使能中断 */ rt_pin_irq_enable(KEY, PIN_IRQ_ENABLE); }
TBIQ_3050
2019-10-18
这家伙很懒,什么也没写!
指示灯函数 //接口可以初始化 led void led_init() { /* set LED0 pin mode to output */ rt_pin_mode(LED_RED, PIN_MODE_OUTPUT_OD); rt_pin_mode(LED_GREEN, PIN_MODE_OUTPUT_OD); rt_pin_mode(LED_ORANGE, PIN_MODE_OUTPUT_OD); rt_pin_mode(LED_BLUE, PIN_MODE_OUTPUT_OD); rt_pin_mode(LED_RED, PIN_MODE_OUTPUT_OD); rt_pin_mode(LED_GREEN, PIN_MODE_OUTPUT_OD); rt_pin_mode(LED_ORANGE, PIN_MODE_OUTPUT_OD); rt_pin_mode(LED_BLUE, PIN_MODE_OUTPUT_OD); led_off(RED); led_off(GREEN); led_off(ORANGE); led_off(BLUE); } //接口可以点亮 led void led_on(rt_uint32_t i) { switch (i) { case 1: rt_pin_write(LED_RED, PIN_LOW); break; case 2: rt_pin_write(LED_GREEN, PIN_LOW); break; case 3: rt_pin_write(LED_ORANGE, PIN_LOW); break; case 4: rt_pin_write(LED_BLUE, PIN_LOW); break; } } //接口可以熄灭 led void led_off(rt_uint32_t i) { switch (i) { case 1: rt_pin_write(LED_RED, PIN_HIGH); break; case 2: rt_pin_write(LED_GREEN, PIN_HIGH); break; case 3: rt_pin_write(LED_ORANGE, PIN_HIGH); break; case 4: rt_pin_write(LED_BLUE, PIN_HIGH); break; } } //接口可以使 led 闪烁,200ms 闪烁周期 void led_blink(rt_uint32_t i, rt_uint32_t time) { switch (i) { case 1: led_on(RED); rt_thread_mdelay(time); led_off(RED); rt_thread_mdelay(time); break; case 2: led_on(GREEN); rt_thread_mdelay(time); led_off(GREEN); rt_thread_mdelay(time); break; case 3: led_on(ORANGE); rt_thread_mdelay(time); led_off(ORANGE); rt_thread_mdelay(time); break; case 4: led_on(BLUE); rt_thread_mdelay(time); led_off(BLUE); rt_thread_mdelay(time); break; } }
撰写答案
登录
注册新账号
关注者
0
被浏览
934
关于作者
TBIQ_3050
这家伙很懒,什么也没写!
提问
5
回答
2
被采纳
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
freemodbus主机在freertos的适配,参考rtthread例程
2
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
3
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
4
RT-Thread EtherKit开源以太网硬件正式发布
5
还在担心bsp不好维护吗?快使用yml管理主线bsp
热门标签
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
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
12
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
用户名由3_15位
13
个答案
2
次被采纳
rv666
9
个答案
2
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
7
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部