zoukankan      html  css  js  c++  java
  • RTT设备与驱动之PIN设备

    单片机的PIN有2个基本功能:GPIO和AFIO,其中gpio的常用功能:

    1 输入:上拉、下拉、模拟、浮动

    2 输出:上拉、下拉、推挽、开漏

    3 中断:上升沿、下降沿、双沿、高电平、低电平触发

    RTT是将GPIO重新编号,然后根据唯一编号进行控制:有2种方式可以获取引脚编号:使用宏定义或者查看PIN 驱动文件

    void rt_pin_mode(rt_base_t pin, rt_base_t mode);
    void rt_pin_write(rt_base_t pin, rt_base_t value);PIN_LOW 低电平,PIN_HIGH 高电平
    int rt_pin_read(rt_base_t pin);
    rt_err_t rt_pin_attach_irq(rt_int32_t pin, rt_uint32_t mode, void (*hdr)(void *args), void *args);
    rt_err_t rt_pin_irq_enable(rt_base_t pin, rt_uint32_t enabled);
    rt_err_t rt_pin_detach_irq(rt_int32_t pin);
    #define LED0_PIN        GET_PIN(F,  9) // 通过GET_PIN(F, 9)获得编号
    查看 PIN 驱动代码 drv_gpio.c 文件确认引脚编号。此文件里有一个数组存放了每个 PIN 脚对应的编号信息,如下所示:
    static const rt_uint16_t pins[] =
    {
        __STM32_PIN_DEFAULT,
        __STM32_PIN_DEFAULT,
        __STM32_PIN(2, A, 15),
        __STM32_PIN(3, B, 5),
        __STM32_PIN(4, B, 8),
        __STM32_PIN_DEFAULT,
        __STM32_PIN_DEFAULT,
        __STM32_PIN_DEFAULT,
        __STM32_PIN(8, A, 14),
        __STM32_PIN(9, B, 6),
        ... ...    
    }
    __STM32_PIN(2, A, 15)为例,2 为 RT-Thread 使用的引脚编号,A 为端口号,15 为引脚号,所以 PA15 对应的引脚编号为 2。

  • 相关阅读:
    Ionic2开发环境搭建
    关于在浏览器中测试cordova plugin的注意事项。
    像azure一样桌面显示Windows系统信息
    吐槽下微软
    Hyper-v UBUNTU 12.04 模板设置
    MongoDB整库备份与还原以及单个collection备份、恢复方法
    nginx 配置
    vsftpd配置文件详解
    分享几个免费IP地址查询接口(API)
    黑客帝国效果
  • 原文地址:https://www.cnblogs.com/jieruishu/p/10270631.html
Copyright © 2011-2022 走看看