type
status
date
slug
summary
tags
category
icon
password
🙂
STM32F103C8T6 引脚图

💬c & h
软件I²C
bsp_myI2C.c
bsp_myI2C.h
👀环境配置
串口重定向打印输出
Keil5
使用usart1,在CubeMX生成的
usart1.c
文件末尾,添加如下代码:在
usart.h
文件中,在用户代码的Prototypes
的部分添加如下代码:在魔法棒的位置添加文件路径,引入这两个文件
这样,直接在
main.c
中任意位置使用printf
即可实现串口重定向!CMake + VSCode
retarget.c
retarget.h
新建一个Users目录,放在项目的Drivers目录下,将上面的c & h文件放入Drivers/Users文件夹中
在项目目录的
cmake → stm32cubemx → CMakeLists.txt
中添加刚刚的文件路径:浮点数输出
在项目目录的
cmake → gcc-arm-none-eabi.cmake
文件的末尾中添加并保存:用法:
- 在 main.c 中包含 retarget.h 头文件;
- 在主函数中初始化函数;
- 在任意位置使用printf!
示例
main.c
:🙌例程
MPU6050 软件I2C读取传感器数据
🔗相关链接
物料
- STM32F103C8T6开发板
设计功能
- 读取6轴传感器数据,3轴加速度,3轴陀螺仪角度
- 将读取结果发送到串口可视化输出
CubeMX GPIO 设置总览
引脚 | 模式 | 上拉/下拉 | 速率 | 用途 |
PB4 | GPIO_Output | No Pull | High | SCL |
PB5 | GPIO_Output | No Pull | High | SDA |
CubeMX 其他设置
- RCC时钟源 HSE设置为外部晶振
- Clock时钟(HCLK)速度设置为
72MHz
- Connectivity设置串口USART1,Mode设置为
Asynchronous
头文件
MPU6050_soft.c
MPU6050_soft.h
主程序
main.c
继电器定时控制
物料:
- 继电器×1
- STM32F103C8T6开发板
- 按钮×1
- LED×2(板载)
- 导线若干
设计功能
- 多档切换定时功能,定时开启/关闭继电器
- 按键交互反馈
CubeMX GPIO 设置总览
引脚 | 模式 | 上拉/下拉 | 速率 | 用途 |
PA1 | GPIO_Output | No Pull | Low | LED1(低电平点亮) |
PA7 | GPIO_Output | No Pull | Low | 继电器控制输出 |
PB2 | GPIO_Input | Pull-up | N/A | 按钮输入 |
PB8 | GPIO_Output | No Pull | Low | LED2(低电平点亮) |
main.c
图片示例

STM32 脉宽调制 (PWM):控制直流风扇的速度
Code:
- 作者:sleepfat
- 链接:https://blog.sleepfat.top/stm32-learning-logs
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。