SMT32标准库函数——GPIO_ReadInputDataBit的使用(类比HAL库函数:HAL_GPIO_ReadPin函数)
前言
君不见吴中张翰称达生,秋风忽忆江东行。
且乐生前一杯酒,何须生后千载名? ——李白《行路难·其三》
一、介绍
函数
GPIO_ReadInputDataBit
读的是GPIOx_IDR
;读的是当
IO
口设置为输入状态时候的IO
口电平状态值;引脚底层配置
输入类型:下拉输入;
引脚底层配置代码:
{GPIO_InitTypeDef GPIO_InitStructure;/*使能 APB2 - PD端口时钟*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); /*引脚配置*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 ; // 引脚 PD.8 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 频率为50MHzGPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; // 输入类型(下拉输入) GPIO_Init(GPIOD, &GPIO_InitStructure);
}
读取引脚电平:
uint8_t CurrLevel; //当前电平状态/*读取引脚当前电平状态*/CurrLevel = GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_8 );
HAL库函数:GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
/*** @brief Reads the specified input port pin. * @param GPIOx: where x can be (A..G depending on device used) to select the GPIO peripheral* @param GPIO_Pin: specifies the port bit to read.* This parameter can be GPIO_PIN_x where x can be (0..15).* @retval The input port pin value.*/
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
{GPIO_PinState bitstatus;/* Check the parameters */assert_param(IS_GPIO_PIN(GPIO_Pin));if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET){bitstatus = GPIO_PIN_SET;}else{bitstatus = GPIO_PIN_RESET;}return bitstatus;
}
- 功能: 读取指定引脚的电平;
- 参数一:
GPIOx(x = A……E)
; - 参数二: 对应的引脚;
- 返回值: 当前引脚的电平;
SMT32标准库函数——GPIO_ReadInputDataBit的使用(类比HAL库函数:HAL_GPIO_ReadPin函数)相关推荐
- 基于标准库函数与基于HAL库函数的stm32编程方式
文章目录 基于标准库函数与基于HAL库函数的stm32编程方式 一.基于标准库 1. 介绍 2. 库函数的STM32串口程序编写 二.基于HAL库 1.介绍 2.HAL库STM32串口程序编写 三.差 ...
- 基于标准库函数与基于HAL库函数的stm32编程方式对比
基于标准库函数与基于HAL库函数的stm32编程方式对比 一.标准库函数 二.HAL库函数 三.差异 四.stdunio IDE试玩 参考资料 一.标准库函数 1.标准库的解释 标准外设库(Stand ...
- stm32单片机屏幕一直闪_STM32使用HAL库函数点亮OLED
OLED屏幕应用十分广泛,我们可以使用STM32单片机对其进行控制,使其显示我们需要的各种数字.字母.汉字.图画等.我们此次使用下图这款非常普遍的0.96寸OLED液晶屏.此款OLED屏采用IIC的通 ...
- stm32的Hal库函数,串口卡死解决方法
stm32的Hal库函数,串口卡死解决方法 HAL库中强制对串口进行了半双工限制,其实STM32的串口是全双工的,很多时候卡死,是因为我们做了全双工操作导致的卡死,卡死在HAL_LOCK(huart) ...
- STM32F103C6T6A USB虚拟串口调测 cubeIDE HAL库函数版一篇就够了
STM32F103C6T6A USB虚拟串口调测 cubeIDE HAL库函数版 原先手上有一块STM32F103RTC6测试版,但怎么弄不不出现usb设备(正常插上usb口pc应该会识别一个unk ...
- 管道实现父子进程的信息传递(二)【标准流和其文件描述符、fwrite函数、perror函数】
文章目录 代码实现 标准流 和 标准流文件描述符 代码中用到的函数 fwrite() perror() 在复习进程间的通信方式时又写了一遍,和 管道实现父子进程的信息传递(一)[fork函数.pipe ...
- c语言常用库函数使用要点,C语言常用库函数使用要点.doc
C语言常用库函数使用要点.doc C语言常用库函数使用要点 C语言常用库函数使用要点 李素萍太原理工大学阳泉学院信息系 C语言提供了丰富的库函数,只有有效地使 用库函数,才能学好,学活C语言.为了- ...
- USART库函数中用于清除标志位的一些函数,如读DR寄存器的值清除标志位
USART库函数中用于清除标志位的一些函数,如读DR寄存器的值清除标志位 刚学M4没多久,对于库函数的使用还有些陌生,因为之前学的是寄存器配置,今天在用库函数配置usart的时候,遇到了不知道该调用哪 ...
- Ardunio和HAL库函数的stm32编程
Ardunio的STM32串口通信 一.安装Ardunio IDE和相关支持库 1.Ardunio是什么 2.安装及配置过程 二.STM32板的串口通信程序 1.代码 2.烧录 三.基于标准库函数与H ...
- STM32CubeMX下载安装、配置基本工程(时钟)、用HAL库函数点灯
1.STM32CubeMX下载安装 从官网下载就可以了,版本最新,而且也挺快的呢,就是要用邮箱注册一下.下载地址 选最后一个Windows的,直接Get Software. 安装很简单,跟着向导一步步 ...
最新文章
- 三流Java搞技术,二流Java搞框架,一流Java…
- 一口气说出 过滤器 和 拦截器 6个区别,别再傻傻分不清了
- c++解析csv 存入数组_使用Apache Commons CSV在Java中读写CSV
- ucontext-人人都可以实现的简单协程库
- POJ 3279(Fliptile)题解
- [NOIP2002] 提高组 洛谷P1031 均分纸牌
- storm的基本概念
- .net 任务(Task)
- 来了!华为首款5G双模手机Mate 20 X (5G)发布:这个价格香吗?
- python函数没有修改列表_Python:通过引用创建一个修改列表的函数不是值
- Vue.js-----轻量高效的MVVM框架(二、Vue.js的简单入门)
- XWindow与GtkWindow的转换
- secure CRT 运行脚本
- 1946年产生的第一台电子计算机6,1946年第一台计算机在美国诞生——青夏教育精英家教网——...
- 笔记本风扇声音大怎么办
- 网站关键词优化技巧都有哪些?如何进行优化?
- 参加《前沿科学国际研讨会》的世界著名学者简介
- GEE (Google Earth Engine)高阶学习一 影像分割
- 用Python编写的简化版微信客户端
- Vitamio多媒体开发框架
热门文章
- 目标板(linux)与PC 网卡 直连(TFTP)
- R语言入门——一文讲明白attach与detach
- 微信小程序跳转其他外部网站上
- ubuntu下载BT种子安装qBittorrent
- 【题解】模拟赛11.22 T4 星际战争
- pythonRuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing
- Springboot实现定时任务调度
- react插件,树状图(可自由定义子节点结构,大小,样式)
- 【软件需求工程】北理的恶龙们04——项目成果总结
- jquery html() 获取自己