C51,C语言 error C214: illegal pointer conversion_求分析

void UART0_SendBuff( unsigned int *buff, unsigned int size )
{
while( size -- )
{
TX_OK = 0;
S0BUF = *buff ++;
while( TX_OK == 0 );
}
TX_OK = 0;
}
void UART0_SendStr( int* str )
{
UART0_SendBuff( ( unsigned int* ) str, strlen( str ) );
}
void main( void )
{
unsigned int data3[6]={0x7E,0x04,0x41,0x00,0x01,0xEF};
unsigned int i;
CLKCTRL = ( CLKCTRL | 0x80 ) & ~0x08;
UART_Init( 3 ); //baudrate = 9600
EA = 1;
while( 1 )
{
for(i=0;i<6;i++)
{
UART0_SendStr(data3[i]); //..\SOURCE\MAIN.C(77): error C214: illegal pointer conversion
}

}
}
最新回答
绿梦与我

2024-10-14 03:11:11

UART0_SendStr(data3[i]); 改成UART0_SendStr(&data3[i]);

形参是int指针,实参是int,当然不行了
追问
哪怎么改
追答
UART0_SendStr(data3[i]); 改成UART0_SendStr(&data3[i]);
追问
要是这样改,都不输出了,我是要让串口输出0x7E,0x04,0x41,0x00,0x01,0xEF的(不是字符)
要是这样改,都不输出了,我是要让串口输出0x7E,0x04,0x41,0x00,0x01,0xEF的(不是字符)
追答
串口调试助手你选了HEX查看了吗?