zoukankan      html  css  js  c++  java
  • STM32 库函数 初学笔记

    • 寄存器结构体定义

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

    • 编写库函数

    编写库函数文件:

    main函数中调用:

     

    • 构建库函数雏形

     

     参照下表:

     

    main()中:

    • STM32固件库文件分析

    • 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)));
  • 相关阅读:
    20200302 数据分析之numpy以及Jupyter
    20200228 scrapy高级使用及分布式
    20200226 请求库selenium
    20200224 爬虫-requests模块
    0219 请求上下文解析与g对象
    Matlab矩阵求导和求梯度有什么不同
    矩阵中范数的处理方式
    如何巧妙地使用递归
    遗传算法求最短路径
    nparray的维度和取值方式
  • 原文地址:https://www.cnblogs.com/XIEjm/p/13153495.html
Copyright © 2011-2022 走看看