打印

STM32F215VG USART

[复制链接]
4513|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

使用特权

评论回复
5
大李飞刀| | 2011-10-27 11:43 | 只看该作者
是否传说中的ES 工程样品

使用特权

评论回复
6
yinyangdianzi| | 2011-10-27 12:10 | 只看该作者
215系列已经量产了哦

使用特权

评论回复
7
fq1110|  楼主 | 2011-10-27 12:32 | 只看该作者
工程样品,有问题吗?
量产了,资料咋还这么少啊。

使用特权

评论回复
8
IJK| | 2011-10-27 13:53 | 只看该作者
PC6/PC7的配置有些问题,TX脚没有配成PushPull。另外,是否进入串口6中断关系不大,关键要发送数据才行。

使用特权

评论回复
9
fq1110|  楼主 | 2011-10-27 14:02 | 只看该作者
IJK兄弟,我加了以下这两句
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
串口还是不能使用。我都是从官网例子包中照写的串口例程,还是不行。

使用特权

评论回复
10
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个能发出数据来

使用特权

评论回复
11
fq1110|  楼主 | 2011-10-27 14:50 | 只看该作者
10# IJK

嗯,好的,谢谢鼓励。

使用特权

评论回复
12
aozima| | 2011-10-27 18:30 | 只看该作者
20X 40X改进了第二功能选择,比以前方便多了
    /* Connect alternate function */
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2);
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2);

使用特权

评论回复
13
fq1110|  楼主 | 2011-10-28 08:47 | 只看该作者
收发都没有反应,串口设置还有其它要注意的地方吗?

使用特权

评论回复
14
fq1110|  楼主 | 2011-10-28 10:27 | 只看该作者
发现写串口寄存器全失败了,这是什么原因呢?

使用特权

评论回复
15
IJK| | 2011-10-28 10:39 | 只看该作者
发现写串口寄存器全失败了,这是什么原因呢?
fq1110 发表于 2011-10-28 10:27


串口时钟没打开,会造成这个现象

使用特权

评论回复
16
fq1110|  楼主 | 2011-10-28 10:44 | 只看该作者
keil mdk4.14版本连datasheet的寄存器都对不上,先下个4.22看看再说。

使用特权

评论回复
17
fq1110|  楼主 | 2011-10-28 10:46 | 只看该作者
串口时钟没打开,会造成这个现象
IJK 发表于 2011-10-28 10:39


ijk,已经使能了串口时钟。会不会和keil有关?

使用特权

评论回复
18
yzzly| | 2011-10-28 10:52 | 只看该作者
本帖最后由 yzzly 于 2011-10-28 11:03 编辑

!!!

使用特权

评论回复
19
fq1110|  楼主 | 2011-10-28 11:02 | 只看该作者
PA10及PA9为串口引脚,而你却设置PC口"GPIO_Init(GPIOC, &GPIO_InitStructure);"
怎么能够看到波形???
yzzly 发表于 2011-10-28 10:52


PA10与PA9是串口1的引脚,我现在用的是串口6.

使用特权

评论回复
20
yzzly| | 2011-10-28 11:07 | 只看该作者
本帖最后由 yzzly 于 2011-10-28 11:10 编辑

你好像没有使能端口C时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);  //使能端口C时钟
这是103的语句

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

530

帖子

1

粉丝