欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > HC32F460_GPIO驱动库

HC32F460_GPIO驱动库

2025/2/22 17:02:12 来源:https://blog.csdn.net/liyangchun_2/article/details/145762966  浏览:    关键词:HC32F460_GPIO驱动库

注意: 
        Mcu的在线调试接口有JTAG、SW两类,如采用SW接口,则JTAG对应的TDI、TDO_SWO、TRST管脚则可作为普通IO使用。配置代码如下:

	PORT_DebugPortSetting(TDI,Disable);PORT_DebugPortSetting(TDO_SWO,Disable);PORT_DebugPortSetting(TRST,Disable);	

0. 测试环境

        测试Mcu        :HC32F460PETB|
        底层库版本    :hc32f460_ddl_Rev2.1.0
        库名               :DrvMcu

1. 设计说明

        建立驱动库GPIO配置表,定义该驱动库对外输出的常规IO口以及相应初始配置。

#define  DRVMIO_DIR_IN			0			//定义IO口初始化进出方向
#define  DRVMIO_DIR_OUT		    1#define  DRVMIO_STATE_L		    0			//定义IO口初始化高低状态
#define  DRVMIO_STATE_H		    1
#define  DRVMIO_STATE_IDLE		0xFFtypedef struct _STDRVMIOMAP
{//IO口配置信息unsigned short	usMcuPinNo;				//Mcu的全局IO编号unsigned char	ucDir;					//IO的方向,输入/输出unsigned char	ucInitState;			//IO的初始状态,高/低
}STDRVMIOMAP;

注:
        usMcuPinNo : 为Mcu的GPIO定义了一个全局编号,即:0~15对应PortA的0~15;16~31对应PortB的0~15,以此类推。可通过宏定义:

  • const en_port_t m_pstAryPort[]={PortA,PortB,PortC,PortD,PortE,};
    #define DRVM_GETPIN(pin)	(1UL<<(pin&0x0F))
    #define DRVM_GETPORT(pin)	(m_pstAryPort[pin>>4])
    

             m_stIOMap数组的数组序号,即是在DrvM库中该IO口对外输出IO口号,命名为DrvMPinNo,此处定义了DrvMPinNo与McuPinNo之间的对应关系。

    • 2. 全局变量

unsigned short	 m_usDrvMIONum

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词