STM32F407 位带配置步骤

发布者:CelestialGarden最新更新时间:2024-09-03 来源: elecfans关键字:STM32F407  位带  配置步骤 手机看文章 扫描二维码
随时随地手机看文章

介绍STM32F407位带操作方法,设置寄存器的偏移量,实现按GPIO口指定位进行读写操作,方便编程。


【1】位带操作配置说明

**位段操作:实现51单片机中寄存器的操作方法。 **


img

img

img

img

【2】源代码

Sys.c文件增加以下代码:


#include 'sys.h'

 /*

 函数功能:设置NVIC中断控制器优先级

 函数形参:

 IRQn_Type IRQn:中断线

 uint32_t PreemptPriority:抢占优先级

 uint32_t SubPriority:次优先级

 */

 void SetNVICPriorityGrouping(IRQn_Type IRQn,uint32_t PreemptPriority, uint32_t SubPriority)

 {

  uint32_t Priority;

  NVIC_SetPriorityGrouping(NVIC_PriorityGroup_2); //设置优先级分组,每个工程只能设置一次

    Priority=NVIC_EncodePriority(NVIC_PriorityGroup_2,PreemptPriority,SubPriority); //编码优先级

    NVIC_SetPriority(IRQn,Priority); //设置优先级

    NVIC_EnableIRQ(IRQn);

 }

Led.h 增加位带操作代码


#define LED0 PFout(9) 

 #define LED1 PFout(10) 

 #define BEEP PFout(8)

Key.h增加位带操作代码


#define KEY0 PEin(4) 

 #define KEY1 PEin(3) 

 #define KEY2 PEin(2) 

 #define KEY_UP PAin(0)

Main.c示例代码


#include 'stm32f4xx.h' // Device header

 #include 'led.h'

 #include 'delay.h'

 #include 'key.h'

 #include 'usart.h'

 #include 'sys.h'

 

 int main(void)

 {

 u8 i,key;

 LED_Init();

 KEY_Init();

 USART1_Init(84,115200);

 while(1)

 {

 key=ScanKeyVal(0);

 if(key)

 {

 i=!i;

 LED0=!LED0;

 LED1=!LED1;

 }

 }

 }


关键字:STM32F407  位带  配置步骤 引用地址:STM32F407 位带配置步骤

上一篇:STM32烧录出现The core is locked up的解决办法
下一篇:STM32无法连接JLink(Flash读写保护)解决方法

推荐阅读最新更新时间:2026-03-25 11:35

