首页 > 其他分享 >stm32学习记录随笔23.11.3

stm32学习记录随笔23.11.3

时间:2023-11-03 22:44:55浏览次数:42  
标签:23.11 GPIOx TypeDef stm32 GPIO 随笔 void 外设 RCC

RCC外设时钟使能常用函数

//标准库文件 ->stm32f10x_rcc.h

void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);
//RCC_AHB外设时钟控制
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
//RCC_APB2外设时钟控制
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);
//RCC_APB1外设时钟控制

初时GPIO常用函数
//标准库文件 ->stm32f10x.gpio.h

void GPIO_DeInit(GPIO_TypeDef* GPIOx);
//指定GPIOx外设复位
void GPIO_AFIODeInit(void);
//AFIO外设复位
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
//使用结构体的参数初始化GPIO
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);
//使结构体变量赋默认值

//四种读取函数(输入)
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
//四种写入函数(输出)
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//设置高电平输出
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//设置低电平输出
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//写入字节位选择,Bit_SET高电平Bit_RESET清除电平即低电平
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);

GPIO的输入输出模式
1. 四种输入模式
 GPIO_Mode_IN_FLOATING //浮空输入模式,需外接上拉或下拉电阻否则电平信号不稳定,STM32有直接控制权
 GPIO_Mode_IPU         //上拉输入模式,内部弱上拉电阻,默认高电平信号1,STM32有直接控制权
 GPIO_Mode_IPD         //下拉输入模式,内部弱下拉电阻,默认低电平信号0,STM32有直接控制权
 GPIO_Mode_AIN         //模拟输入模式,断开与STM32的直接链接,片上外设接受信号,STM32无直接控制权
2. 四种输出模式
 GPIO_Mode_Out_OD      //开漏输出模式,有较强的负载能力,默认接地,需要外接上拉电阻拉高外设电平
 GPIO_Mode_Out_PP      //推挽输出模式,有较强的负载能力(约20ma可以点灯)
 GPIO_Mode_AF_OD       //复用开漏输出模式,与片上外设有关,参与设置I2C/SPI等协议
 GPIO_Mode_AF_PP       //复用推挽输出模式,与片上外设有关,参与设置I2C/SPI等协议


 

标签:23.11,GPIOx,TypeDef,stm32,GPIO,随笔,void,外设,RCC
From: https://www.cnblogs.com/oldwang2023/p/17807881.html

相关文章

  • 2023.11.3——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软考知识明日计划:学习......
  • 2023.11.3 做题记录
    CF349B*1700\(Igor\)深深爱上了\(Tanya\).现在,\(Igor\)想表达他的爱意,他便在\(Tanya\)家对面的墙上写下一串数字.\(Igor\)认为,数字写得越大,\(Tanya\)越喜欢他.不幸的是,他只有\(v\)升油漆,每个数字都会花掉一定的油漆\(a_i\).\(Igor\)不喜欢\(0\)所以数中不会出......
  • 2023.11《地球ONLINE》版本大更新!!!
    2023.11《地球ONLINE》版本大更新!!!欢迎来到全宇宙最大规模沙盒游戏地球online,这款游戏已经运行长达46亿年,在线人数已多达80多亿,目前设立“197个服务器,目前游戏内存占用率仍未达到极限,且下载速度极快,创建新号条件为“会员邀请制”,仅需10个月就能登录游戏,新玩家在登录游戏后便来......
  • 舵机驱动——STM32F407ZGT6探索者——HAL库
    舵机驱动——STM32F407ZGT6探索者——HAL库1、材料准备开发板:正点原子STM32F407ZGT6探索者舵机:SG90舵机线材分辨:褐色/红色/橘黄色——GND/VCC/PWM_signal与开发板接线:褐色/红色/橘黄色——GND/+5V/PF6(任选的PF6)2、知识准备2.1、舵......
  • 每日总结-23.11.1
    软件构造作业生成算式存入csvpackagekousuanti;importjava.util.Scanner;publicclassGongneng{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);Chutichuti=newChuti();System.out.println("请确......
  • 【杂记】路在何方2023.11.1
    精神状态未知,今天考完了人机对话,期中考试将在一周后进行​。这几天进行了多科模拟考试,分数平平无奇,而今晚的物理成为击倒我的最后一枪​,轻舟已撞大冰山TAT​分析:物理的计算是我的强项,但是选择题错的太多,​主要弱点是分析电路故障,​以及对概念的理解不清。回想过去的两个月,我浪费......
  • 2023.11.1——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis明日计划:学习......
  • 2023.11 模拟赛日志
    目录SS231101(20231101)标记*是将要写或研究的题目,%就是摆烂,ok的话也许是想到了不想写的意思,没有其他标记就是过了;一个中括号括起来的题目名称就是没写题解,反之是有题解。SS231101(20231101)陈浩霆round。[A动态规划]神秘跳棋题(A014225)[B线段树]简单动态min(维护\(x,......
  • (STM32)中断系统和外部中断
    中断系统:是执行和管理中断的逻辑结构外部中断:是众多能产生中断的外设之一中断:指的是中断源(中断通道),中断产生CPU暂停正在执行程序,去执行中断程序,然后返回。提高效率F1系列的STM32有68个中断源,不同系列需要看手册EXTI(外部中断)、TIM、ADC、USART、SPI、I2C、RTC等多个外设都会......
  • linux10.25课堂随笔
    一.文件权限4.3.1SUID权限1.使用ll命令查看/usr/bin/passwd文件,第一行的第四个字符为“s”。“s”表示特殊权限SUID。2.普通用户可通过SUID提权,使用chmod命令给user增加SUID权限。4.3.2SGID权限1.在一个程序上添加SGID,用户在执行过程中会获得该程序用户组的权限(相当于临时......