OpenEdv-开源电子网

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

请教一下stm32f3的串口配置

[复制链接]

13

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2016-8-15
在线时间
52 小时
发表于 2016-10-17 20:37:10 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 carvenl 于 2016-10-17 20:44 编辑

用的是nucleo stm32f302r8开发板,配置usart2,基本上是仿着原子哥的例程写的。然后将PA2(TX)和PA3(RX)短接,不停的从TX发数据,但RX收不到任何数据。调试的时候,一直没有进入接收中断,ISR寄存器的标志位也没有更新,RDR寄存器一直是0。
捕获.PNG
不知是什么地方的问题,贴上代码,希望大神能帮我看一下,感激不尽。

[mw_shl_code=c,true]void USART2_Init(u8 pclk,u32 buad)
{
        u16 DIV_Mantissa,DIV_Fraction;
        float USARTDIV;
   
        USARTDIV=(float)(pclk*1000000)/buad;//计算波特率
        DIV_Mantissa=USARTDIV; //整数部分
        DIV_Fraction=(USARTDIV-DIV_Mantissa)*16; //小数部分

        RCC->APB1ENR |= 1<<17;//使能串口2时钟
        RCC->AHBENR  |= 1<<17;//使能PA时钟
        GPIO_Set(GPIOA,2,MODE_AF,PUPD_PU,OTYPE_PP,OSPEED_HIG);//PA2
        GPIO_AF_Set(GPIOA,2,7);        //PA2,AF7
        GPIO_Set(GPIOA,3,MODE_AF,PUPD_PU,OTYPE_PP,OSPEED_HIG);//PA3
        GPIO_AF_Set(GPIOA,3,7);        //PA3,AF7
        RCC->APB1RSTR |= 1<<17;//重置串口2时钟
        RCC->APB1RSTR &= ~(1<<17);
        
        USART2->BRR = (DIV_Mantissa<<4) + DIV_Fraction;//波特率
        USART2->CR1 |= 1<<2;//使能接受
        USART2->CR1 |= 1<<5;//使能接受中断
        USART2->CR1 |= 1<<3;//使能发送
        NVIC_Set(USART2_IRQn,2,2);
        USART2->CR1 |= 1;          //使能串口
}[/mw_shl_code]






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

使用道具 举报

13

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2016-8-15
在线时间
52 小时
 楼主| 发表于 2016-10-18 10:10:24 | 显示全部楼层
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-10-18 12:10:46 | 显示全部楼层
同一个串口收发连接测试是不是不太合理,用不同串口试试
回复

使用道具 举报

13

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2016-8-15
在线时间
52 小时
 楼主| 发表于 2016-10-18 12:27:22 | 显示全部楼层
龙之谷 发表于 2016-10-18 12:10
同一个串口收发连接测试是不是不太合理,用不同串口试试

这应该是测试串口的一种方式吧,我用电脑端串口助手也没有收到数据,不知道是不是配置有问题呢
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-10-18 20:51:18 | 显示全部楼层
carvenl 发表于 2016-10-18 12:27
这应该是测试串口的一种方式吧,我用电脑端串口助手也没有收到数据,不知道是不是配置有问题呢

参考下我们f4的例程,都是M4,应该差不多
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-13 17:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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