Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
[第3期 空气质量分析仪]第一周作业 说说第一周踩到的坑
发布于 2019-10-16 10:51:21 浏览:982
订阅该版
先总结一下,第一周.pdf这个文档,指导性强,一定要多看,里面的内容了解了,第一周的作业就不难了。当时偷懒,走了点弯路,现在总结一下,给大家学习一下。 正确的学习步骤:1、首先要保证普通的例程能正常跑起来,验证硬件电路功能(购买的开发板一般都没问题),下载是否正常。第一天,从灰尘堆里翻出以前的几个开发板,老是一会能通过调试器找到芯片,一会又找不到MCU,提示无法下载。当时怀疑是不是开发板太久了,坏了。后来用ST-LINK的下载程序测试,发现提示选择硬件复位方式,于是偿试了一下,终于找到解决方法了:设置复位方式:under reset为解决问题。  2、严格按照BSP教程,生成自己专用的BSP。原来为了省事,直接使用别人现成的BSP,编译经常莫明其妙问题,一会提示缺头,一会提示缺尾。后来静下心里,仔细研读,STM32 BSP 制作教程,一步步制作,生成的工程,一步编译成功。通过学习,发现RTT对STM32 BSP制作,还是方便简单的,涉及修改的代码比较少,并没有想像中那么难用。 BSP文档中,有一步要选择芯片型号的,可以在CUBE生成的工程里面找到。  3、RTT的BSP正常后,就考虑添加组件硬件模块等测试。 程序正常跑起来了 
查看更多
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
被浏览
982
关于作者
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
Wireshark抓包EtherCAT报文
2
RISC-V hardfault分析工具,RTTHREAD-RVBACKTRACE 原理讲解
3
基于RT-Thread的STM32G4开发第二讲第二篇——ADC
4
基于RT-Thread的STM32F4开发第二讲第一篇——ADC
5
RT-Thread studio的驱动5.1.0报错修改
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
FAL
RTC
rt-smart
I2C_IIC
cubemx
UART
ESP8266
WIZnet_W5500
BSP
ota在线升级
PWM
flash
packages_软件包
freemodbus
潘多拉开发板_Pandora
ADC
GD32
定时器
编译报错
flashDB
keil_MDK
socket
中断
rt_mq_消息队列_msg_queue
Debug
ulog
SFUD
msh
C++_cpp
at_device
本月问答贡献
出出啊
1524
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
818
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部