zoukankan      html  css  js  c++  java
  • GPIO

    General-purpose input/output,通用输入输出

    4种输入模式:

    • 输入浮空
    • 输入上拉
    • 输入下拉
    • 模拟输入

    4种输出模式:

    • 开漏输出(带上拉或者下拉)
    • 开漏复用功能(带上拉或者下拉)
    • 推挽式输出(带上拉或者下拉)
    • 推挽式复用功能(带上拉或者下拉)

    4种最大输出速度:

    • 2MHZ
    • 25MHz
    • 50MHz
    • 100MHz

    8种工作模式:
    (1)GPIO_Mode_AIN 模拟输入
    (2)GPIO_Mode_IN_FLOATING 浮空输入
    (3)GPIO_Mode_IPD 下拉输入
    (4)GPIO_Mode_IPU 上拉输入
    (5)GPIO_Mode_Out_OD 开漏输出
    (6)GPIO_Mode_Out_PP 推挽输出
    (7)GPIO_Mode_AF_OD 复用开漏输出
    (8)GPIO_Mode_AF_PP 复用推挽输出

    10个寄存器:

    GPIO库函数:
    1个初始化函数:
    void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);

    GPIO_Init(GPIOF, &GPIO_InitStructure);

    2个读取输入电平函数:
    uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
    uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);

    GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_9);
    GPIO_ReadInputData(GPIOF);

    2个读取输出电平函数:
    uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
    uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);

    GPIO_ReadOutputDataBit(GPIOF, GPIO_Pin_9);
    GPIO_ReadOutputData(GPIOF);

    4个设置输出电平函数:
    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);
    void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);

    GPIO_SetBits(GPIOF, GPIO_Pin_9);
    GPIO_ResetBits(GPIOF, GPIO_Pin_9);

    GPIO_WriteBit(GPIOF, GPIO_Pin_9,BitVal);
    GPIO_Write(GPIOF,PortVal);

  • 相关阅读:
    LeetCode 2 -- Add Two Numbers
    LeetCode 1 -- Two Sum
    LeetCode189——Rotate Array
    Win10下IIS配置 C#项目的部署与发布
    Linux查看进程和删除进程
    使用 Visual Studio 将 ASP.NET Core 应用发布到 Linux 上的应用服务
    Spring Boot 设置启动时路径和端口号
    Linux平台部署.net Core SDK
    C#教程之如何在centos操作系统上发布.net core的项目
    Linux如何查看和控制进程
  • 原文地址:https://www.cnblogs.com/holaworld/p/12408804.html
Copyright © 2011-2022 走看看