STM32系列寄存器日记002:如何把define内容定义为数组调用

本文探讨了在STM32开发中,如何将#define的引脚标识符构建成指针数组以方便批量操作。通过定义一个包含volatile unsigned long指针的数组,存储标识符的地址,实现对同一功能引脚的统一处理。对比函数调用前后的差异,展示了这种方法提高代码可读性、扩展性和灵活性的优势。
摘要由CSDN通过智能技术生成

为什么有这种需求?

STM32使用的时候需要定义一些引脚为专用名称,如下代码,把PD0,PD2,PD4,PD6…PB8, PE0 都分别define为新的标识符,而这些标识符代表着一组功能:

#define tdi_num_max 6
/********DEFINE PORT D G B E*****/
#define CCW_TDI1 PDout(0)
#define CCW_State_TDI1 PDin(0) 
#define DIR_TDI1 PDout(2)

#define CCW_TDI2 PDout(4) 
#define CCW_State_TDI2 PDin(4)  
#define DIR_TDI2 PDout(6)

#define CCW_TDI3 PGout(9) 
#define CCW_State_TDI3 PGin(9) 
#define DIR_TDI3 PGout(11)

#define CCW_TDI4 PGout(13) 
#define CCW_State_TDI4 PGin(13)  
#define DIR_TDI4 PGout(15)

#define CCW_TDI5 PBout(5) 
#define CCW_State_TDI5 PBin(5)  
#define DIR_TDI5 PBout(7)

#define CCW_TDI6 PBout(8) 
#define CCW_State_TDI6 PBin(8)   
#define DIR_TDI6 PEout(0)

我们需要对同功能类型引脚做相同的操作&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值