我用的是KEIL4,使用的芯片是新唐的M0内核,准备将一个字符串通过串口发出去,但是发现发出去的最大长度为17个字节,不知道为什么,代码如下:
const char* test="01234567890123456789";
void Uart1SendCommand(const char *Comprt)
{
do{
UART_WRITE(UART1,*Comprt);
Comprt=Comprt+1;
}
while(*Comprt!='\0');
}
int main()
{
Uart1SendCommand(test);
while(1);
return 0;
}
结果串口输出为01234567890123456,也就是说只有17个字符,为什么不是012345678901234567890这20个字符呢,于是我试着在devcpp环境下试着运行,发现可以正常打印那20个字符,devcpp的代码如下:
const char* li="012345678901234567890123456789";
void Pri(const char* ptr)
{
do{
printf("%c",*ptr);
ptr=ptr+1;
}
while(*ptr!='\0');
}
int main()
{
Pri(li);
return 0;
}
麻烦知道的指点一下,谢谢! |