【AT32F407VGT7--GPIO配置】

基于STM32F407VGT6芯片----跑马灯实验 以 LED1 配置为例,点击 PC4,选择模式为 GPIO_Output 模式,LED1 的负极接 PC4 引 脚,所以,PC4 为高电平时 LED 熄灭,这里 PC4 的 output level 选择高电平,即上电复位 后 PC4 位高电平,默认为熄灭,把 User Label 标记为 LED1,同理 PC5、PA6、PA7 做同样 的选择和配置。设置一个文件夹,生成代码。 阅读详情

【GPIO配置】

typedef struct
{
	  union
	  {
	    __IO uint32_t cfglr;
	    struct
	    {
	      __IO uint32_t iomc0                : 2; /* [1:0] */
	      __IO uint32_t iofc0                : 2; /* [3:2] */
	      __IO uint32_t iomc1                : 2; /* [5:4] */
	      __IO uint32_t iofc1                : 2; /* [7:6] */
	      __IO uint32_t iomc2                : 2; /* [9:8] */
	      __IO uint32_t iofc2                : 2; /* [11:10] */
	      __IO uint32_t iomc3                : 2; /* [13:12] */
	      __IO uint32_t iofc3                : 2; /* [15:14] */
	      __IO uint32_t iomc4                : 2; /* [17:16] */
	      __IO uint32_t iofc4                : 2; /* [19:18] */
	      __IO uint32_t iomc5                : 2; /* [21:20] */
	      __IO uint32_t iofc5                : 2; /* [23:22] */
	      __IO uint32_t iomc6                : 2; /* [25:24] */
	      __IO uint32_t iofc6                : 2; /* [27:26] */
	      __IO uint32_t iomc7                : 2; /* [29:28] */
	      __IO uint32_t iofc7                : 2; /* [31:30] */
	    } cfglr_bit;
	  };
	//……else cfg	
}gpio_type;

上述列出为GPIO的配置低寄存器,对pin0~7进行配置,每pin占用4bits
两bits为IOMC,对GPIO模式进行配置,两bits为IMFC,对GPIO功能进行配置

用库函数配置GPIO模式时用下面枚举变量给gpio_init_struct->gpio_mode 赋值即可

typedef enum
{
  GPIO_MODE_INPUT                        = 0x00, /*!< gpio input mode */
  GPIO_MODE_OUTPUT                       = 0x10, /*!< gpio output mode */
  GPIO_MODE_MUX                          = 0x08, /*!< gpio mux function mode */
  GPIO_MODE_ANALOG                       = 0x03  /*!< gpio analog in/out mode */
} gpio_mode_type;

用库函数配置GPIO功能时,主要用下面枚举变量分别给gpio_init_struct->gpio_drive_strength、gpio_init_struct->gpio_out_type、gpio_init_struct->gpio_pull赋值即可(与STM32应该基本一致)

typedef enum
{
  GPIO_DRIVE_STRENGTH_STRONGER           = 0x01, /*!< stronger sourcing/sinking strength */
  GPIO_DRIVE_STRENGTH_MODERATE           = 0x02  /*!< moderate sourcing/sinking strength */
} gpio_drive_type;

/**
  * @brief gpio output type
  */
typedef enum
{
  GPIO_OUTPUT_PUSH_PULL                  = 0x00, /*!< output push-pull */
  GPIO_OUTPUT_OPEN_DRAIN                 = 0x04  /*!< output open-drain */
} gpio_output_type;

/**
  * @brief gpio pull type
  */
typedef enum
{
  GPIO_PULL_NONE                         = 0x0004, /*!< floating for input, no pull for output */
  GPIO_PULL_UP                           = 0x0018, /*!< pull-up */
  GPIO_PULL_DOWN                         = 0x0028  /*!< pull-down */
} gpio_pull_type;
STM32F407VGT6新手避坑指南:从MDK安装到第一个LED闪烁(附完整代码) 本文详细介绍了STM32F407VGT6开发板从MDK安装到第一个LED闪烁的完整避坑指南。针对Keil MDK环境搭建、ST-Link连接、时钟配置、GPIO控制等关键步骤,提供了经过验证的解决方案和完整代码示例,帮助嵌入式开发新手快速上手STM32开发。 阅读详情

