学前班
最后登录1970-1-1
在线时间 小时
注册时间2013-5-22
|
例程在中断处理中是直接收到一个字符然后通过串口打印输出,语句为:printf("%c",c);程序运行没问题,但我加了一个换行符之后就不行了printf("%c\n",c); 输出跟输入相比是一个隔一个输出的,少了一半,谁能告诉我这是为什么?
顺便请教一下该怎么把串口接收到得字符合成一个字符串并打印输出?下面这样为什么不行?
void USART1_IRQHandler(void)
{
u8 c;
char Cmd[10];
const char *str;
static char i=0;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
c=USART1->DR;
if((i<10)&&(c!=0x0D))
{
Cmd[i]=c;
i++;
}
else
i=0;
str=Cmd;
printf("\r\n %s !\r\n",*str);
}
}
|
|