STM32F4寄存器初始化系列:GPIO
1 static void GPIO_Init(void) 2 { 3 4 //sound 5 GPIO_Set(GPIOB,PIN4,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_NONE);//复用功能 6 PBout(4)=0; 7 8 //24路ADC采集 9 GPIO_Set(GPIOA,PIN0|PIN1|PIN2|PIN3|PIN4|PIN5|PIN6|PIN7,GPIO_MODE_AIN,0,0,GPIO_PUPD_PD); //PA0,模拟输入,下拉 10 GPIO_Set(GPIOB,PIN0|PIN1,GPIO_MODE_AIN,0,0,GPIO_PUPD_PD); //PA0,模拟输入,下拉 11 GPIO_Set(GPIOC,PIN0|PIN1|PIN2|PIN3|PIN4|PIN5,GPIO_MODE_AIN,0,0,GPIO_PUPD_PD); 12 GPIO_Set(GPIOF,PIN3|PIN4|PIN5|PIN6|PIN7|PIN8|PIN9|PIN10,GPIO_MODE_AIN,0,0,GPIO_PUPD_PD); 13 14 //TFT 15 GPIO_Set(GPIOG,PIN13|PIN14|PIN15,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD);//PG13/PG14设置 16 GPIO_AF_Set(GPIOB,3,5); //PB3,AF5 17 GPIO_AF_Set(GPIOB,5,5); //PB3,AF5 18 GPIO_Set(GPIOB,PIN3|PIN5,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD);//复用功能,下拉输出 19 20 21 //触摸 22 GPIO_Set(GPIOE,PIN0,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 23 GPIO_Set(GPIOB,PIN9|PIN7,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 24 GPIO_Set(GPIOB,PIN6,GPIO_MODE_IN,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 25 GPIO_Set(GPIOB,PIN8,GPIO_MODE_IN,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU); 26 27 //指南针USART2 28 GPIO_AF_Set(GPIOD,6,7); //接收 29 GPIO_Set(GPIOD,PIN5,GPIO_MODE_OUT,GPIO_OTYPE_OD,GPIO_SPEED_50M,GPIO_PUPD_PU); 30 PDout(5)=1; 31 32 GPIO_Set(GPIOD,PIN6,GPIO_MODE_AF,GPIO_OTYPE_OD,GPIO_SPEED_50M,GPIO_PUPD_PU); 33 34 //蓝牙USART5 35 GPIO_AF_Set(GPIOD,2,8); 36 GPIO_AF_Set(GPIOC,12,8); 37 GPIO_Set(GPIOD,PIN2,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU); 38 GPIO_Set(GPIOC,PIN12,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU); 39 40 //蓝牙匹配状态 41 GPIO_Set(GPIOG,PIN5,GPIO_MODE_IN,GPIO_OTYPE_OD,GPIO_SPEED_2M,GPIO_PUPD_NONE); 42 43 //蓝牙指令和透传切换 空闲高电平, 发送80ms低脉冲可切换 44 GPIO_Set(GPIOG,PIN6,GPIO_MODE_OUT,GPIO_OTYPE_OD,GPIO_SPEED_2M,GPIO_PUPD_PU); 45 PGout(6)=1; 46 47 //蓝牙断开匹配 空闲高电平, 发送80ms低脉冲可断开 48 GPIO_Set(GPIOG,PIN7,GPIO_MODE_OUT,GPIO_OTYPE_OD,GPIO_SPEED_2M,GPIO_PUPD_PU); 49 PGout(7)=1; 50 51 //蓝牙开关 高关闭,低打开 52 GPIO_Set(GPIOA,PIN8,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_2M,GPIO_PUPD_PD); 53 PAout(8)=0; 54 55 //LED灯 56 GPIO_Set(GPIOF,PIN0,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_2M,GPIO_PUPD_PU); 57 PFout(0)=1; 58 59 60 //主电机PWM输出 ************ 61 GPIO_AF_Set(GPIOD,12,2); //PD12,AF2 定时器4 62 GPIO_AF_Set(GPIOD,13,2); //PD13,AF2 63 GPIO_AF_Set(GPIOD,14,2); //PD14,AF2 64 GPIO_AF_Set(GPIOD,15,2); //PD15,AF2 65 GPIO_Set(GPIOD,PIN12|PIN13|PIN14|PIN15,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_NONE);//复用功能 66 67 GPIO_AF_Set(GPIOC,6,3); //PC6,AF3 定时器8 68 GPIO_AF_Set(GPIOC,7,3); //PD7,AF3 69 GPIO_AF_Set(GPIOC,8,3); //PD8,AF3 70 GPIO_AF_Set(GPIOC,9,3); //PD9,AF3 71 GPIO_Set(GPIOC,PIN6|PIN7|PIN8|PIN9,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_NONE);//复用功能 72 73 //RUN ********** 74 GPIO_Set(GPIOG,PIN3,GPIO_MODE_IN,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU); 75 76 //KM ******* 77 GPIO_Set(GPIOG,PIN9,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 78 79 //DJ ********* 80 GPIO_Set(GPIOD,PIN7,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PD); 81 82 83 }
转载于:https://www.cnblogs.com/penuel/p/11265274.html
STM32F4寄存器初始化系列:GPIO相关推荐
- STM32F4 HAL库开发 -- GPIO
这种外设都之前都讲过了,专栏:stm32库开发实战指南. 但是使用STM32CubeMX该配置配置呢??接下来看一下. 一.GPIO简介 STM32F4 的 IO 可以由软件配置成如下 8 种模式中的 ...
- STM32CubeMX快速生成STM32F407ZG芯片寄存器初始化
STM32CubeMX快速生成STM32F407ZG芯片寄存器初始化 STM32CubeMX对于一些使用STM32比较多的开发者比较熟悉,但对于刚接触STM32系列单片机的开发者就可能显得陌生一些.S ...
- 嵌入式学习笔记——使用寄存器编程操作GPIO
使用寄存器编程操作GPIO 前言 GPIO相关的寄存器 GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..I) 位操作 GPIO 端口输出类型寄存器 (GPIOx_OTYPER) ...
- 4、PIC32系列 GPIO介绍
PIC32系列 GPIO介绍 1.PIC32参考资源 2.GPIO寄存器介绍 3.使用寄存器配置IO口输出LED闪烁 4.库函数封装定义 5.库函数 6.实验验证 1.PIC32参考资源 PIC32系 ...
- A40i使用笔记:GPIO操作方式(用于测试设备io驱动性能)(传统方式、设备树方式、寄存器方式操作GPIO)
一.前言 前文介绍了文件io的驱动方式,可以用于led点灯灭灯或者一些简单的不需求时序控制的ic操作,但是用于功能类ic,如AD采集芯片等时序控制需求高的,就不行了,这时候就需求高速io去实现指定的芯 ...
- STM32F103系列GPIO的一些基本概念和知识
前言:本笔记为百问网7天物联网智能家居训练营学习总结 GPIO(General-Purpose IO ports,通用输入/输出接口),用于感知外界信号(输入模式)和控制外部设 备(输出模式),如图 ...
- 自制反汇编工具使用实例 其二(使用xmm寄存器初始化对象,以及空的成员函数指针)...
在反汇编代码中,当看到xmm寄存器,第一反应是将要进行浮点操作或访问,但是更加多的情况是在使用xmm寄存器初始化局部对象. 下面是自制反汇编工具翻译出来的代码: // -[CALayer setAll ...
- STM32F103系列GPIO重映射一览表
以下是STM32F103系列GPIO重映射一览表,参考一位博友的文章,大家学习!
- STM32F10x系列GPIO寄存器BRR、BSRR、ODR、IDR的使用理解
引脚的高.低电平控制,有3种方法(3个寄存器) 分别是通过GPIO的 3个 管脚控制寄存器: ODR寄存器, 控制管脚的高.低电平,低16位有效,写1 高电平, 写0 低电平; BSRR寄存器, ...
最新文章
- vue子组件获取父组件数据_在vue.js中父组件是如何向子组件传递数据的?
- 《系统集成项目管理》第十五章 信息(文档)和配置管理
- Mybatis之占位符与拼接符
- 11-散列1 电话聊天狂人 (25 分)
- 关于操作系统的学习总结
- E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法
- CMDN创新应用推荐:搜狗号码通
- 软件项目中的成本构成及估算方法【转】
- 随机森林的原理分析及Python代码实现
- 从Altium官方网站下载库文件
- 一个敷衍的开头。。。
- java实现电脑端拨号+播放语音功能
- 第三方士大夫士大夫士大夫士大夫士大夫
- WIN10开机无限自动修复失败重启问题解决
- 蓝奏云 php 协议,蓝奏云网盘最新协议完整版附一套网络验证
- R求aitchison distance和ilr、clr、alr
- 解决Error: unable to perform an operation on node ‘rabbit@DESKTOP-xxx‘. Please see diagnostics informa
- python图案填充_Python:使用matplotlib颜色和图案填充字典
- 听说今天是七夕,那我们写一个网页开发来庆祝一下
- 微信公众号--根据用户opneId获取用户信息