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)));
  • 相关阅读:
    SSLOJ 1338.逃亡路径
    文件上传与下载
    TCP协议和UDP协议
    DWR推技术在开发中需要注意的ScriptSession问题
    页面缓存-freemarker静态处理
    springMVC的工作流程
    hibernate的工作流程
    Struts2框架的大致流程
    mybatis中的多表查询
    传值乱码解决方案
  • 原文地址:https://www.cnblogs.com/XIEjm/p/13153495.html
Copyright © 2011-2022 走看看