HAL KEY 的頭文件 按鍵定義為什么要采用寄存器操作

HAL KEY 的頭文件 按鍵定義為什么要采用寄存器操作,而不是函數(shù)操作

/*?1?-?KEY?*/
??#define?KEY1_BV???????????BV(22)
??#define?KEY2_BV???????????
??#define?KEY3_BV???????????
??#define?KEY4_BV???????????

??#define?KEY1_PU????????	(R32_PB_PU?|=?KEY1_BV)
??#define?KEY2_PU????????	()
??#define?KEY3_PU????????	()
??#define?KEY4_PU????????	()

??#define?KEY1_DIR???????	(R32_PB_DIR?&=?~KEY1_BV)
??#define?KEY2_PU????????	()
??#define?KEY3_PU????????	()
??#define?KEY4_PU????????	()

??#define?KEY1_IN????????	(ACTIVE_LOW(R32_PB_PIN&KEY1_BV))
??#define?KEY2_IN????????	()
??#define?KEY3_IN????????	()
??#define?KEY4_IN????????	()

#define?HAL_PUSH_BUTTON1()????????(?KEY1_IN?)?//添加自定義按鍵
#define?HAL_PUSH_BUTTON2()????????(?0?)
#define?HAL_PUSH_BUTTON3()????????(?0?)?
#define?HAL_PUSH_BUTTON4()????????(?0?)


為什么不直接定義

#define?HAL_PUSH_BUTTON1()????????(?GPIOB_ReadPortPin(GPIO_Pin_22?)?//添加自定義按鍵
??if(?HAL_PUSH_BUTTON1()==0?){
????keys?|=?HAL_KEY_SW_1;
??}


這是歷史遺留問題,

在ble的sdk 制作的時候, 芯片的設(shè)備驅(qū)動庫還沒確定,所以直接寫了寄存器.

后面SDK更新,這塊一直沒更新.


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频