作用:按位置0、置1、取反。
代码:
#include <stdio.h>
typedef unsigned char uint8_t;
uint8_t pdata = 0x31;
//0x31 -> 0011 0001
//置1
void set_1(uint8_t* data, uint8_t index)
{
*data |= (0x01 << index);
}
//置0
void set_0(uint8_t* data, uint8_t index)
{
*data &= ~(0x01 << index);
}
//取反
void set_reverse(uint8_t* data, uint8_t index)
{
*data ^= (0x01 << index);
}
int main()
{
printf("0、pdata:%02x\r\n",pdata);
set_0(&pdata,1);
printf("1、pdata:%02x\r\n",pdata);
set_1(&pdata,1);
printf("2、pdata:%02x\r\n",pdata);
set_reverse(&pdata,1);
printf("3、pdata:%02x\r\n",pdata);
return 0;
}