[STM32F4] 【Nucleo设计分享】把printf函数重定向到串口1

[复制链接]
1739|5
 楼主| 人民币的幻想 发表于 2015-1-20 14:38 来自手机 | 显示全部楼层 |阅读模式
官方代码直接搞到串口2去了,手头没有电烙铁,SB62和SB63没法短接。只好想了一个比较笨的办法,重定义fputc函数。另外我在家没网也没办法下载411re的支持包。只好在官方代码上修改,见谅。我把代码直接放到main.c里了,做测试用。完整如下:
#if 1
#pragma  import(__use_no_semihosting)
struct _FILE
{
   int handle;
};

FILE __stdout;
void _sys_exit(int x)
{
   x=(int)x;
}
int fputc(int ch,FILE *f)
{
    while((USART1->SR&0X40)==0);
    USART1->DR=(uint8_t)ch;
    return ch;
}
#endif
另外,需要修正main.h文件里的宏定义,将USARTx 换为USART1,其余宏定义也把USART2替换为USART1。最后别忘了把有关引脚的宏定义也改到串口1,即PA9和PA10。回头补图,家里上不去网。
wgsxsm 发表于 2015-1-20 17:37 | 显示全部楼层
我觉得楼主意会错了,那个SB62和SB63是将PA2和OA3引做D0和D1的
线路中实际是将其连接到了STLINK的RX TX,也就是只做了串口通信,没有用在IO口
所以官方的例程可以直接用的,不用修改
湛只为无双 发表于 2015-1-20 18:24 来自手机 | 显示全部楼层
二楼正解,不用接也是可以的,原理图里面有
 楼主| 人民币的幻想 发表于 2015-1-20 18:32 来自手机 | 显示全部楼层
后来知道了,谢谢二位。
mmuuss586 发表于 2015-1-20 19:34 | 显示全部楼层
恭喜楼主;
 楼主| 人民币的幻想 发表于 2015-1-20 20:02 来自手机 | 显示全部楼层
mmuuss586 发表于 2015-1-20 19:34
恭喜楼主;

谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

375

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部