原创 浅谈我对STM32 IO口的初步认识

2013-6-26 20:24 1794 12 13 分类: 消费电子

 先说说我对STM32 IO口的认识吧。

刚开始学习一款单片机的时候一般都是从操作IO口开始的,所以我也一样,先是弄个流水灯。
刚开始我对STM32的认识不够,以为是跟51单片机类似,可以直接操作端口,可是LED灯却没反应,于是乎,仔细查看资料发现,原来对于ARM,不管你要操作哪个IO口,都要先配置IO口。
不过对于普通的IO口的应用,配置会比较简单,主要就以下几个步骤:
1.打开相应IO口的时钟;
2.打开IO口相应引脚位;
3.配置IO口的模式;
4.初始化IO端口。
 
对于STM32的IO口可以根据需要由软件配置成8种模式:
1.输入浮空;
2.输入上拉;
3.输入下拉;
4.模拟输入;
5.开漏输出;
6.推挽输出;
7.推挽式复用功能;
8.开漏复用功能
 
那么我就把IO初始化端口的部分程序贴出来大家共享。
/***************************************************************************************
****************************************************************************************
* FILE : LED.c
* Description : LED flash
*  
* Study STM32 record.
* History:
          LED0            PA.0
 LED1            PA.1
 LED2          PA.12
 LED3            PA.13
 LED4            PA.14
 LED5            PA.15
* Version Name       Date Description
   1.0    Penny   2013.05.31
   
   
****************************************************************************************
****************************************************************************************/ 
 
#include "ms5.h"
 
void LED_Init(void)
{
 
GPIO_InitTypeDef  GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能PB端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; //LED0-->PB.0 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB口
GPIO_SetBits(GPIOB,GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15);//PB.0 输出高
 
delay_ms(10);
 
GPIO_ResetBits(GPIOB,GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15);
}
 
 

文章评论1条评论)

登录后参与讨论

用户1595735 2013-6-25 09:31

谢谢!我也是开始学习STM当中。。。很受教!
相关推荐阅读
用户1584489 2014-08-27 20:37
凤舞天讲msOS的OS
我们先讲OS部分,大家知道,系统启动之后,是从复位开始的 那么复位对应的栈,就是MSP栈 Cortex系列,存在两个栈 MSP和PSP 之所以分为两个栈,是为了给OS用的 注意,是专门...
用户1584489 2014-06-10 12:04
国产嵌入式微系统msOS成型记之一:何为嵌入式微系统
嵌入式微系统,顾名思义就是嵌入式微型操作系统,然而操作系统一词在嵌入式行业里往往专指uC/OS之类的带任务切换的系统,所以为了有别于这个专用名词,往往用开发平台一词来代替,所以嵌入式...
用户1584489 2014-04-10 10:53
嵌入式微平台(msOS)
          ...
用户1584489 2014-04-10 10:01
嵌入式微平台(msOS)简介
嵌入式微系统(msOS)是深圳市雨滴科技有限公司的王绍伟先生(网名:凤舞天)在2013年基于早期开发的“实用单片机系统,标识MS”,经过多年的MTK手机开发经验,结合自己具体的项目应用而升级推出的...
用户1584489 2014-04-10 09:43
评论:@雨滴-凤舞天 博客中提到的“阴阳五行”
老大的文章及其有道理,转一个...
用户1584489 2014-03-10 10:10
关于msPLC/msOS相关资料下载
 随着msOS的不断完善,源代码、相关文档和视频的完成,只是把资料放在群共享不能方便更多的人下载学习,所以现在把相关资料都放在了网盘里面,有需要的可以进到网盘下载。 360云盘:http://...
我要评论
1
12
关闭 站长推荐上一条 /2 下一条