点亮LED
首先使能时钟RCC
然后再设置IO口
下面是用到的函数可在 UM0427 用户手册 固件函数库 中查到,有详尽解释
。
#include "stm32f10x.h"
void RCC_Configuration(void);
void GPIO_Configuration(void);
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
GPIO_SetBits(GPIOA, GPIO_Pin_0);
GPIO_SetBits(GPIOA, GPIO_Pin_1);
while(1);
}
void RCC_Configuration(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
关键字:stm32 点亮LED
引用地址:
stm32快速学习2——点亮LED
推荐阅读最新更新时间:2024-03-16 15:12
STM32串口IAP实验笔记
STM32的IAP功能确实方便,以前对此如何实现有所了解,但是一直没去测试,这两天来练了下,可谓困难重重,搞了两天问题也一一解决,下面做些简要的笔记 IAP就是在线应用编程,方便程序升级,可以不用打开产品,直接通过串口升级,那么就需要一个引导程序(大神们喜欢称bootload),一个APP程序(实际产品的工作程序) 减小测试难度,我设计了3个程序,一个bootload程序,一个LED闪烁程序,一个KEY+LED点动程序,我的目的就是用两个不一样的APP程序,互相升级,方便验证结果 我手里的开发板是STM32F103ZET,属于大容量产品,flash有512K, 我们的bootload和APP应用程序就需要在flash里面进行划分,
[单片机]
浅谈QSPI的特点以及QSPI的三种工作模式
意法半导体STM32F7系列MCU采用高性能的ARM Cortex-M7核心,借助ST的ART Accelerator™和L1缓存,STM32F7微控制器可提供Cortex-M7内核的最高理论性能,而无论代码是从嵌入式闪存还是由外部存储器执行的:1082 CoreMark / 462 DMIPS在216 MHz f CPU。带有新外围设备的智能架构。可利用STM32系列丰富的外设资源来外扩SRAM芯片。STM32F7支持QSPI. 意法半导体MCU STM32F7系列释放了Cortex-M7内核,AXI和多AHB总线矩阵,用于互连内核,外围设备和存储器。具有高达2MB的嵌入式闪存,在某些设备上具有读-写功能。两个用于以太网的通
[单片机]
STM32的通用定时器TIMx系统了解
通用定时器(TIMx) 一、TIMx简介 二、TIMx主要功能 三、TIMx功能描述 3.1 时基单元 3.2 计数器模式 3.3 时钟选择 3.4 捕获/比较通道 3.5 输入捕获模式 3.6 PWM输入模式 3.7 强置输出模式 3.8 输出比较模式 3.9 PWM 模式 3.10 单脉冲模式 四、简单例子理解TIMx 4.1 使得PB5-TIM3通道2产生频率为12.5Hz的方波,该方波控制LED1的闪烁 4.2 周期控制通用定时器3的2通道,实现1KHz的不同占空比波形,控制LED实现呼吸灯 本文涉及链接 一、TIMx简介 通用定时器是一个通过可编程预分频器驱动的16位自动装载
[单片机]
程序结构理解(2) 以stm32为例
stm32启动流程分析 这个是一个汇编与c语言结合的流程 stm32入口为 startup_stm32f10x_hd.s (即第一个执行的文件) 在这个文件中首先定义定义CSTACK数据段和.intvec代码段还有全局函数和全局变量 然后就是向量表 在然后就是向量表中的定义了各个函数。 同时复位函数作为程序运行的第一个函数 里面设置了时钟和main入口等 就这样进入了main 然后就调用了各个外设资源 流程大致总结如下 大概意思就这样吧
[单片机]
stm32专题三十七:自动分配变量到指定 SRAM 空间
当有多个内存块时,MDK 优先使用空间更大的内存。 使用 sct 文件来进行内存管理: 编程要点: 1 取消勾选Use Memory Layout from Target Dialog,然后直接点击 edit 来编辑工程的 sct 文件: sct 文件的默认配置如下所示: 看一下此时的 map 文件。可以看到,HEAP 和 STACK 都位于IRAM1 区域。 接下来,我们将64 KB的内存空间分成两块,如下所示(直接复制,然后修改): 我们将 64 KB 的内部SRAM,人为的分成了 20 + 28 KB,按照 MDK 优先使用大容量的空间进行存储,我们预计结果会是保存在ERAM1中,map文件证实
[单片机]
STM32的GPIO输入输出模式配置
最近在看数据手册的时候,发现STM32的GPIO输入输出模式的配置种类有8种之多(输入和输入各4种): (1)GPIO_Mode_AIN模拟输入 (2)GPIO_Mode_IN_FLOATING浮空输入 (3)GPIO_Mode_IPD下拉输入 (4)GPIO_Mode_IPU上拉输入 (5)GPIO_Mode_Out_OD开漏输出 (6)GPIO_Mode_Out_PP推挽输出 (7)GPIO_Mode_AF_OD复用开漏输出 (8)GPIO_Mode_AF_PP复用推挽输出 我们平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种,但对于各种模式下IO口的内部电路和典型应用,STM32的数据手册中也未曾做过详细的说明和归纳
[单片机]
STM32——GPIO的CRL、CRH和CNF与MODE的关系
GPIO的CRL、CRH和CNF与MODE的关系 STM32的CRL控制着每个IO端口的位占用CRL的4个位,高两位为CNF,低两位为MODE。 CRH的作用和CRL完全一样,只是CRL控制的是低8位输出口,而CRH控制的是高8位输出口。
[单片机]
STM32单片机FSMC的使用解析
在做项目的过程中遇到了这个问题,感觉文章写得不错,共享给对FSMC的使用怀有疑惑的同伴们! LCD有如下控制线: CS:Chip Select片选,低电平有效 RS:Register Select寄存器选择 WR:Write写信号,低电平有效 RD:Read读信号,低电平有效 RESET:重启信号,低电平有效 DB0-DB15:数据线 假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多): 如果情况如下: DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。 CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效) RS为1(表示DB0-15上传
[单片机]