关于printf在串口助手上无法显示的问题
做DW1000测距,硬件在线调试没问题了,可以完成测距,但是测距的结果通过串口在串口助手上显示不出来,不知道是哪里出了问题求各位大神看一下
电路部分
程序部分
时钟设置等
本帖最后由 toofree 于 2018-5-2 00:15 编辑
你用的哪款片子。
一般PA9、PA10才是USART1,如果要用PB6、PB7作为USART1的话,需要remap一下。我眼拙,没找到你remap的地址。
我用的USB转TTL把板子连到电脑上 printf需要重定向:
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
wenyangzeng 发表于 2018-5-1 13:38
printf需要重定向:
请问是直接将这段代码复制到主函数里吗? wenyangzeng 发表于 2018-5-1 13:38
printf需要重定向:
我发现我代码里已经有了
int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (unsigned char) ch);// USART1 ???? USART2 ?
while (!(USART1->SR & USART_FLAG_TXE));
return (ch);
}
还需要重定向吗 zzuzph 发表于 2018-5-1 16:07
我发现我代码里已经有了
int fputc(int ch, FILE *f)
zzuzph 发表于 2018-5-1 16:07
我发现我代码里已经有了
int fputc(int ch, FILE *f)
共有2段代码 wenyangzeng 发表于 2018-5-1 16:43
这个我选了 wenyangzeng 发表于 2018-5-1 16:44
共有2段代码
复制进去发现全是警告 HAL_UART_Transmit有点问题 zzuzph 发表于 2018-5-1 15:59
请问是直接将这段代码复制到主函数里吗?
这是举例HAL库的代码,如果你是标准固件库,则要复制标准固件库的代码。这在ST官网可以找到的。
页:
[1]
2