硬石社区

 找回密码
 立即注册
查看: 1821|回复: 1

[STM32F1] 关于通信Printf问题

[复制链接]

2

主题

3

帖子

1107

积分

海贼新人

Rank: 3Rank: 3Rank: 3

积分
1107
发表于 2021-10-7 16:48:43 | 显示全部楼层 |阅读模式
#include "bsp_usart3.h"
#include <stdio.h>


UART_HandleTypeDef huart3;

/* USART3 init function */
int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0xffff);
  return ch;
}

int fgetc(FILE * f)
{
  uint8_t ch = 0;
  HAL_UART_Receive(& huart3,&ch, 1, 0xffff);
  return ch;
}
我在USART3.C里定义了printf函数了,为什么在main.c里会有错误警告,../Src/main.c(48): warning:  #223-D: function "printf" declared implicitly
在main.c头文件里已包含了string.h,哪里有问题?有知道的么?有知道的请指点一下。
  我试着在main.c里包含一个<stdio.h>错误就消了,但是用通信助手查看,就是不能接收



回复

使用道具 举报

370

主题

1323

帖子

16万

积分

传说中的管理员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
164286
QQ
发表于 2021-10-8 20:26:26 | 显示全部楼层
printf是属于<stdio.h>的。
如果不用printf函数,试试直接:HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0xffff);是否能发送正常。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc. ( 粤ICP备16080364号

GMT+8, 2022-9-26 04:24 , Processed in 0.090540 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表