STM32F407 配置步骤
介绍STM32F407位带操作方法,设置寄存器的偏移量,实现按GPIO口指定位进行读写操作,方便编程。 【1】位带操作配置说明 **位段操作:实现51单片机中寄存器的操作方法。 ** 【2】源代码 Sys.c文件增加以下代码: #include sys.h /* 函数功能:设置NVIC中断控制器优先级 函数形参: IRQn_Type IRQn:中断线 uint32_t PreemptPriority:抢占优先级 uint32_t SubPriority:次优先级 */ void SetNVICPriorityGrouping(IRQn_Type IRQn,uint32_
[单片机]
<font color='red'>STM32F407</font> <font color='red'>位</font><font color='red'>带</font><font color='red'>配置</font><font color='red'>步骤</font>
STM32F407 GPIO口输入配置配置步骤
介绍 STM32 F407新建 寄存器 工程流程,介绍输入模式的配置方式,以按键为例完成按键输入 检测 。 【1】F407建工程所需依赖文件 【2】新建工程 【3】分析KEY按键 硬件 原理图 【4】编写KEY按键驱动代码 查看数据手册: key.c文件代码如下: #include key.h /* 函数功能:按键初始化配置 硬件连接: KEY0 --- PE4 按下为低电平 KEY1 --- PE3 按下为低电平 KEY2 --- PE2 按下为低电平 KEY_UP-- PA0 按下为高电平 */ void KEY_Init(void)
[单片机]
<font color='red'>STM32F407</font> GPIO口输入<font color='red'>配置</font><font color='red'>配置</font><font color='red'>步骤</font>
STM32F407 GPIO口输出配置配置步骤
STM32F407ZGT6 是意法半导体(STMicroelectronics)公司推出的一款高性能ARM Cortex-M4核心的32位微控制器(MCU)。它是 STM32F4 系列的一员,具备强大的处理能力和丰富的外设功能,适用于各种应用领域。 【1】F407建工程所需依赖文件 【2】 新建工程 **说明:STM32F4 的主频最高是 168Mhz,所以我们一般设置 PLLCLK 为 168Mhz(M=8,N=336,P=2),通过 SW 选择 SYSCLK=PLLCLK即可得到 168Mhz 的系统运行频率。** 【3】分析LED硬件原理图 【4】编写L
[单片机]
<font color='red'>STM32F407</font> GPIO口输出<font color='red'>配置</font><font color='red'>配置</font><font color='red'>步骤</font>
Keil5软件配置与新建STM32工程的步骤
新建工程文件夹 建立名字为LED的文件夹存放工程文件,其中再建立两个文件夹,Listing文件夹用于存放编译器编译时候产生的C语言、汇编、链接文件,Output文件夹用于存放编译产生的调试信息、hex文件、预览信息、封装库等。 文件夹建好之后,在LED文件夹下存放startup_stm32f10x_hd.s、stm32f10x.h、main.c文件。前两个文件可以在STM32F1xx的固件库中找到,第三个文件是空文件。 在Keil5中新建工程的步骤 如下图所示,Project-New,新建工程,工程名为Led,点击保存。 点击保存之后,弹出如下窗口,选择芯片型号。根据你开发板使用的芯片具体的型号来选择。如果这里没有出现你
[单片机]
[初级知识]s3c2416x时钟配置详细步骤
简介 先列出几个要用到的寄存器: LOCKCON0 LOCKCON1 OSCSET MPLLCON EPLLCON EPLLCON_K 这6个寄存器控制着2个内部的PLL锁相环,一个外部的晶体振荡器。这两个独立的PLL锁相环的输出值分别由MPLLCON和EPLLCON的设置值来决定。锁相环的稳定输出时间由LOCKCON0和LOCKCON1决定。晶体振荡器的稳定时间由OSCSET决定。 通常情况下,锁相环再被打开后,回向系统各个模块提供输出,但在稳定输出前,会有一些小抖动输出,为了过滤这些抖动输出,就需要在PLL被打开后,延迟一段时间再对各模块输出时钟,这里用到的延时值设置寄存器就是LOCKCON0和LOCKCON1,这两个
[单片机]
[初级知识]s3c2416x时钟<font color='red'>配置</font>详细<font color='red'>步骤</font>
stm32——串口配置一般步骤
1、串口时钟使能,GPIO时钟使能: RCC_APB2PeriphClockCmd() 2、串口复位 USART_DeInit(); ——非必需 3、GPIO端口模式设置 GPIO_Init(); ——模式设置为GPIO_Mode_AF_PP 4、串口参数初始化 USART_Init(); 5、开启中断并初始化NVIC(当开启中断的时候才需要这个步骤) NVIC_Init(); USART_ITConfig(); 6、使能串口 USART_Cmd(); 7、编写中断处理函数 USARTx_IRQHandler(); 8、串口数据收发 void USART_SendDa
[单片机]
stm32的SPI设置步骤,SPI配置参数
用stm32的库进行深入 SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。 四根线 MISO 主设备数据输入,从设备数据输出。 MOSI 主设备数据输出,从设备数据输入。 SCLK时钟信号,由主设备产生。 CS从设备片选信号,由主设备控制。 外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节 时钟极性CPOL对传输协议没有重大的影响,代表串行同步时钟的空闲状态下的电平。 时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串
[单片机]
STM32Cube的时钟配置步骤
一、打开工程 1.1直接法:双击工程文件中的“test.ioc”,如图: 1.2 利用STM32Cube打开工程 2、在Pinout中找到RCC,配置使能HSE 3、选择Clock Configuration进行配置 由于STM32F407外部时钟是8Mhz,最大为168Mhz,所有配置如下 可以清楚的看到各种总线能分到的频率。 ------------------------------------------------------------------------------------------------------------------------
[单片机]
STM32Cube的时钟<font color='red'>配置</font><font color='red'>步骤</font>
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved