转自:http://blog.csdn.net/robin7513/archive/2010/04/06/5455555.aspx

硬件检测的工作很快完成了。接下来是开始调试一些程序了,对于调试一个新的MCU来说,最简单的也是最重要的自然是能够控制GPIO了。

为了对MCU有个直观的了解,这里给出模块框图

1、GPIO模式的相关介绍:

STM32的所有GPIO都可以设置成8中模式,主要的设置可以参考固件库的typedefine

/* Configuration Mode enumeration --------------------------------------------*/
typedef enum
{

GPIO_Mode_AIN = 0x0,//AD输入模式
    GPIO_Mode_IN_FLOATING = 0x04,//普通输入模式(浮空)
    GPIO_Mode_IPD = 0x28,//带下拉输入模式
    GPIO_Mode_IPU = 0x48,//带上拉输入模式
    GPIO_Mode_Out_OD = 0x14,//开漏输出模式
    GPIO_Mode_Out_PP = 0x10,//推挽输出模式
    GPIO_Mode_AF_OD = 0x1C,//复用功能的开漏输出模式
    GPIO_Mode_AF_PP = 0x18//复用功能的推挽输出模式

}GPIOMode_TypeDef;

2、GPIO初始化

通过系统模块图可以发现,所有的GPIO都处于APB2通道上的。所以要使用GPIO必须对APB2进行的相关设置。主要设置如下:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//使能APB2中GPIOC的时钟

然后就可以进行GPIO的初始化了,这里引用了一个典型例程来解释。

void GPIO_Configuration(void)
{

GPIO_InitTypeDef GPIO_InitStructure;//声明一个GPIO_InitTypeDef

/* Enable the USART2 Pins Software Remapping */
  GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);//重映射管脚

/* Configure USART1 Tx (PA.09) as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;//指定初始化的引脚位
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//指定初始化GPIO的速度
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//设置GPIO的模式
  GPIO_Init(GPIOA, &GPIO_InitStructure);//利用GPIO_InitStructure来初始化GPIO

}

从上面的内容可以看出。主要的初始化步骤其实有两个。

一个是填写GPIO_InitStructure中的内容

/* GPIO Init structure definition */
typedef struct
{

u16 GPIO_Pin;
  GPIOSpeed_TypeDef GPIO_Speed;
  GPIOMode_TypeDef GPIO_Mode;

}GPIO_InitTypeDef;

然后是利用GPIO_Init(。。。)函数来初始化指定的GPIO。

最后可以使用

GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1);
       GPIO_ResetBits(GPIOC, GPIO_Pin_2 | GPIO_Pin_3);

来使GPIO置1或置0。

(其它更多操作,可以参考固件库说明手册)

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/robin7513/archive/2010/04/06/5455555.aspx

STM32F103--(二) GPIO实践相关推荐

  1. STM32F103:二.(3)DHT11温湿度

    STM32F103:二.(3)DHT11温湿度 模块介绍 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠 ...

  2. 中班音乐活动 机器人_【家门口的好幼儿园】玩转音乐,释放天性——岳阳幼儿园开展松江区骨干共同体名师二团实践研究活动...

    MUSIC 玩转音乐 释放天性 来园签到 11月20日上午,岳阳幼儿园开展了由业务园长张准老师带领的松江区骨干共同体名师二团实践研究活动.此次活动有幸邀请到了松江区学前教育科何琳芳科长.上海市特级园长 ...

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

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

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

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

  5. 基于sklearn的LogisticRegression二分类实践

    文章目录 1. 预备知识 2. 实践代码 3. 结果对比 3.1 正态分布 3.2 均匀分布 3.3 修改Pipeline 3.3.1 删除多项式转换 3.3.2 删除归一化项 3.3.3 删除多项式 ...

  6. STM32F103:二.(2)串口控制LED

    串口控制LED 大概通一下流程,具体USART和NVIT后续再写 不得抱怨一句,这芯片贵的让人发吐,让我们学生党还怎么活 最近学习越学越没有动力,一点学习的心情都没,脑壳疼,先把32入门看后续写会不会 ...

  7. 天池小布助手对话短文本语义匹配-文本二分类实践(pytorch)

    目标:对句子二分类,检测两个句子是否表达是同一个意思,模型数据来自天池全球人工智能技术创新大赛[赛道三]详情 数据格式: 模型:textcnn,lstm,lstm+attention最后选择用最后一种 ...

  8. python网络爬虫学习笔记(7)动态网页抓取(二)实践

    文章目录 1 资料 2 笔记 2-1 准备 2-1-1. 网址 2-2-2 文本位置 2-2 代码 2-2-1 原型 2-2-2 ver0.1 1 资料 <Python网络爬虫从入门到实践> ...

  9. MSP430学习总结(二)——GPIO

    文章目录 一.MSP430 Digital I/O概述 二.Digital IO的配置 1. 输入功能 1.1方向寄存器 1.2上拉/下拉使能寄存器 1.3输入状态寄存器 2. 输出功能 2.1输出寄 ...

  10. 跨境电商背景下,DolphinScheduler 在 SHEIN 的二开实践

    分享嘉宾:董文彬 编辑整理:低代码无代码平台Treelab 张德通 SHEIN是一家中国跨境电商巨头公司,也是一家估值千亿的美金独角兽企业.本次分享由SHEIN架构部资深后端开发工程师董文彬介绍海豚调 ...

最新文章

  1. javascript实现yield
  2. C语言之字符串处理函数
  3. UVa 10082 - WERTYU 解题报告 - C语言
  4. RabbitMQ临时队列
  5. 子窗体列表在菜单中的实现
  6. 【MAC】Ncnn 编译so文件方案
  7. java class private_Java class 中public、protected 、friendly、private的区别
  8. BZOJ 4992: [Usaco2017 Feb]Why Did the Cow Cross the Road
  9. MySql access denied for user错误
  10. bzoj 3513: [MUTC2013]idiots FFT
  11. HTML5期末大作业:家乡介绍网站设计——辽宁沈阳网页设计(11页) HTML+CSS+JavaScript 旅游网页HTML代码 学生网页设计与制作期末作业下载 大学生网页设计与制作成品
  12. R语言---ggplot图片边缘空白设置和ggplot映射的shape值多余6个
  13. php点击打开新窗口打开网页,php实现弹出新页面的方法
  14. 数据结构设计题大题总结(非代码)
  15. 看板记录工具wekan
  16. 计算机二级考试Python编程试题解读:使用turtle库绘制三角形
  17. 大数据(3i)Sqoop安装和操作
  18. 谷歌浏览器屏蔽百度热点搜索
  19. 详解TCP 三次握手和四次挥手
  20. Dave Cheney例说Go运行时内存分配 | Gopher Daily (2021.01.06) ʕ◔ϖ◔ʔ

热门文章

  1. 系统自动登录及盘符无法双击打开问题处理
  2. MVC匿名类传值学习
  3. java性能调优03
  4. 2016年云巴产品更新合集
  5. 超好用的移动端布局自适应大小rem判断js文件及超过一定高度回到顶部按钮代码...
  6. 使用pecl安装qqwry
  7. htm、html、shtml网页区别
  8. Android下PopupWindow隐藏及显示(showAtLocation/showAsDropDown)
  9. IE6、 IE7、IE8、Firefox兼容性问题
  10. pacs定位线_PACS中MR序列定位线的绘制