打印
[STM32F4]

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

[复制链接]
1504|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
官方代码直接搞到串口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 | 只看该作者
后来知道了,谢谢二位。

使用特权

评论回复
5
mmuuss586| | 2015-1-20 19:34 | 只看该作者
恭喜楼主;

使用特权

评论回复
6
人民币的幻想|  楼主 | 2015-1-20 20:02 | 只看该作者
mmuuss586 发表于 2015-1-20 19:34
恭喜楼主;

谢谢。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

375

帖子

3

粉丝