相关推荐

STM32F407VGT6新手避坑指南:从MDK安装到串口调试,手把手搞定第一个工程

第一次接触STM32F407VGT6开发板的嵌入式新手,往往会在开发环境搭建和基础功能实现过程中遇到各种意想不到的问题。本文将从实际项目经验出发,梳理开发过程中最常见的"坑"及其解决方案,帮助开发者快速上手。许多教程会直接告诉你"安装MDK和芯片支持包即可",但实际操作中总会遇到各种意外情况。:使用Segger SystemView分析RTOS任务。目录是否存在,这是验证支持包是否安装成功的最直接方式。:实时输出调试信息不占用串口。:查看外设寄存器实时状态。提示:安装完成后检查。

weixin_30776545的博客 375

M-Arch(雅特力M4)【AT-START-F425测评】No.06 驱动段码LCD

前言还是之前折腾GD32L233时弄的一块SLCD屏,改吧改吧就在AT32F425上跑起来了。板子其实比较简单,打板如下:SLCD板其中:信号管脚RC参数中的R参数以及VLCD的分压电阻可直接参考手册。如何测试裸屏裸屏是交流信号驱动,直接用DC是不行的,得用交流测试。用一段线缠绕在交流线上面,就可以测试了。SLCD裸屏测试测试结果段码液晶的原理SLCD参数其中最关键的驱动...

趣Python 849

【STM32】BLDC驱动&控制开发笔记 | 07_SPI通信测试 - STM32F407用SPI配置DRV8323驱动芯片

使用STM32F407的SPI通信功能配置DRV8323S驱动芯片的详细过程说明。

这里是 F菌的进阶之路。 6290

【优秀课设】基于STM32F407ZE粤嵌GEC-M4开发板的呼吸灯、外部中断、定时器延时、PWM及按键密码系统

基于STM32F407ZE粤嵌GEC-M4开发板的呼吸灯、外部中断、定时器延时、PWM及按键密码系统 沿用https://blog.youkuaiyun.com/weixin_53403301/article/details/121531067?spm=1001.2014.3001.5502 的改进 直接上代码: # include "stm32f4xx.h" # include "GPIO.h" # include "DELAY.h" //外部中断0初始化 PA0 void init_EXTI0(void) {

Mike Zhou的博客 2867

Android蓝牙Mesh组网实战:从零搭建智能灯光控制系统(附完整代码)

本文详细介绍了基于Android平台开发蓝牙Mesh智能灯光控制系统的完整实战流程。从环境搭建、核心概念解析,到设备扫描配网、网络初始化、模型配置与消息通信,提供了完整的代码实现和调试技巧。重点讲解了如何使用开源Mesh库实现设备发现、分组控制、场景管理等核心功能,并分享了实际项目中遇到的典型问题与解决方案。

weixin_29174013的博客 656

基于Vector 的AUTOSAR NvM 模块使用

本文主要讲述Vector的两款工具configurator和Developer关于NvM的配置流程,包括如何新建NvM SWC以及添加和修改NvM block,Developer主要涉及NvM SWC的新建、添加新NvM Block以及修改原有的NvM Block;Configurator主要涉及三个模块NvM、Fee以及Fls,以下将分为两个模块对该部分进行介绍。 一、Developer 使用 1.1 新建NvM SWC并实例化 如下图,为Developer左列列表 图 1.1...

Fly_To_Skyhehe的博客 4962

快速上手Keil开发环境创建AT32项目

这些工具链的版本兼容性非常重要,特别是对于初学者来说,建议直接使用文章中提到的2.0.2版本扩展包和5.8.0版本的CMSIS包,避免因版本差异导致的编译问题。这个设置可以避免中文注释可能出现的乱码问题,同时也兼容各种特殊字符的显示。掌上实验室内置了AT-Link-Ez仿真器,在Debug选项卡中需要选择CMSIS-DAP接口,并将时钟频率设置为10MHz以获得较快的下载速度。,可以快速生成基础项目框架,省去了手动配置开发环境的繁琐步骤。点击运行按钮后,如果一切配置正确,开发板上的LED4应该会被点亮。

