第5章_freeRTOS入门与工程实践之模块使用说明与STM32CubeMX配置

14 篇文章 4 订阅
12 篇文章 1 订阅

本教程基于韦东山百问网出的 DShanMCU-F103开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id=724601559592

配套资料获取:https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103

freeRTOS系列教程之freeRTOS入门与工程实践章节汇总https://blog.csdn.net/qq_35181236/article/details/132842016


第5章 模块使用说明与STM32CubeMX配置

5.1 硬件模块和驱动对应关系

对于每一个模块,我们都编写了驱动程序。这些驱动程序依赖于STM32CubeMX提供的初始化代码。比如driver_oled.c里面要使用I2C1通道,I2C1的初始化代码是STM32CubeMX生成的:MX_I2C1_Init被用来初始I2C1本身,HAL_I2C_MspInit被用来初始化I2C引脚。driver_oled.c只使用I2C1的函数收发数据,它不涉及I2C1的初始化。换句话说,你要在自己的工程里使用driver_oled.c,还需要初始化相应的I2C通道、引脚。

观看模块的头文件就可以知道接口函数的用法,每个驱动文件里都有一个测试函数,参考测试函数也可以知道怎么使用这个驱动。硬件模块和驱动文件对应关系如下表所示:

模块驱动
板载单色LEDdriver_led.cdriver_led.h
按键(K1)driver_key.cdriver_key.h
蜂鸣器模块(有源)driver_active_buzzer.cdriver_active_buzzer.h
蜂鸣器模块(无源)driver_passive_buzzer.cdriver_passive_buzzer.h
温湿度模块(DHT11)driver_dht11.cdriver_dht11.h
温度模块(DS18B20)driver_ds18b20.cdriver_ds18b20.h
红外避障模块(LM393)driver_ir_obstacle.cdriver_ir_obstacle.h
超声波测距模块(HC-SR04)driver_ultrasonic_sr04.cdriver_ultrasonic_sr04.h
旋转编码器模块(EC11)driver_rotary_encoder.cdriver_rotary_encoder.h
红外接收模块(1838)driver_ir_receiver.cdriver_ir_receiver.h
红外发射模块(38KHz)driver_ir_sender.cdriver_ir_sender.h
RGB全彩LED模块driver_color_led.cdriver_color_led.h
光敏电阻模块driver_light_sensor.cdriver_light_sensor.h
舵机(SG90)
IIC OLED屏幕(SSD1306)driver_oled.cdriver_oled.h
IIC 陀螺仪加速度计模块(MPU6050)driver_mpu6050.cdriver_mpu6050.h
SPI FLASH模块(W25Q64)driver_spiflash_w25q64.cdriver_spiflash_w25q64.h
直流电机(DRV8833)driver_motor.cdriver_motor.h
步进电机(ULN2003)

5.2 调试引脚与定时器

DshanMCU-103使用SWD调试接口,可以节省出TDI(PA15)、TDO(PB3)、TRST(PB4)三个引脚。其中PA15、PB3用于全彩LED,PB4用于直流电机。所以需要在STM32CubeMX里配置调试接口为SWD,否则全彩LED、直流电机无法使用。

DshanMCU-103中使用PA8来控制红外发射模块、无源蜂鸣器,PA8作为TIM1_CH1时用到TIMER1;全彩LED使用PA15、PB3、PA2作为绿色(G)、蓝色(B)、红色(R)的驱动线,这3个引脚被分别配置为TIM2_CHN1、TIM2_CHN2、TIM2_CHN3,用到TIMER2;直流电机的通道B使用PB4作为PWM引脚(TM3_CHN1),用到TIMER3。所以TIMER1、2、3都被使用了,只剩下TIMER4作为HAL时钟。

如下配置:

待续 。。。。


本章完
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挨踢民工biubiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值