OpenEdv-开源电子网

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

stm32f207 串口USART无法接收数据

[复制链接]

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
发表于 2013-8-21 00:15:33 | 显示全部楼层 |阅读模式

大家好,我最近在学习STM32f207,最近用到USART,由于板子上只有USART6,所以只能用USART6 ,做实验的时候能发数据,但用超级终端和SSCOM3.2的时候都不能将数据传送给STM32,请问这是怎么回事,下面是代码,我用了查询方式和中断方式都不能让STM32接收数据。
1.主函数部分:
int main(void)
{
         vu16 i = 0;
   RCC_Configuration();
       
         Usart_GPIO_Configuration();
         USART_Configuration();
       
        for(i=0;Txbuffer != '\0'; i++)
        {
                USART_SendData(USART6, Txbuffer);
                while(USART_GetFlagStatus(USART6, USART_FLAG_TC) == RESET);
        }
       
   while        (1)
         {
                 /* 等待USART6接收数据完毕 */
                 if(USART_GetFlagStatus(USART6, USART_IT_RXNE)  == SET)
                 {
                         /* 向串口发送接收到的数据 */
                         USART_SendData(USART6, USART_ReceiveData(USART6));//
                         while(USART_GetFlagStatus(USART6, USART_FLAG_TC) == RESET);
                         /* 延时短,保证收发稳定性 */
                         for(i=0; i<100; i++);//500
                 }
          }               
}
2.配置部分:
#include "usart.h"

void Usart_GPIO_Configuration(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
 
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART6 , ENABLE);
 
  /* GPIOG Periph clock enable */  
 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOG, ENABLE);

 /*USARTx_TX -> PC6  , USARTx_RX -PC7*/
 GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_USART6);//GPIO_Pin_6//GPIO_PinSource6
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_USART6);//GPIO_PinSource7

 GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6 ;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
 GPIO_Init(GPIOC, &GPIO_InitStructure);
 
 GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_7;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//GPIO_OType_OD;//
 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//NOPULL;
 GPIO_Init(GPIOC, &GPIO_InitStructure);
}

void USART_Configuration(void)

 /*定义USART初始化结构体 USART_InitStructure*/
 USART_InitTypeDef USART_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; // Receive and transmit enabled
  
  USART_Init(USART6, &USART_InitStructure);

 USART_Cmd(USART6, ENABLE);//使能USART6
 USART_ClearFlag(USART6, USART_FLAG_TC);
}

就是这样,后面调试的时候发现把主函数部分的“ if(USART_GetFlagStatus(USART6, USART_IT_RXNE)  == SET) “改成“ if(USART_GetFlagStatus(USART6, USART_IT_RXNE)  != SET)”时,通过SSCOM3.2可以看到stm32在不停的发送数据,可能是由于收到的空数据,所以发的时候也是空白的,
我在一些地方上能到说是由于要用“回车”作为结束符,但在超级终端里面试了没有效果,请高人指点这是怎么回事

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
 楼主| 发表于 2013-8-21 15:35:48 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢原子哥
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2013-9-30
在线时间
0 小时
发表于 2013-9-30 20:40:42 | 显示全部楼层
GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_7;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//GPIO_OType_OD;//
 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//NOPULL; 

    既然你选择了串口输入(GPIO的AF模式),你就应该讲该管脚设定为GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    试试吧,能收到数据的。
回复 支持 反对

使用道具 举报

4

主题

6

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2018-11-16
在线时间
2 小时
发表于 2018-12-5 10:39:19 | 显示全部楼层
你好,在吗,我有一些串口的问题想向你请教
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 08:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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