历史上的今天

今天是:2024年09月06日(星期五)

正在发生

2019年09月06日 | stm32 起步 gpio操作

发布者:紫色小猫 来源: eefocus关键字:stm32  起步  gpio操作 手机看文章 扫描二维码
随时随地手机看文章

在工程中增加gpio lib.h和stm32头文件,如下: 


#include “stm32f10x.h” // Device header 

#include “stm32f10x_gpio.h”


调用lib配置gpio工作方式,先开启时钟,选GPIO,设置GPIO mode,gpio speed,主要看GPIO_InitTypeDef 结构体,芯片不同结构体不同,开始不清楚具体使用可以参考系统自带的example code,my setting如下: 


void GPIO_Initmain(void) 

GPIO_InitTypeDef GPIO_InitStructure; 

/* Configure all unused GPIO port pins in Analog Input mode (floating input 

trigger OFF), this will reduce the power consumption and increase the device 

immunity against EMI/EMC ***************************************/ 

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_3|GPIO_Pin_2; 

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 

GPIO_Init(GPIOD, &GPIO_InitStructure); 

}


初始化后,操作GPIO,GPIO操作可以参考gpio的lib,调用lib实现gpio操作,如下: 

/**增加一个delay 

@brief Inserts a delay time.

@param nCount: specifies the delay time length.

@retval None 

*/ 

void Delay(__IO u32 nCount) 

for(; nCount != 0; nCount–); 

}

int main(void) 

GPIO_Initmain(); //初始化 

while (1) 

/* Turn on LD1 */ 

GPIO_ResetBits(GPIOD,GPIO_Pin_2); // IO 口拉低 

GPIO_SetBits(GPIOD,GPIO_Pin_3); // IO 口拉高 

GPIO_SetBits(GPIOD,GPIO_Pin_4); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

GPIO_SetBits(GPIOD,GPIO_Pin_2); 

GPIO_ResetBits(GPIOD,GPIO_Pin_3); 

GPIO_SetBits(GPIOD,GPIO_Pin_4); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

GPIO_SetBits(GPIOD,GPIO_Pin_2); 

GPIO_SetBits(GPIOD,GPIO_Pin_3); 

GPIO_ResetBits(GPIOD,GPIO_Pin_4); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 

Delay(0xAFFFF); 


4.编译后down load运行,GPIO操作成功。


关键字:stm32  起步  gpio操作 引用地址:stm32 起步 gpio操作

上一篇:STM32定时器 输入捕获实现双边沿检测
下一篇:STM32F249按键中断控制LED+USART中断控制LED

推荐阅读

#define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出 #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入for example : PAout(0)=1 PA0输出高电平GPIOx_CRH 端口配置高位寄存器 IO 15:8GPIOG->CRH&=0xFF0FFFFF 清除PG13的模式GPIOG->CRH|=0x00300000 PG13推挽输出GPIOG->CRH&=0xFF0FFFFF 清除PG13的模...
MSP430单片机的定时器除了可以捕获,比较之外,还可以作为PWM波产生器直接在芯片内部联通IO口。在官方手册上就有:Timer_B7 is a 16-bit timer/counter with seven capture/compare registers. Timer_B7 can support multiplecapture/compares, PWM outputs, and interval timing. Timer_B7 also has extensive interrupt capabili...
微软Surface Duo历时5年时间终于上市发售,起售价1399.99美元(约合人民币9700元)。  虽然价格接近一万元人民币,但是微软Surface Duo不支持5G是一大遗憾。竞品三星Galaxy Z Fold 2 5G、Galaxy Z Flip 5G等折叠屏均已支持。  9月5日消息,据外媒报道,微软下一代Surface Duo将首次支持5G网络,弥补一代的短板。  报道指出,微软...
据外媒报道,负责轻型商用车开发和销售的大众独立品牌大众商用车(Volkswagen Commercial Vehicles)和自动驾驶技术公司Argo AI于9月5日推出首款ID Buzz AD(Autonomous Driving,自动驾驶)测试车。双方在大众夜间活动(VW night event)上分享了未来四年内测试和商业扩展联合开发的纯电动自动驾驶货车的计划。作为计划中的首批五辆测试车辆之一...

史海拾趣

问答坊 | AI 解惑

CNTTR通信电子培训资料电源工程设计

资料介绍: 电源工程设计培训 http://www.cndzz.com/user/show/1409.htm…

查看全部问答∨

求助关于基于单片机的数字PID调节问题

我正在做一个基于ATmega16单片机的直流调速系统 要用到PID控制 第一个问题是 怎么用ATmega16实现PID控制 第二个问题 怎么将PID的输出与PWM波的占空比联系起来…

查看全部问答∨

Nios 视频学习

Nios工程创建视频学习教程 内容包括: (1)SOPC Builder 的使用创建工程方法 (2)Quartus中的配置 (3)Nios中C语言工程的创建 (4)Nios中Flash的下载…

查看全部问答∨

数字转模拟(D/A) 隔离转换器485/232转4-20MA

数字转模拟(D/A) 隔离转换器:ISO DAO系列 RS232/RS485信号转模拟信号 隔离D/A转换器 产品概述: ISO DAO系列产品实现主机RS-485/232接口信号隔离转换成标准模拟信号,用以控制远程设备。ISODA系列产品可应用在 RS-232/RS-4 ...…

查看全部问答∨

二个程序它们各有静态变量或静态区。它们的静态区和操作系统的静态区有什么不同?

二个程序它们各有静态变量或静态区。它们的静态区和操作系统的静态区(事件EVENT,互斥体Mutex存放的地方)有什么不同?…

查看全部问答∨

转让友善micro2440sdk开发板

         本人去年7月份左右买了友善之臂的micro2440sdk开发板,现在将其转让,并且我愿意回答bootloader以及wince驱动的问题,其余不懂的我也会给一些意见。开发板网址http://www.arm9.net/micro2440sdk.asp就是这 ...…

查看全部问答∨

刷卡支付功能的手机的相关技术

可以给我讲讲有关刷卡支付功能的手机的关键开发技术吗?…

查看全部问答∨

求解答,工具是ccs2.2,读写flash空间和Clist问题

1.目前要把VC的程序刻录到板子上,请问原程序中用的是CList, c里面有替代的或差不多的吗?如果有,头文件是什么?刚接触这个,挺迷糊,刚 从一个辞职的同事上接手个半成品程序。 2. 请问怎么往板子里的flash空间写数据? typedef struct & ...…

查看全部问答∨

请高手前来帮忙-难题!

情况如下: 开发板为AU1200,自己进行了重开发。换掉了原来的网卡芯片。换成了DM9000AE 板子启动后。在YAMON无法网络下载(问题1.这里是否可以修改YAMON的源码,将网卡配置通?如果可以请告之方法,我对此一无所知。),通过串口下载了eboot.sre ...…

查看全部问答∨

WINCE 5.0 Proxy 客户端设置问题?

针对于Platform builder(Windows CE 5.0)的模拟环境下采用WININET API进行设置,通过Proxy访问外部网,其中Proxy需要认证,却可以通过,而相应的OS烧录入设备中却不通,何故?? PS. 应用WININET相关API如下:InternetOpen, InternetConnect, InternetS ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved