找回密码
 立即注册
楼主: Ayb_ice

完整代码,保证有很多高手都没见过的宏用法

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2025-1-23 07:55:36 | 显示全部楼层
你继续更
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-29 08:28:25
已绑定手机

17

主题

446

回帖

1173

积分

金牌会员

积分
1173
发表于 2025-1-23 08:49:48 | 显示全部楼层
给大家解释一下部分宏,首先是这个绑定宏
#define GPIO_LED2        P1,BIT0
这个定义的意思就是GPIO_LED2是P1口的位0,绑定后很多操作只需要调用宏了,这样可读性性,可维护性很高,移植时只需要修改这个绑定的定义,重新编译就可以了
这是我在工作中感觉有这种需求后,想出来的宏,具有很高的实用性,不会影响程序效率
可以使用的宏有,读,写,配置IO模式等
BCLR,BSET,BCPL,BTST
//___________________________________________________
//程序使用以下宏
//模式
#define GPIO_RU_INPUT(PB)         __GPIO_RU_INPUT(PB)
#define GPIO_PP_OUTPUT(PB)         __GPIO_PP_OUTPUT(PB)
#define GPIO_HZ_INPUT(PB)         __GPIO_HZ_INPUT(PB)
#define GPIO_OD_OUTPUT(PB)         __GPIO_OD_OUTPUT(PB)

//上拉电阻
#define GPIO_PU_EN(PB)                 __GPIO_PU_EN(PB)
#define GPIO_PU_DIS(PB)         __GPIO_PU_DIS(PB)

//施密特触发功能
#define GPIO_NCS_EN(PB)         __GPIO_NCS_EN(PB)
#define GPIO_NCS_DIS(PB)         __GPIO_NCS_DIS(PB)
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:55 , Processed in 0.153246 second(s), 53 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表