给C语言的函数添加详细注释并将英文注释翻译成中文 Update button in packet Buttons L3R3STARTBACK are in Packet 1 Buttons ABXYLBRBLOGO are in Packet 2void XINPUT_buttonUpdateuint8_t button uint8_t buttonState BUTTON_A if bu
/* 更新数据包中的按钮信息
-
按钮 L3,R3,START,BACK 在数据包 1 中
-
按钮 A,B,X,Y,LB,RB,LOGO 在数据包 2 中 */ void XINPUT_buttonUpdate(uint8_t button, uint8_t buttonState) { //BUTTON_A 按钮 if (button == BUTTON_A) { if(buttonState) { TXData[BUTTON_PACKET_2] |= A_MASK_ON; //将 A_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_2] &= A_MASK_OFF; //将 A_MASK_OFF 对应的位设为0 } } //BUTTON_B 按钮 else if(button == BUTTON_B) { if(buttonState) { TXData[BUTTON_PACKET_2] |= B_MASK_ON; //将 B_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_2] &= B_MASK_OFF; //将 B_MASK_OFF 对应的位设为0 } } //BUTTON_X 按钮 else if(button == BUTTON_X) { if(buttonState) { TXData[BUTTON_PACKET_2] |= X_MASK_ON; //将 X_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_2] &= X_MASK_OFF; //将 X_MASK_OFF 对应的位设为0 } } //BUTTON_Y 按钮 else if(button == BUTTON_Y) { if(buttonState) { TXData[BUTTON_PACKET_2] |= Y_MASK_ON; //将 Y_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_2] &= Y_MASK_OFF; //将 Y_MASK_OFF 对应的位设为0 } } //BUTTON_LB 按钮 else if(button == BUTTON_LB) { if(buttonState) { TXData[BUTTON_PACKET_2] |= LB_MASK_ON; //将 LB_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_2] &= LB_MASK_OFF; //将 LB_MASK_OFF 对应的位设为0 }
} //BUTTON_RB 按钮 else if(button == BUTTON_RB) { if(buttonState) { TXData[BUTTON_PACKET_2] |= RB_MASK_ON; //将 RB_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_2] &= RB_MASK_OFF; //将 RB_MASK_OFF 对应的位设为0 } } //BUTTON_L3 按钮 else if(button == BUTTON_L3) { if(buttonState) { TXData[BUTTON_PACKET_1] |= L3_MASK_ON; //将 L3_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_1] &= L3_MASK_OFF; //将 L3_MASK_OFF 对应的位设为0 } } //BUTTON_R3 按钮 else if(button == BUTTON_R3) { if(buttonState) { TXData[BUTTON_PACKET_1] |= R3_MASK_ON; //将 R3_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_1] &= R3_MASK_OFF; //将 R3_MASK_OFF 对应的位设为0 } } //BUTTON_START 按钮 else if(button == BUTTON_START) { if(buttonState) { TXData[BUTTON_PACKET_1] |= START_MASK_ON; //将 START_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_1] &= START_MASK_OFF; //将 START_MASK_OFF 对应的位设为0 } } //BUTTON_BACK 按钮 else if(button == BUTTON_BACK) { if(buttonState) { TXData[BUTTON_PACKET_1] |= BACK_MASK_ON; //将 BACK_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_1] &= BACK_MASK_OFF; //将 BACK_MASK_OFF 对应的位设为0 } } //BUTTON_LOGO 按钮 else if(button == BUTTON_LOGO) { if(buttonState) { TXData[BUTTON_PACKET_2] |= LOGO_MASK_ON; //将 LOGO_MASK_ON 对应的位设为1 } else { TXData[BUTTON_PACKET_2] &= LOGO_MASK_OFF; //将 LOGO_MASK_OFF 对应的位设为0 } } //未知的按钮 else {}
原文地址: https://www.cveoy.top/t/topic/fe8G 著作权归作者所有。请勿转载和采集!