STM32F215VG USART

[复制链接]
 楼主| fq1110 发表于 2011-10-27 09:21 | 显示全部楼层 |阅读模式
大家好,我的STM32F215的串口6代码如下,能正常进入发送中断,示波器却量不到波形,数据并没有实际的发送出来。请大家帮忙看看有什么问题啊?谢谢。

GPIO_InitTypeDef  GPIO_InitStructure;   
   USART_InitTypeDef  USART_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD, ENABLE);
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART6/*|RCC_APB2Periph_AFIO*/,ENABLE);
    /* Configure USART6 Rx (PA10) as input floating                             */
   GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_7;
   GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AN;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
   GPIO_Init(GPIOC, &GPIO_InitStructure);
   /* Configure USART1 Tx (PA9) as alternate function push-pull                */
   GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_6;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
   GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF;
   GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOC,GPIO_Pin_6,GPIO_AF_USART6);
GPIO_PinAFConfig(GPIOC,GPIO_Pin_7,GPIO_AF_USART6);
   USART_DeInit(USART6);
   USART_InitStructure.USART_BaudRate            = 57600;
   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(USART6, &USART_InitStructure);
   USART_ITConfig(USART6, USART_IT_RXNE|USART_IT_TXE, ENABLE);
   USART_Cmd(USART6, ENABLE);
   USART_ClearFlag(USART6,USART_FLAG_TXE);
 楼主| fq1110 发表于 2011-10-27 10:46 | 显示全部楼层
顶一下啊。大家帮忙分析一下啊。
香版主,在吗?给点提示啊。
 楼主| fq1110 发表于 2011-10-27 11:28 | 显示全部楼层
固件库用的STM32F2xx 1.0.0,这个应该没什么问题吧?
 楼主| fq1110 发表于 2011-10-27 11:29 | 显示全部楼层
/**
  ******************************************************************************
  * @file    stm32f2xx.h
  * @author  MCD Application Team
  * @version V1.0.0
  * @date    18-April-2011
大李飞刀 发表于 2011-10-27 11:43 | 显示全部楼层
是否传说中的ES 工程样品
yinyangdianzi 发表于 2011-10-27 12:10 | 显示全部楼层
215系列已经量产了哦
 楼主| fq1110 发表于 2011-10-27 12:32 | 显示全部楼层
工程样品,有问题吗?
量产了,资料咋还这么少啊。
IJK 发表于 2011-10-27 13:53 | 显示全部楼层
PC6/PC7的配置有些问题,TX脚没有配成PushPull。另外,是否进入串口6中断关系不大,关键要发送数据才行。
 楼主| fq1110 发表于 2011-10-27 14:02 | 显示全部楼层
IJK兄弟,我加了以下这两句
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
串口还是不能使用。我都是从官网例子包中照写的串口例程,还是不行。
IJK 发表于 2011-10-27 14:37 | 显示全部楼层
IJK兄弟,我加了以下这两句
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
串口还是不能使用。我都是从官网例子包中照写的串口例程,还是不行。 ...
fq1110 发表于 2011-10-27 14:02


慢慢摸索,不用着急。记得STM32串口有好几个例子,多试试看总有1个能发出数据来
 楼主| fq1110 发表于 2011-10-27 14:50 | 显示全部楼层
10# IJK

嗯,好的,谢谢鼓励。
aozima 发表于 2011-10-27 18:30 | 显示全部楼层
20X 40X改进了第二功能选择,比以前方便多了
  1.     /* Connect alternate function */
  2.     GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2);
  3.     GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2);
 楼主| fq1110 发表于 2011-10-28 08:47 | 显示全部楼层
收发都没有反应,串口设置还有其它要注意的地方吗?
 楼主| fq1110 发表于 2011-10-28 10:27 | 显示全部楼层
发现写串口寄存器全失败了,这是什么原因呢?
IJK 发表于 2011-10-28 10:39 | 显示全部楼层
发现写串口寄存器全失败了,这是什么原因呢?
fq1110 发表于 2011-10-28 10:27


串口时钟没打开,会造成这个现象
 楼主| fq1110 发表于 2011-10-28 10:44 | 显示全部楼层
keil mdk4.14版本连datasheet的寄存器都对不上,先下个4.22看看再说。
 楼主| fq1110 发表于 2011-10-28 10:46 | 显示全部楼层
串口时钟没打开,会造成这个现象
IJK 发表于 2011-10-28 10:39


ijk,已经使能了串口时钟。会不会和keil有关?
yzzly 发表于 2011-10-28 10:52 | 显示全部楼层
本帖最后由 yzzly 于 2011-10-28 11:03 编辑

!!!
 楼主| fq1110 发表于 2011-10-28 11:02 | 显示全部楼层
PA10及PA9为串口引脚,而你却设置PC口"GPIO_Init(GPIOC, &GPIO_InitStructure);"
怎么能够看到波形???
yzzly 发表于 2011-10-28 10:52


PA10与PA9是串口1的引脚,我现在用的是串口6.
yzzly 发表于 2011-10-28 11:07 | 显示全部楼层
本帖最后由 yzzly 于 2011-10-28 11:10 编辑

你好像没有使能端口C时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);  //使能端口C时钟
这是103的语句
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

530

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部