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相关推荐

  1. STM32F4 HAL库开发 -- GPIO

    这种外设都之前都讲过了,专栏:stm32库开发实战指南. 但是使用STM32CubeMX该配置配置呢??接下来看一下. 一.GPIO简介 STM32F4 的 IO 可以由软件配置成如下 8 种模式中的 ...

  2. STM32CubeMX快速生成STM32F407ZG芯片寄存器初始化

    STM32CubeMX快速生成STM32F407ZG芯片寄存器初始化 STM32CubeMX对于一些使用STM32比较多的开发者比较熟悉,但对于刚接触STM32系列单片机的开发者就可能显得陌生一些.S ...

  3. 嵌入式学习笔记——使用寄存器编程操作GPIO

    使用寄存器编程操作GPIO 前言 GPIO相关的寄存器 GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..I) 位操作 GPIO 端口输出类型寄存器 (GPIOx_OTYPER) ...

  4. 4、PIC32系列 GPIO介绍

    PIC32系列 GPIO介绍 1.PIC32参考资源 2.GPIO寄存器介绍 3.使用寄存器配置IO口输出LED闪烁 4.库函数封装定义 5.库函数 6.实验验证 1.PIC32参考资源 PIC32系 ...

  5. A40i使用笔记:GPIO操作方式(用于测试设备io驱动性能)(传统方式、设备树方式、寄存器方式操作GPIO)

    一.前言 前文介绍了文件io的驱动方式,可以用于led点灯灭灯或者一些简单的不需求时序控制的ic操作,但是用于功能类ic,如AD采集芯片等时序控制需求高的,就不行了,这时候就需求高速io去实现指定的芯 ...

  6. STM32F103系列GPIO的一些基本概念和知识

    前言:本笔记为百问网7天物联网智能家居训练营学习总结 GPIO(General-Purpose IO ports,通用输入/输出接口),用于感知外界信号(输入模式)和控制外部设 备(输出模式),如图 ...

  7. 自制反汇编工具使用实例 其二(使用xmm寄存器初始化对象,以及空的成员函数指针)...

    在反汇编代码中,当看到xmm寄存器,第一反应是将要进行浮点操作或访问,但是更加多的情况是在使用xmm寄存器初始化局部对象. 下面是自制反汇编工具翻译出来的代码: // -[CALayer setAll ...

  8. STM32F103系列GPIO重映射一览表

    以下是STM32F103系列GPIO重映射一览表,参考一位博友的文章,大家学习!

  9. STM32F10x系列GPIO寄存器BRR、BSRR、ODR、IDR的使用理解

    引脚的高.低电平控制,有3种方法(3个寄存器) 分别是通过GPIO的 3个 管脚控制寄存器: ODR寄存器,   控制管脚的高.低电平,低16位有效,写1 高电平, 写0 低电平; BSRR寄存器, ...

最新文章

  1. vue子组件获取父组件数据_在vue.js中父组件是如何向子组件传递数据的?
  2. 《系统集成项目管理》第十五章 信息(文档)和配置管理
  3. Mybatis之占位符与拼接符
  4. 11-散列1 电话聊天狂人 (25 分)
  5. 关于操作系统的学习总结
  6. E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法
  7. CMDN创新应用推荐:搜狗号码通
  8. 软件项目中的成本构成及估算方法【转】
  9. 随机森林的原理分析及Python代码实现
  10. 从Altium官方网站下载库文件
  11. 一个敷衍的开头。。。
  12. java实现电脑端拨号+播放语音功能
  13. 第三方士大夫士大夫士大夫士大夫士大夫
  14. WIN10开机无限自动修复失败重启问题解决
  15. 蓝奏云 php 协议,蓝奏云网盘最新协议完整版附一套网络验证
  16. R求aitchison distance和ilr、clr、alr
  17. 解决Error: unable to perform an operation on node ‘rabbit@DESKTOP-xxx‘. Please see diagnostics informa
  18. python图案填充_Python:使用matplotlib颜色和图案填充字典
  19. 听说今天是七夕,那我们写一个网页开发来庆祝一下
  20. 微信公众号--根据用户opneId获取用户信息

热门文章

  1. Web网页设计-盒子模型
  2. 如何获取土豆网等在线视频FLV地址
  3. android 5.0 pie,Android各版本份额占比出炉:Android Pie仍未知
  4. 你知道一本书封面的著、编著、编、主编分别是什么意思吗?
  5. PNG免抠素材网,免费商用,设计师赶紧马住。
  6. Java 性能优化实战工具实践:如何获取代码性能数据?
  7. 网络编程+go+java,Go语言中的TCP/IP网络编程
  8. jekins 下载插件、安装插件报错
  9. 基于高斯两步移动搜寻法(2SFCA)的城市绿地可达性分析
  10. Babel 学习日记(0)