STM32 库函数 初学笔记

摘要:
寄存器结构定义偏移:GPIOB定义为GPIOB_BASE是基址的结构指针。写入库函数写入库函数文件:STM32固件库文件分析GPIO_ReadOutputDataBit函数说明:读取io输出引脚的值参数:Bit_ RESET(低电平)GPIO_WriteBit(GPIO_TypeDef*GPIOx,(2)GPIO_pin:如GPIO_pin_0
  • 寄存器结构体定义

STM32 库函数 初学笔记第1张

STM32 库函数 初学笔记第2张STM32 库函数 初学笔记第3张STM32 库函数 初学笔记第4张

偏移量:4字节,因此用unsigned int声明结构体内每个元素。定义GPIOB为以GPIOB_BASE为基址的结构体指针。

  • 编写库函数

编写库函数文件:

STM32 库函数 初学笔记第5张STM32 库函数 初学笔记第6张

main函数中调用:

 STM32 库函数 初学笔记第7张

  • 构建库函数雏形

 STM32 库函数 初学笔记第8张STM32 库函数 初学笔记第9张

 参照下表:

 STM32 库函数 初学笔记第10张

main()中:

STM32 库函数 初学笔记第11张

  • STM32固件库文件分析

STM32 库函数 初学笔记第12张

  • GPIO_ReadOutputDataBit

函数解释:读取io输出管脚的值

参数: (1)GPIOx,GPIO的分组,如 GPIOA,GPIOB,GPIOC等的宏定义。

            (2)  GPIO_Pin:指定具体的io脚,如GPIO_Pin_0,GPIO_Pin_1这样的宏定义。

返回值:输出管脚的值 Bit_SET(高电平),Bit_RESET(低电平)

  • GPIO_WriteBit(GPIO_TypeDef* GPIOx,uint16_t  GPIO_Pin,BitActionBitVal)

函数解释:对某一位进行写入操作。

参数: (1)GPIOx,GPIO的分组,如 GPIOA,GPIOB,GPIOC等的宏定义。

            (2)GPIO_Pin:指定具体的io脚,如GPIO_Pin_0,GPIO_Pin_1这样的宏定义。

            (3)BitVal:写入高电平或者低电平(Bit_RESET:写入低电平 Bit_SET:写入高电平)

  • (BitAction)

BitAction是将操作对象转换为位域的意思。
如果操作对象本身就是位变量,加不加没什么区别;可如果操作对象是8/16或32位的时候,则是有区别的。

IO翻转操作:

GPIO_WriteBit(GPIOB, GPIO_Pin_5, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5)));

免责声明:文章转载自《STM32 库函数 初学笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇OO实现ALV TABLE 十:ALV的页眉页脚使用curses管理基于文本的屏幕--(六)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

《java并发编程实战》读书笔记10--显示锁Lock,轮询、定时、读写锁

第13章 显示锁 终于看到了这本书的最后一本分,呼呼呼,真不容易。其实说实在的,我不喜欢半途而废,有其开始,就一定要有结束,否则的话就感觉哪里乖乖的。 java5.0之前,在协调对共享对象的访问时可以使用的机制只有synchronized和volatile。java5.0增加了一种新的机制:ReentrantLock。与之前提到过的机制相反,Reentra...

Nodemcu的GPIO接口介绍(ZT)

http://www.basemu.com/nodemcu-gpio-interface.html Nodemcu的GPIO接口介绍 通用输入/输出(GPIO)是集成电路上的一个引脚功能,它既可以是输入引脚,也可以是输出引脚,这些功能均可以在编写程序时进行控制。 NodeMCU的开发工具包( Dev kit  )提供了对Nodemcu GPIO的支持。唯一...

11.汇编代码简单操作

11.汇编代码简单操作 使用汇编的原因很简单,就是汇编代码的高效。在机器启动的时候,利用汇编的高效,对硬件进行初始化,为加载内核,提供条件。 目前常用的ARM汇编指令有两种: *ARM标准汇编:适用于ARM公司的汇编器,适合在Windows平台下使用。 *GNU汇编:使用与GNU交叉编译工具链中的汇编器,适合于Linux平台开发。 3.汇编...

几个串口协议学习整理

一、UART UART是一个大家族,其包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。它们的主要区别在于其各自的电平范围不相同。 嵌入式设备中常常使用到的是TTL、TTL转RS232的这种方式。常用的就三根引线:发送线TX、接收线RX、电平参考地线GND。  1.1    电路示意图   1.2    通信协议...

C++语言体系设计哲学的一些随想(未完待续)

对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值。具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符。该类型的数据可以包含的值的范围是什么。 (2)定义操作的含义 操作是严格数据类型相关的。操作表明了对了一个具有特定类型的数据,执行操作后产生什么样结果。  =============================...

Oracle审计

1.什么是审计 审计是用来监控和记录用户的数据库操作的 2.未开启审计 即使未开启审计,Oracle数据库也会将以下三种操作记录在OS的$ORACLE_BASE/admin/$ORACLE_SID/adump/ 以sysdba或者sysoper等管理员用户连接数据库实例(不管实例是否打开) 关闭数据库操作 打开数据库操作 3.标准审计 3.1.数据库参...