ThunderstormFalcon78的博客 956

矢量量化的基本原理:高效数据压缩与信息检索的关键矢量量化(Vector Quantization,简称VQ)是一种数据压缩和信

此外,在矢量量化过程中,可能会引入一定的信息损失,对一些精细特征的表示可能存在一定的误差。它通过将高维数据映射到低维码本空间中,并将相似的数据映射到相同的码本向量中,实现对数据的高效表示和存储。最重要的是,矢量量化可以用于数据的检索和分析,提供了高效的数据查询和处理手段。通过使用码本索引,我们可以高效地存储和检索大量的数据。在图像处理中,矢量量化可以用于图像压缩,将复杂的图像数据转化为较少的码字,实现图像的存储和传输。矢量量化通过将连续的高维数据分割并映射到有限的码本集合中,实现数据的离散表示和压缩。

m0_70886513的博客 1373

[单片机框架][bsp层][AT32F415][bsp_gpio] GPIO配置和使用

GPIO 通用输入输出接口支持5组16引脚,可配置为输入、输出或复用功能,具备推挽/开漏输出、上下拉电阻、外部中断及模拟功能。通过配置寄存器(CTRLL/CTRLH)设定模式,数据寄存器(IPTDT/OPTDT)控制输入输出,置位/复位寄存器实现快速电平翻转。使用时需注意引脚重映射与内部上拉影响,如PB3需禁用JTAG以避免拉低失败。代码示例展示初始化输出、输入模式及反初始化操作,确保引脚正确配置。

嵌入式单片机实验室 1800

STM32与小米CyberGear微电机的CAN通信协议深度解析

本文深度解析STM32与小米CyberGear微电机的CAN通信协议,涵盖硬件连接、CAN总线配置、通信协议解析及多电机协同控制。重点介绍了基于STM32的电机控制实践,包括运动模式、速度与位置模式设置,以及数据反馈与故障诊断,为机器人及自动化设备开发提供实用指南。

www00的博客 361

【FPGA】Robei EDA的使用(10)————如何更新EDA的使用license

#海卑而下,能聚众水;学问笃实,以生光辉。 有的时候,有些问题自己通过查找资料解决,宁愿磨难一下,走点弯路,但收获更深刻的认知;不过,有些问题,问一下别人,可能会避免自己耗费过多时间做无用工,这些问题问会的人是极好的。但是怎样把握这个问题的类型,大约只能靠经验了~ (问我为何出此感言,谁叫我纠结了两天的问题,被人家一句话解决,我这个恨啊) ————————————————————正文开始的分割线———————————————— Robei EDA在使用上会有一个注册码,这个license在获取之后,每一次的

Ninquelote的博客 1004

Sinking and Sourcing Concepts漏和源的概念

Sinking and Sourcing Concepts漏和源的概念When choosing the type of input or output module for your system (or DL05/DL06/DL105 I/O type), it is very important to have a solid understanding of sinking a

seajack的ASP.Net学习笔记 4292

中文实体关系抽取数据集大盘点:从百度Duie2.0到医疗CBLUE,哪个更适合你的NLP项目?

本文全面分析了中文实体关系抽取领域的主流数据集,包括百度DuIE 2.0、医疗CBLUE等,帮助开发者根据项目需求选择最适合的数据集。文章详细对比了各数据集的特点、适用场景及优化策略,为自然语言处理项目提供实用指南。

weixin_29284657的博客 121

STM32/AT32 MCO管脚输出时钟配置

STM32/AT32 MCO管脚输出时钟配置

qq_38295600的博客 3297

【PostgreSQL】PostgreSQL数据库函数比对模板(PG通用)

LOOKUP 函数从单行或单列区域 (区域:工作表上的两个或多个单元格。区域中的单元格可以相邻或不相邻。)或数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。LOOKUP 函数具有两种语法形式:向量形式和数组形式。vlookup查找匹配值超过255个字符显示#Value的解决办法。如果值为错误值 #N/A,则返回 TRUE。

