目录
- 一、芯片准备
-
- 1)芯片选取STM32F103C8T6
- 2)点亮流水灯原理
- 二、C语言点亮
-
- 1)keil创建项目及配置
- 2)配置环境
- 3)魔法棒配置
- 4)编译
- 5)最后成功结果
- 三、汇编点亮
- 四、总结
- 五、参考链接
- 六、需要的软件
一、芯片准备
1)芯片选取STM32F103C8T6
材料:STM32最小系统核心板(STM32F103C8T6)+面包板+3只红绿黄LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯(最高时钟2Mhz),轮流闪烁,间隔时长1.34s(这里的间隔时长是实验所得)。
STM32F103C8T6是一款基于ARM Cortex-M 内核STM32系列的32位的微控制器,程序存储器容量是64KB,需要电压2V~3.6V,工作温度为-40°C ~ 85°C。
2)点亮流水灯原理
寄存器可以存储数据,指令,也可以担任一些特定的功能,stm32板子里由很多寄存器,如果想实现流水灯操作,就需要对相应的引脚进行操作,想对引脚进行操作,就需要对相应的引脚进行时钟使能配置、端口配置(高或低)寄存器配置、端口输出寄存器配置。
1.因为流水灯要操作的引脚都是在GPIO端口的,所以根据系统结构图,属于AHB总线,所以所要用的端口的复位和时间控制都受RCC控制。
3.跳到这里,就是外设时钟使能寄存器,,偏移量为0x18,而在前面一个表可以看到起始地址为0x4002 1000,偏移量为0x18,所以该寄存器的地址为0x4002 1018
代码如下:
8.这里就可以控制led亮或者灭了,实现流水灯只需增加灯的数量和增加一些延时就行了。
二、C语言点亮
1)keil创建项目及配置
1.打开keil,Project->new μVision Project:
2)配置环境
1、设置工程的目标环境,本实验基于STM32F103C8T6,因此在弹出的窗口选择相应的选项,这里没有STM32F103C8T6,所以选择STM32F103C8,点击保存即可:
4.将代码粘贴进.c文件里:
3)魔法棒配置
1.打开魔法棒:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!