当前位置: 首页 > news >正文

网站后台权限设计医院网

网站后台权限设计,医院网,店面设计在线,商城公众号开发一、需求 & 最终效果 硬件:Blue-Pill(STM32F103C8T6) 3 只 LED(红 PA0、黄 PA1、绿 PA2)现象:上电后红→黄→绿→黄→全灭,每步 100 ms,循环往复。 二、硬件连接LED 端连接说明阴…

一、需求 & 最终效果

  • 硬件:Blue-Pill(STM32F103C8T6)+ 3 只 LED(红 PA0、黄 PA1、绿 PA2)
  • 现象:上电后红→黄→绿→黄→全灭,每步 100 ms,循环往复。

二、硬件连接

LED 端连接说明
阴极GND共阴极接法
阳极PA0 / PA1 / PA2串 330 Ω 电阻

若为 共阳极,把 GPIO_SetBits/ResetBits 互换即可。

三、工程准备(CubeIDE 3 步)

1. 新建工程
File → New → STM32 Project → 搜索 STM32F103C8Tx → Finish

2. 解决库缺失
Project → Properties → C/C++ Build → Settings → MCU GCC Compiler → Preprocessor
添加宏:

STM32F10X_MD
USE_STDPERIPH_DRIVER

3.添加库文件
把下列文件放入 Src/Inc 并加入编译:

stm32f10x_gpio.c/.h
stm32f10x_rcc.c/.h
misc.c/.h

四、核心源码