tttzzzqqq2018的博客 1494

【ArcGIS遇上Python】ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换

由于论文的需要,将MODIS NDVI数据进行投影变换和格式转换,具体操作可以参照:《ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换》,但是该文章中的做法只能一次性实现一景影像的转换,没法批量,虽然ArcGIS中提供了Batch的方法但是需要挨个添加数据,确定输出路径等等,本文就实现以ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换。先来看投影后的效果: 在实现批量投影转换之前,需要两个投影文件:Sinusoidal.prj和MyAl

智慧空间实验室 3815

STM32F407VGT6开发笔记

开发环境安装 1.点击mdk_xxx.exe,安装MDK软件; 2.点击Keil.STM32FXxx_DFP.x.x.x.pack,安装芯片支持包 仿真器连接 连线方式 主控板程序烧写接口如下图: ST-Link-V2各引脚定义: SWCLK--------------------------->SWCLK SWDIO--------------------------->SWDIO VCC --------------------------->VCC GND

qq_39486659的博客 6767

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

STM32F407VGT芯片的操作之流水灯

重点内容 STM32F407VGT芯片的操作 1、时钟配置 void SetSysClock(void){ // ——————– 设置HSE时钟 ——————– // 设置时钟 // 使用外部时钟源作为HSE,禁止内部振荡器 // 使用有源晶振 CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); // 启用HSE

fasterry 5015

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

STM32CubeMX使用2 配置GPIO输出

STM32F407VGT6 cube使用2 配置GPIO输出生成Keil项目

henan_zhang的博客 580

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

RT-Thread AT32F407 AT-START 开发板 BSP 指南:环境搭建、外设驱动与上手实践

本篇技术指南围绕 RT-Thread 开源仓库中 AT32F407 AT-START 开发板的板级支持包(BSP)展开,介绍其硬件资源、外设驱动支持情况、编译环境的搭建流程,以及如何在 MDK5 环境下将 RT-Thread 系统跑起来并观察实验效果。读完本文,你将掌握该 BSP 的目录结构、驱动裁剪方式(menuconfig)、工程生成命令(scons)与串口/GPIO 等外设的底层映射关系,能

gitblog_00365的博客 931

GD32F407入坑指南 第三章

GD32系列文章均采用KEIL5(V5.35版本),芯片包及固件库版本V3.2.0,使用GD32F407VGT6芯片。相关文档下载地址,后续更新内容也会放在这个文件路径中。链接:https://pan.baidu.com/s/1qJEMaxVjLQHTjE1yh4df6Q提取码:amvj本章将GD32F407和STM32F407的GPIO进行对比。

chen18221987993的博客 4745

【STM32F407VGT6】8.7HAL库按键点灯

本文介绍了基于STM32的GPIO控制实现方法,主要包含按键检测和LED控制功能。首先通过CUBEMX配置GPIO,使用HAL库函数实现GPIO状态读取(HAL_GPIO_ReadPin)、电平设置(HAL_GPIO_WritePin)和翻转(HAL_GPIO_TogglePin)等基础操作。文中提供了多个实验示例

m0_75238596的博客 759

STM32F407VGT6 使用DMA 学习笔记 DMA通道选择

STM32F407串口DMA学习用笔记

weixin_44704641的博客 1813

STM32F407学习之GPIO

一、简单介绍 最近,通过百度之星拿到了一块STM32F4-DISCOVERY的开发板,这块板子基于STM32F407VGT6芯片,包括一个板载的有嵌入式调试工具接口的ST-LINK/V2,ST MEMS数字加速器,ST MEMS 数字麦克风,音频DAC集成了class D扬声器驱动器,LED灯,按钮和一个USB OTG的micro-AB连接器。这块板子的功能也比较强大,很适合学习,下面是官方

1529

STM32CubeMX使用3 配置GPIO输入

STM32F407VGT6 cube使用3 配置GPIO输入生成Keil项目

henan_zhang的博客 518
上一篇: 【Uart,Usart、TTL和RS232、RS422、RS485】
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值