OpenEdv-开源电子网

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

串口2 懵了

[复制链接]

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
金钱
276
注册时间
2010-12-14
在线时间
5 小时
发表于 2013-10-14 23:00:06 | 显示全部楼层 |阅读模式

我的串口2配置如下

void Uart2_init(u32 bound)
{
  GPIO_InitTypeDef  GPIO_InitStructure;
  USART_InitTypeDef USART_InitStructure;
  NVIC_InitTypeDef  NVIC_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);
   RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure); 

 

  NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =3;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;   
  NVIC_Init(&NVIC_InitStructure); 

 

  USART_InitStructure.USART_BaudRate = bound;
  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(USART2, &USART_InitStructure);


  USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);

  USART_Cmd(USART2, ENABLE);                  

}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

在while1中直接发送 55 aa

 USART_SendData(USART2, 0X55);
  delay_ms(100);
  USART_SendData(USART2, 0XAA);
  delay_ms(100);


???????????????????????????????????????????????????????????????????????

什么情况呢?大侠指点下!!!谢!!

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-14 23:33:47 | 显示全部楼层
仿真,看下你设置的串口波特率是9600么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
金钱
276
注册时间
2010-12-14
在线时间
5 小时
 楼主| 发表于 2013-10-15 11:00:14 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,我有看了下我的程序,我发现我的时钟没有初始化,我之前看您的视频,我记得如果不对时钟进行二次初始化,系统会有一个默认的时钟,
不知道我用默认的时钟能否用串口2?
回复 支持 反对

使用道具 举报

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
金钱
276
注册时间
2010-12-14
在线时间
5 小时
 楼主| 发表于 2013-10-15 16:04:29 | 显示全部楼层
原子哥,我在论坛上没有找到我这问题的答案,我看有挺多人都遇到我问的这个问题,而且都是在调SIM900A模块出现的问题,请原子哥指教。
还有原子哥有没有 STM32去解析SIM卡短信的例程吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-15 16:10:00 | 显示全部楼层
回复【3楼】shilang0304:
---------------------------------
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
这就是开启串口2时钟啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
金钱
276
注册时间
2010-12-14
在线时间
5 小时
 楼主| 发表于 2013-10-16 09:04:36 | 显示全部楼层

    1:首先说明,上传的串口2的初始化没问题,可以正常的使用。
   2:造成我说的那种现象的原因是:我竟然2X的把usb转串口的2.3.5直接接到了单片机上。昨晚回家一看才知道怎么回事。
 3:STM32还真挺牛哈,15V竟然没烧掉,虽然是电平信号吧,曾以为STC单片机挺牛的,因为把电源接反了页没烧。但现在看STM32也响当当啊。。。。呵呵

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

7

主题

170

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-8-9
在线时间
3 小时
发表于 2013-10-18 10:19:47 | 显示全部楼层
回复【6楼】shilang0304:
---------------------------------
额,我的才14V就烧了,还是交流
回复 支持 反对

使用道具 举报

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
金钱
276
注册时间
2010-12-14
在线时间
5 小时
 楼主| 发表于 2013-10-24 15:36:46 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
原子哥,用固件库去驱动,同时使用串口1,串口2,串口3,程序为什么不稳定,不定什么时候就会跑死,有的时候死在发送函数里,有的时候死在delay_ms()里。
驱动代码都一样,就是串口2和串口3的时钟以及映射的GPIO改动了。
我看你们如果用到串口2和串口3都是直接操作寄存器,而没有用固件库,是固件库不稳定吗?还是我的代码有问题?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-24 23:47:11 | 显示全部楼层
回复【9楼】shilang0304:
---------------------------------
这就不清楚了,应该还好吧,呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2013-10-25 17:25:45 | 显示全部楼层
为何大家都喜欢用串口调试助手呢?
用Secure CRT不更好?
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 23:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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