数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3359|回复: 11

[STM] STM32学习记录GPIO

[复制链接]
发表于 2021-3-10 13:52:53 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
还是记录在网上比较好找一些

IO分配A、B、C、D、E几组,每组16个点,既可作为输入也可作为输出
用到哪个IO,先要对其进行配置,配置格式固定
配置时还要同时开启对应的时钟
使用每个芯片内装置都用启用对应的时钟,比如IO,串口,总线,中断,各自有各自的时钟。
void GPIO_Set(void)   
{
    GPIO_InitTypeDef GPIO_InitStructure;                                           //声明结构体变量
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);           //每组IO都有对应的时钟,这个是GPIOB组的时钟
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;     //同一组内想要设置的具体针脚
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                  //IO频率
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                    //工作模式选择,输入还是输出,输入方式与输出方式
   GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //把设置的参数输入芯片控制器
}
单个IO控制命令
GPIO_SetBits(GPIOB, GPIO_Pin_6);          //把B组6号设置为1
GPIO_ResetBits(GPIOB, GPIO_Pin_3);      //把B组3号设置为0

在网上找的1ms延时,时间不准,但是差不多
void Delayms(u16 ms)
{
  u16 i,j;
  u8 k;
  for(i=0;i<ms;i++)
    for(j=0;j<0x0500;j++) k++;
}

闪灯程序
#include "stm32f10x.h"

int main(void)
{
      GPIO_Set() ;     //配置IO,配置完就可以用了
                while(1)
               {
                    GPIO_SetBits(GPIOB, GPIO_Pin_6);      
                    Delayms(1000);                                //1秒延时
                    GPIO_ResetBits(GPIOB, GPIO_Pin_6);  
                    Delayms(1000);
               }

}      
   
   


打赏

参与人数 1家元 +4 收起 理由
cutter + 4 謝謝分享

查看全部打赏

 楼主| 发表于 2021-3-12 15:18:01 | 显示全部楼层
lyy-cy 发表于 2021-3-11 11:42
这两天又想玩玩竟然工程建立都忘了咋弄了

几天不弄,前面的就忘的差不多了,不经常搞,而且都是用别人的东西
改吧改吧直接就用了,记忆不深刻,只是具体原理懂了,细节还得看以前写过的东西
我C语言都忘的差不多了,研究别人的程序都得不停的百度
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-12 15:18:41 | 显示全部楼层
触景情伤 发表于 2021-3-10 23:24
还是用stm32cube MX吧,我属于被库函数劝退的那一部分…因人而异…

我现在都不知道什么是库,只是在照葫芦画瓢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-12 15:22:06 | 显示全部楼层
飞向狙沙 发表于 2021-3-11 09:15
一样的,刚开始学stm32的时候学了半天搞明白了时钟树,外设的配置,过上一段时间不玩再搞的时候又忘了, ...

业余爱好者与职业玩家的不同,呵呵呵,没办法,总也不用肯定得忘
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-6-13 18:58 , Processed in 0.171600 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表