嵌入式系统开发07 |
您所在的位置:网站首页 › stm32f103c8t6功耗 › 嵌入式系统开发07 |
本文主要描述如何使用STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿黄LED搭建电路,并通过GPIOA-5、GPIOB-9、GPIOC-14 这3个引脚来控制控制LED灯轮流闪烁。 目录一、题目要求二、设计思路三、STM简介四、实现过程1、时钟配置2、输入输出模式设置、最大速率设置3、代码实现3.1 创建工程文件3.2 添加启动代码3.3 代码编写3.4 编译调试4、硬件连接5、实现效果五、总结一、题目要求假设你手中已有 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED,并搭建了电路,分别 GPIOA-5、GPIOB-9、GPIOC-14 这3个引脚上控制LED灯(最高时钟 2Mhz ),轮流闪烁,间隔时长1秒 。 1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数; 2)用C语言 寄存器方式 编程实现。 二、设计思路需要在 STM32F103C8T6 上面通过 初始化GPIO 来实现点亮 LED 灯。 外设实现的功能可能是完全不同的,但是,多数情况下,我们在设计程序的时候不需要考虑外设具体如何怎样实现功能,只需要给外设接在哪里、高电平有效还是低电平有效。因此,完成题目要求的时候,只需要找到 GPIOA-5、GPIOB-9、GPIOC-14 的地址,然后通过 GPIO的初始化,控制寄存器将片外引脚(我们称之为 IO口)拉低拉高, 输出高低电平,以控制LED亮灭。 点灯是所有学单片机的人都应该学会的一项技能。C51单片机和 stm32 点灯类似。 51单片机的点灯是,通过控制寄存器将片外引脚(我们称之为IO口)拉低拉高,输出高低电平,以控制LED亮灭。 其过程:单片机给指令->控制寄存器->给IO口电平->控制LED亮灭stm32的点灯则是,通过使能外设GPIO时钟,发出指令给外设GPIO,外设GPIO收到指令后,着手配置自己的寄存器,然后给IO口模式,让其实现各种功能。其过程:CPU给指令->GPIO收到指令->配置内部寄存器->配置IO口模式(注意是模式)->控制LED亮灭STM32开发板中包含较多寄存器,实现流水灯操作,需要对相应的引脚进行操作,对相应的引脚进行时钟配置、输入输出模式设置、最大速率设置。 于是利用 STM32F103C8T6 实现流水灯,要经过以下步骤: 时钟配置输入输出模式设置最大速率设置烧录程序运行三、STM简介STM32,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示32 位,合起来理解STM32就是指 ST 公司开发的 32 位微控制器。 STM32 本质上来说是一个微控制器,自带了各种常用通信接口,比如 USART、I2C、SPI 等,可连接非常多的传感器,可以控制很多的设备。现实生活中,我们接触到的很多电器产品都有 STM32 的身影,比如智能手环,微型四轴飞行器,平衡车、移动 POST 机,智能电饭锅,3D 打印机等等。 STM32 有很多系列,可以满足市场的各种需求,从内核上分有 Cortex-M0、M3、M4和 M7 这几种,每个内核又大致分为主流、高性能和低功耗。 单纯从学习的角度出发,可以选择 F1和 F4,F1代表了基础型,基于 Cortex-M3内核,主频为 72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。 STM32F103C8T6芯片介绍 ![]() ![]() 手册RCC_APB2ENR,位3是IOPBEN,名字是IO端口B时钟使能,就是我们想要的。把RCC_APB2ENR的位3赋值为1,就是开启GPIOB时钟 RCC->APB2ENR|=1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |