最近在写stm32与FPGA的通信,用按键来控制数据的大小,并通过按键来确定是否发送。现在遇到一个问题,就是函数的发送函数需要16进制的数,怎样将主函数的参数以16进制的形式传递给子函数。
*p=a[0]+a[1]*10+a[2]*100; p是主函数中的。
void Send_data(u8 *w)
{
//u8 k9,k10,k3,k4,k5,k6,k7,k8;
//u8 b,c;
Send_Init();
//if((*w&0x01)==0x01)
// k9=1;
// if((*w&0x02)==0x02)
// k10=2;
// if((*w&0x04)==0x04)
// k3=4;
// if((*w&0x08)==0x08)
// k4=8;
// if((*w&0x10)==0x10)
// k5=16;
// if((*w&0x20)==0x20)
// k6=32;
// if((*w&0x40)==0x40)
// k7=64;
// if((*w&0x80)==0x80)
// k8=128;
// b=k9+k10+k3+k4;
// c=k5+k6+k7+k8;
//
if((*w&0x01)==0x01)
GPIO_SetBits(GPIOC,GPIO_Pin_0);
if((*w&0x02)==0x02)
GPIO_SetBits(GPIOC,GPIO_Pin_1);
if((*w&0x04)==0x04)
GPIO_SetBits(GPIOC,GPIO_Pin_2);
if((*w&0x08)==0x08)
GPIO_SetBits(GPIOC,GPIO_Pin_3);
if((*w&0x10)==0x10)
GPIO_SetBits(GPIOC,GPIO_Pin_4);
if((*w&0x20)==0x20)
GPIO_SetBits(GPIOC,GPIO_Pin_5);
if((*w&0x40)==0x40)
GPIO_SetBits(GPIOB,GPIO_Pin_6);
if((*w&0x80)==0x80)
GPIO_SetBits(GPIOB,GPIO_Pin_7);
}
send_data是在另一个点c文件。w对应的就是p,现在怎样将w转换成16进制?求大神不吝赐教 |