在下面的程序我发现"UART_SendData8"打印的数据为BB CC 00,这是怎么回事?
还有,我把a,b,c都定义成int就可以正确的打打印的数据为基础00 aa 00 bb 00 cc.
void sum(u8 msg, ...)
{
int total = 0;
va_list ap;
int arg;
va_start(ap, msg);
arg = va_arg(ap,u8);
UART_SendData8((u8)(arg));
arg = va_arg(ap,u8);
UART_SendData8((u8)(arg));
arg = va_arg(ap,u8);
UART_SendData8((u8)(arg));
va_end(ap);
}
main
{ u8 a=0xaa,b=0xbb,c=0xcc;
init();
sum((u8)a, a,b,c);
} |