#include "stm32f10x.h"#define RED_LIGHT    GPIO_Pin_0
#define YELLOW_LIGHT GPIO_Pin_1
#define GREEN_LIGHT  GPIO_Pin_2
#define ALL_LIGHTS   (RED_LIGHT | YELLOW_LIGHT | GREEN_LIGHT)static void delay_ms(uint32_t ms)
{/* 72 MHz ≈ 18000 次/1 ms,实测微调 */while (ms--)for (volatile uint32_t i = 0; i < 18000; i++);
}int main(void)
{/* 1. 时钟 */RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);/* 2. GPIO 配置 */GPIO_InitTypeDef gpio = {.GPIO_Pin   = ALL_LIGHTS,.GPIO_Mode  = GPIO_Mode_Out_PP,.GPIO_Speed = GPIO_Speed_50MHz};GPIO_Init(GPIOA, &gpio);/* 3. 全灭(共阳:高电平灭) */GPIO_SetBits(GPIOA, ALL_LIGHTS);/* 4. 流水灯序列 */const uint16_t seq[] = {RED_LIGHT, YELLOW_LIGHT, GREEN_LIGHT, YELLOW_LIGHT};const uint8_t  len   = sizeof(seq) / sizeof(seq[0]);while (1){for (uint8_t i = 0; i < len; i++){GPIO_ResetBits(GPIOA, seq[i]);   // 亮delay_ms(100);GPIO_SetBits(GPIOA, seq[i]);     // 灭}}
}

五、编译 & 烧录

  • Build(锤子图标)→ Run → 选择 ST-Link(OpenOCD)
  • Console 出现 Programming Finished & Verify OK 即成功。

【CSDN 原创】STM32F103 流水灯实战:从 0 到 3 色 LED 呼吸式闪烁
——基于标准外设库(SPL)+ 寄存器级优化
作者:Ryan | 日期:2024-08-25
关键词:STM32F103、标准外设库、GPIO、流水灯、延时、寄存器
一、需求 & 最终效果

硬件:Blue-Pill(STM32F103C8T6)+ 3 只 LED(红 PA0、黄 PA1、绿 PA2)
现象:上电后红→黄→绿→黄→全灭,每步 100 ms,循环往复。
视频:文末 GIF 演示(已上传)。

二、硬件连接
表格
复制
LED 端 连接 说明
阴极 GND 共阴极接法
阳极 PA0 / PA1 / PA2 串 330 Ω 电阻

若为 共阳极,把 GPIO_SetBits/ResetBits 互换即可。

三、工程准备(CubeIDE 3 步)

新建工程
File → New → STM32 Project → 搜索 STM32F103C8Tx → Finish
解决库缺失
Project → Properties → C/C++ Build → Settings → MCU GCC Compiler → Preprocessor
添加宏:

复制

STM32F10X_MD
USE_STDPERIPH_DRIVER

添加库文件
把下列文件放入 Src/Inc 并加入编译:

复制stm32f10x_gpio.c/.h
stm32f10x_rcc.c/.h
misc.c/.h

四、核心源码
c
复制

#include “stm32f10x.h”

#define RED_LIGHT GPIO_Pin_0
#define YELLOW_LIGHT GPIO_Pin_1
#define GREEN_LIGHT GPIO_Pin_2
#define ALL_LIGHTS (RED_LIGHT | YELLOW_LIGHT | GREEN_LIGHT)

static void delay_ms(uint32_t ms)
{
/* 72 MHz ≈ 18000 次/1 ms,实测微调 */
while (ms–)
for (volatile uint32_t i = 0; i < 18000; i++);
}

int main(void)
{
/* 1. 时钟 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

/* 2. GPIO 配置 */
GPIO_InitTypeDef gpio = {.GPIO_Pin   = ALL_LIGHTS,.GPIO_Mode  = GPIO_Mode_Out_PP,.GPIO_Speed = GPIO_Speed_50MHz
};
GPIO_Init(GPIOA, &gpio);/* 3. 全灭(共阳:高电平灭) */
GPIO_SetBits(GPIOA, ALL_LIGHTS);/* 4. 流水灯序列 */
const uint16_t seq[] = {RED_LIGHT, YELLOW_LIGHT, GREEN_LIGHT, YELLOW_LIGHT};
const uint8_t  len   = sizeof(seq) / sizeof(seq[0]);while (1)
{for (uint8_t i = 0; i < len; i++){GPIO_ResetBits(GPIOA, seq[i]);   // 亮delay_ms(100);GPIO_SetBits(GPIOA, seq[i]);     // 灭delay_ms(100);}
}

}

五、编译 & 烧录

  • Build(锤子图标)→ Run → 选择 ST-Link(OpenOCD)
  • Console 出现 Programming Finished & Verify OK 即成功。

六、踩坑记录

现象根因解决
undefined reference to assert_param未定义宏添加 STM32F10X_MD + USE_STDPERIPH_DRIVER
灯不亮共阳极接反互换 SetBits/ResetBits
延时误差大空循环不精确后期换 SysTickTIM2
http://www.dtcms.com/a/521622.html

相关文章:

  • 蓝山网站建设wordpress目录说明
  • 网站开发demo版本手机网站有什么好处
  • app网站制作要多少钱重庆有专业做网站的吗
  • 网站浏览速度代刷网站是怎么做的
  • 【北京迅为】iTOP-4412精英版使用手册-第六十一章 PWM操作
  • 建一个营销网站的步骤确定网站建设的目的
  • 做网站 业务流程图wordpress+万能搜索页
  • 监控网站开发上海市建筑装饰工程集团有限公司
  • 网上怎样做电缆网站团队拓展活动游戏
  • 公司在网上做网站怎么做账wordpress ueditor 代码 转义
  • 做设计找图片的网站有哪些网站如何设定关键词
  • 380元网站建设搜索网站排名
  • abap 通用发送邮件程序(获取alv数据,带excel附件)
  • 搭建网站源码中国最近战争新闻
  • 人体姿态行为检测:从原理到实现
  • 32位汇编:实验6位运算类指令使用
  • centos系统怎么做网站昌吉州住房和城乡建设局网站
  • seo优化或网站编辑宜春住房和城乡建设部网站
  • C++ 可变参数模板实现递归继承(tuple 实现原理)
  • 商城县搜索引擎优化策略包括
  • nodejs相关基础知识-第二篇
  • 网站建设 经营范围大连市开发区网站建设公司
  • 矩形排版——CAD c#
  • DeepSeek-OCR - 轻量、精准、快速、跨语言的文字识别模型 图片转文字 图片文字识别 支持50系显卡 一键整合包下载
  • z怎么做优惠券网站个人网站建设思路
  • 品牌管理的三大要素百度seo快排软件
  • 迅为RK3568开发板 V2.0嵌入式linux开发资料全面升级
  • 企业网站制作报价单网页设计与网站建设 郑州大学
  • 品牌建设公司网站企业业务系统有哪些
  • UU 跑腿使用通义灵码实现 AI 原生应用架构升级全解析:行动指南