同样的两份代码!
[mw_shl_code=c,true]void SPI_Write_S(u8 *pBuffer, u16 NumByteToWrite)
{
while(NumByteToWrite--)
{
SPI_SendByte(*pBuffer);
pBuffer++;
Delay(0xffff);
}
}[/mw_shl_code]
[mw_shl_code=c,true]void SPI_Write_Str(u8 *pBuffer, u16 NumByteToWrite)
{
while(NumByteToWrite--)
{
SPI_SendByte(*pBuffer);
pBuffer++;
Delay(0xffff);
}
}[/mw_shl_code]
注意看哦,只有函数名字不同,内部代码完全一样。
SPI_Write_S是放在main.c中得,而SPI_Write_Str是放在spi.c中的。
但是,当我在主程序中调用的时候。SPI_Write_S输出就很正常, 而SPI_Write_Str则出现各种丢包。。。。求解!
再加上实际运行结果,更有说服力:
u8 *str = "(B)\n";
调用main.c的SPI_Write_S(str, 4);
而调用spi.c的SPI_Write_Str(str, 4);
|