前言
TLSR825X系列的IO配置与常用MCU相差无几,应用到低功耗设计的话差异比较大,825X系列的停止模式下功耗相对较高(suspend模式),要做到较低功耗需要类似于ST单片机进入待机Standby模式(deepsleep模式),仅通过wakeup引脚或时钟来唤醒,唤醒后系统重新通过启动文件来跳转到main入口
本章讲下GPIO的常用配置与IO中断、IO唤醒功能,如有异议,欢迎留言指正
功能简介
- 8258系列共有5组36个GPIO,
PA0-PA7、PB0-PB7、PC0-PC7、PD0-PD7、PE0-PE3 - PA0~PD7可以用作通用IO口,其中上下拉寄存器为模拟寄存器控制,该寄存器可以在deepsleep模式中保持
- PA7默认用作SWS功能(调试下载),必须内部上拉
- PE0~PE3被用于内部flash的SPI读写通信引脚,用户不允许使用
- PA5~PA6可复用DM和DP用作USB功能
不同的型号封装和IO管脚不同,以实际型号为准
具体引脚复用表可查看数据手册第7章7.1GPIO章节

寄存器配置
寄存器
- GPIO寄存器偏移地址为0x580~0x59c,对应PA0~PE3中的输入、输出、上下拉、强弱输出、中断等配置
#define reg_gpio_pa_in REG_ADDR8(0x580)
#define reg_gpio_pa_ie REG_ADDR8(0x581)
#define reg_gpio_pa_oen REG_ADDR8(0x582)
#define reg_gpio_pa_out REG_ADDR8(0x583)
#define reg_gpio_pa_pol REG_ADDR8(0x584)
#define reg_gpio_pa_ds REG_ADDR8(0x585)
#define reg_gpio_pa_gpio REG_ADDR8(0x586)
#define reg_gpio_pa_irq_en REG_ADDR8(0x587)
- - - - - - - - -
常用接口
- 功能配置:主要是配置成普通IO还是复用高级功能(uart、spi、iic等)
void gpio_set_func(GPIO_PinTypeDef pin, GPIO_FuncTypeDef func);
- 输入使能
void gpio_set_input_en(GPIO_PinTypeDef pin, unsigned

本文详细介绍了TLSR825X系列GPIO的配置,包括通用IO、中断、唤醒功能,以及如何实现低功耗设计中的深睡眠和唤醒机制。涉及寄存器配置、常用接口和示例代码,适合对低功耗嵌入式开发感兴趣的读者。
最低0.47元/天 解锁文章
1213





