拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只_(或更多)红绿蓝LED 搭建电路

以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只_(或更多)红绿蓝LED 搭建电路

工程建立:

1,以管理员身份运行keil。

2,在project上建立新工程。

3,找到自己要用到芯片。

4,添加Cortex 内核底层支持 + STM32 芯片启动汇编文件。

5,鼠标右键点击Source Group 1,添加main.c

实验任务1:以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只_(或更多)红绿蓝LED 搭建电路,使用GPIOA/GPIOB/GPIOC端口控制LED灯,轮流闪烁,间隔时长1秒。

代码编写如下:

结果如下

实验任务2:在实验1的基础上,改用标准外设库方式使用某个端口GPIOx端口管脚控制几个LED灯,轮流闪烁,间隔时长1秒

代码编写:

周期:

Delay_ms(1000)来决定为1个周期3秒。

实验结果:

实验任务3:在前面实验基础上,改用 HAL库+ 按键中断方式控制 流水灯运行的暂停、恢复继续。

代码编写:

结果:当PA3接入GND时全部不亮。

总结
本次实验基于 STM32F103C8T6 最小系统板,分寄存器版、标准外设库版、HAL 库按键中断版三个任务实现流水灯功能,完成 GPIO 输出配置、软件延时、外部中断控制启停等内容,也遇到了一些问题:寄存器版本 LED 不亮:忘记开启 GPIO 端口的 APB2 时钟。GPIO 外设上电默认关闭时钟,必须开启时钟之后,寄存器配置才会生效。在本此实验中完成了 STM32 GPIO 基础输出、输入、中断的基础训练,为后续定时器、串口等外设学习打下基础。

返回列表