RTT设备与驱动之PIN设备
2024-09-03 06:28:40
单片机的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。
最新文章
- 自己用C语言写单片机PIC16 serial bootloader
- 个性二维码开源专题<;替换元素点>;
- Oracle dmp文件导入(还原)到不同的表空间和不同的用户下
- javaSE第八天
- You must SET PASSWORD before executing this statement解决
- PPT美化大师
- mongodb查询之模糊查询
- PyQt实现图片中心旋转
- 盘点国内外那些有野心的BI公司
- POJ-3069 Saruman&#39;s Army---区间选点
- 【原创】大叔经验分享(25)hive通过外部表读写hbase数据
- 关于js事件执行顺序
- Oracle 分区表 收集统计信息 参数granularity
- 【JVM】内存分析<;一>;工具的使用
- virtualbox 采用 NAT 还是 BRIDGE
- 解题:NOI 2009 诗人小G
- 对Property进行RACObserve
- 记一次MyEclipse闪退的解决方法
- python2.7下同步华为云照片的爬虫程序实现
- P4711 「化学」相对分子质量