OpenEdv-开源电子网

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

用库函数写串口实验遇到失败 求高手帮忙 感谢!!!!!!!

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2012-11-29
在线时间
0 小时
发表于 2012-11-29 17:25:44 | 显示全部楼层 |阅读模式
用的是stm32f103RB的芯片,实验目的是想要在串口助手中显示 hello world,但是输出的内容不能显示在串口助手里。
根据视频教程写的程序可以在串口助手里看到。
感觉好奇怪,求指点。万分感谢!!

下面是代码,用的是3.5的库函数,自己写的几个文件在下面,其他都是标准库文件。
main.c:
#include "stm32f10x.h"
#include "usart1.h"
int main(void)
{
SystemInit();
USART1_Config();
        printf("\r\n hello world \r\n");
while(1)     
{
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
usart.c:
#include "usart1.h"
#include <stdarg.h>
void USART1_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);

   
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  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_9;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  
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(USART1, &USART_InitStructure); 
  USART_Cmd(USART1, ENABLE);
}

int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (unsigned char) ch);
while( USART_GetFlagStatus(USART1,USART_FLAG_TC) != SET);
return (ch);
}

~~~~~~~~~~~~~~~~~~~~~``
usart.h:
#ifndef _USART1_H
#define _USART1_H

#include "stm32f10x.h"
#include <stdio.h>

void USART1_printf(USART_TypeDef* USARTx, uint8_t *Data,...);

void USART1_Config(void);

int fputc(int ch, FILE *f);

#endif



一往无前
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2012-11-29
在线时间
0 小时
 楼主| 发表于 2012-11-29 20:54:43 | 显示全部楼层
求原子大哥帮帮忙啊!!!!!!!!!1
一往无前
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-29 21:39:15 | 显示全部楼层
先软件仿真,看看你的寄存器配置,和寄存器版本的代码配置是否一样?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2012-11-29
在线时间
0 小时
 楼主| 发表于 2012-11-30 10:31:03 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
原子大哥,光盘里的例子是用中断模式写的,这个是用查询模式写的。问题是在这里么?
一往无前
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-30 10:32:54 | 显示全部楼层
回复【4楼】Achivev:
---------------------------------
你这个都不需要用到中断啊
只是stm32发数据到电脑,printf就完了啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2012-11-29
在线时间
0 小时
 楼主| 发表于 2012-11-30 10:52:25 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
额,好吧。
我跪了。。。。。。
一往无前
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2012-11-29
在线时间
0 小时
 楼主| 发表于 2012-11-30 22:41:02 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子大哥,我这个是用3.0的库函数写的,但是我的编译器是3.5的库。是不是这个原因不能成功呢?你能否简单提下3.5的库和3.0的库哪里有不同么?
一往无前
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-30 23:13:39 | 显示全部楼层
我都不用库的,呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 01:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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