pointer targets in passing argument 1 of 'TxRomUart' differ in signedness
0赞warning: pointer targets in passing argument 1 of 'TxRomUart' differ in signedness
警告的提示是:传递的指针和TxRomUart函数的参数不一样
函数原型:
//----------------------------------------------------------
//---fuc:发送ROM数据到串口
//----------------------------------------------------------
void TxRomUart(const uint8 *data,uint16 leng)
{
while(leng)
{
while(!((UCSRA)&(1<<UDRE)));//串口准备好,接收数据
UDR=*data;data++;leng--;
}
}
函数引用:TxRomUart("initial!",8);
出现警告warning: pointer targets in passing argument 1 of 'TxRomUart' differ in signedness
修改为: TxRomUart((const unsigned char *)"initial!",8);
无警告。
上面的方法属于强制转换类型
还有一种就是修改函数定义:
把原函数修改为const char类型就可以去除那些警告了
const unsinged char和const singed char都不行
可以参考下http://www.cesdn.org/thread-1010-1-1.html
