历史上的今天
今天是:2024年09月06日(星期五)
2018年09月06日 | STM32学习记录之GPIO篇
2018-09-06 来源:eefocus
本篇学习目的:
一、学会对STM32芯片GPIO的基本操作
二、对GPIO的相关函数进行二次封装,以便于后期开发
开发板GPIO原理图如下
由图可知LED接在GPIOC的PC0-PC7
STM的GPIO有如下8中模式
GPIO相关库函数
GPIO模式配置函数:GPIO_Init(GPIO_TypeDef *GPIOx,GPIO_InitTypeDef *GPIO_InitStruct);
第一个参数用来指定GPIO口,取值范围GPIOA—GPIOG
第二个参数用来初始化参数结构体指针,参数结构体定义如下:
typedef struct{
uint16_t GPIO_Pin; //选择要设置的Pin口
GPIOSpeed_TypeDef GPIO_Speed;//设置IO的速率
GPIOMode_TypeDef GPIO_Mode;//设置IO的工作模式
}GPIO_InitTypeDef;
GPIO实验例程:
#define LED GPIO_Pin_All
void Led_Init(){
GPIO_InitTypeDef GPIO_InitStruct; //声明一个参数结构体变量
SystemInit();//初始化系统时钟
RCC_APB2PerichClockCmd(RCC_APB2Perich_GPIOC,ENABLE);
//具体参数配置
GPIO_InitStruct.GPIO_Pin = LED;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
//初始化GPIO
GPIO_Init(GPIOC,&GPIO_InitStruct);
}
GPIO输出函数
GPIO_Write(GPIO_TypeDef* GPIOx,u16 PortVal);
该函数一次操作一组GPIO。
GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
该函数将相应的位置为1
GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
该函数将相应的位置为0
实验例程:
void Led_DisPlay(){
GPIO_SetBits(GPIOC,LED); // close
delay(6000000);//自定义延迟函数,约1s
GPIO_ResetBits(GPIOC,LED);// open
delay(6000000);
}
史海拾趣
|
最近一直都在调试我的控制板上外扩的ADDA,但是遇到了一个非常让人不爽的问题:同一个程序在不同的电脑上现象不同,在我的笔记本上ADDA都能调通,但是在实验室的电脑死活不行。前一段时间CCS3.3不知道为什么老出问题,我卸了好几次,昨天重装了一遍 ...… 查看全部问答> |
|
U-Boot 1.1.1 (Development build, svnversion: u-boot:已导出 , exec:已导出 ) (Build time: Jan 18 2010 - 21:30:42) BBBdr_hertz=333000000, ddr_ref_hertz=50000000, ddr_config_valid_mask=1 BBBdr_interface_mask=1, ddr_config_valid_mask ...… 查看全部问答> |
|
利用WINCE开发一个无线网络监控程序,希望能扫描得到当前可用的无线资源(这已实现)。 有个问题是,能不能指定扫描的channel呢?就是说,假设有11个CHANNEL可以用,但是我在扫描的时候只想扫描1、3、6号channel,如何在程序中设置呢? 哪位大侠能 ...… 查看全部问答> |
|
用SOPC的IP核生成了一个工程文件(暂时把这个顶层叫vip吧)之后,想要将vip模块作为我一个子模块例化一下。可是这样做了之后编译不能通过,报错如下:Error (10613): VHDL syntax error at video_conver_top.vhd(153): experienced unexpected end- ...… 查看全部问答> |
|
第一套应急灯我做的是3W功率的LED,这个是我独立设计并制作完成的。第二套LED应急灯是灰太狼设计的、我组装的采用MAX16804的应急灯。再次谢谢SOSO 琳子姐姐,还有灰太狼!有机会请你们吃饭!! 下面也是图片展示制作过程:… 查看全部问答> |
|
[诚寻] DSP开发 DSP测试 RF测试工程师 上海 15-22万 非诚勿扰 请自荐或是推荐的朋友发送简历到以下邮箱: Jerome.zhang@focu-search.com QQ:727190736 申请职位请务必在邮件中注明所申请职位的名称、目前的薪酬大致情况和期望、您目前的工作地点。 谢谢! 统招本科 硕士优先(本科3年左右 硕士2 ...… 查看全部问答> |
|
最近在调STM32F439的板子,想用双ADC同时采样,发现ADC1数据正常,ADC2无数据,求大神指点。 下边是程序代码: uint16_t ADC_Value[8]; #define ADC1_DR_ADDR 0x4001204C //ADC1_DR 地址 static void Init ...… 查看全部问答> |
|
基于串口的数字万用表创意进度帖+RL78G14开发环境的安装 有朋友问我怎么安装开发环境,过程中遇到了一些问题,特别是注册那个激活码。 我这里重新搞一遍,与大家分享一下经验 如图,建议把所带光盘使用UltraISO软碟通将光盘制作成ISO文件,然后加载到虚拟光驱,这样运行速度更快.安装更省时. 然后运行根目 ...… 查看全部问答> |




