OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3242|回复: 7

用USart3串口重定向printf函数软件仿真有数据,但是串口工具没有数据,串口与板子连线正确无误

[复制链接]

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-12-22
在线时间
4 小时
发表于 2015-12-22 15:32:50 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-12-22
在线时间
4 小时
 楼主| 发表于 2015-12-22 15:58:15 | 显示全部楼层
代码 
/**************************************
 * ????????Key_Rcc_Config
 * ?è??  ??????°??ürcc
 * ????  ????
 * ????  ????
 **************************************/
void Usart_Port_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;

/* USART3 Clock Config */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);


//USART_DeInit(USART3);

/* USART3 Gpio Config */
/* Config USART3 Tx(PB10) as alternate function ush-Pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
/* Config USART3 Rx(PB11) as input floating */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);

/* USART3 Mode Config */
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART3, &USART_InitStructure);
USART_Cmd(USART3, ENABLE);
//USART_ClearFlag(USART3, USART_FLAG_TXE);
}

/**************************************
 * ????????fputc
 * ?è??  ??????fputc?????????¨?ò??????3
 * ????  ????
 * ????  ????
 **************************************/
int fputc(int ch, FILE *f)
{
/* ??Printf????·????????? */
USART_SendData(USART3, (unsigned char)ch);

while(USART_GetFlagStatus(USART3, USART_FLAG_TC) != SET);
return (ch);
}
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-12-22
在线时间
4 小时
 楼主| 发表于 2015-12-22 16:00:50 | 显示全部楼层
仿真如下

回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-12-22
在线时间
4 小时
 楼主| 发表于 2015-12-22 16:02:14 | 显示全部楼层
串口工具内确一直没有打印
回复

使用道具 举报

13

主题

225

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
金钱
289
注册时间
2013-11-12
在线时间
29 小时
发表于 2015-12-22 16:44:15 | 显示全部楼层
工具坏了bei
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-12-22
在线时间
4 小时
 楼主| 发表于 2015-12-22 16:47:04 | 显示全部楼层
知道了,是板子的串口引脚有复用,得set置高位才输出
回复

使用道具 举报

4

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2015-12-4
在线时间
17 小时
发表于 2015-12-26 16:18:40 | 显示全部楼层
jn152 发表于 2015-12-22 16:47
知道了,是板子的串口引脚有复用,得set置高位才输出

你好,“set 置高位才输出”是什么意思啊? 这样吗?:
GPIO_SetBits(GPIOB,GPIO_Pin_10|GPIO_Pin_11);
回复

使用道具 举报

1

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
195
金钱
195
注册时间
2015-11-26
在线时间
25 小时
发表于 2015-12-26 16:58:09 | 显示全部楼层
你看下  这个串口的io  默认是什么功能   不是串口的话  要remap    好久没用stm32 了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 02:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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