你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32串口问题

[复制链接]
Inno 提问时间:2012-7-25 00:14 /
  QQ截图20120725000954.png
 
请教下各位前辈,我是按照书上的例程写出的这段,为什么printf不能打印呢?
/#include "stm32f10x_lib.h"
#include
/* 函数声明      --------------------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void USART_Configuration(void);

/*******************************************************************************
* 函数名    : main
* 函数描述     : 主函数
* 输入参数      : 无
* 输出结果      : 无
* 返回值        : 无
*******************************************************************************/
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
USART_Configuration();
while(1)
{
printf("\r\n Welcome \r\n");
}
}
/*******************************************************************************
* 函数名    : RCC_Configuration
* 函数描述     : RCC初始化
* 输入参数      : 无
* 输出结果      : 无
* 返回值        : 无
*******************************************************************************/
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
FLASH_SetLatency(FLASH_Latency_2);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource()!=0x08);
}
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA,ENABLE);
}
/*******************************************************************************
* 函数名    : GPIO_Configuration
* 函数描述     : 设置GPIO端口功能
* 输入参数      : 无
* 输出结果      : 无
* 返回值        : 无
*******************************************************************************/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
/*******************************************************************************
* 函数名    : USART_Configuration
* 函数描述     : 设置USART
* 输入参数      : 无
* 输出结果      : 无
* 返回值        : 无
*******************************************************************************/
void USART_Configuration(void)
{
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 9600;
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(USART1,&USART_InitStructure);
USART_Cmd(USART1,ENABLE);
}
int fputc(int ch, FILE *f)
{
USART_SendData(USART1,(u8)ch);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
return ch;
}
收藏 评论6 发布时间:2012-7-25 00:14

举报

6个回答
yjwpm 回答时间:2012-7-25 09:47:06

RE:STM32串口问题

在MDK的常规选项里,包含一下微库就可以使用了
2.JPG
yjwpm 回答时间:2012-7-25 09:48:12

RE:STM32串口问题

在MDK的常规选项里,包含一下微库就可以使用了
yjwpm 回答时间:2012-7-25 09:49:19

RE:STM32串口问题

在MDK的常规选项里,包含一下微库就可以使用了
Inno 回答时间:2012-7-25 09:55:06

回复:STM32串口问题

回复第 4 楼 于2012-07-25 09:49:19发表:
在MDK的常规选项里,包含一下微库就可以使用了
已经包含了,是这个吧?
QQ截图20120725095433.png
 
Inno 回答时间:2012-7-25 09:56:47

回复:STM32串口问题

回复第 4 楼 于2012-07-25 09:49:19发表:
在MDK的常规选项里,包含一下微库就可以使用了
 
但是还是不能使用……
 
cx032302 回答时间:2012-7-25 11:56:19

回复:STM32串口问题

在MDK中,该按钮按下,会弹出一个串口调试助手界面的窗口,来显示串口打印的内容 BED9SCLR9B(`$T2BQ}[59D4.jpg
944UI_84ZRFS2SYK_17915V.jpg

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版