金牌会员
 
- 积分
- 1049
- 金钱
- 1049
- 注册时间
- 2016-9-3
- 在线时间
- 158 小时
|
2金钱
单片机:STM32F103C8T6,串口:USART1
我照着原子哥例程在usart.h中 #include "stdio.h"
然后在usart.c中加入如下代码:
#if 1
#pragma import(__use_no_semihosting)
struct __FILE
{
int handle;
};
FILE __stdout;
_sys_exit(int x)
{
x = x;
}
int fputc(int ch, FILE *f)
{
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
USART_SendData(USART1,(u8) ch);
return ch;
}
#endif
最后在如下代码使用printf函数,但是串口助手没任何反应:
void USART1_IRQHandler(void)
{
u8 Res;
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
Res=USART_ReceiveData(USART1);
if(Res==1)
{
LED();
printf("完成");
}
}
}
|
|