OpenEdv-开源电子网

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

串口发送不成功 寄存器版本(自己看书敲的)

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
29
金钱
29
注册时间
2015-11-9
在线时间
1 小时
发表于 2015-12-1 15:27:18 | 显示全部楼层 |阅读模式
5金钱
我是STM32初学者,想从寄存器版本开始学  ,这是我自己敲的关于串口实验的串口配置函数,可是不管怎么调,都接收不到数据,确切的说连串口中断都没有进去(我用LED的亮灭 来判断的)不知道是哪儿出了问题 还望大家可以帮助一下。(没有考虑操作系统)


#include "usart.h"
#include "led.h"

void uart_init(u32 plck2,u32 bound)
{
   float temp;
u16 mantissa;
u16 fraction;
temp=(plck2*1000000)/(bound*16);
mantissa=temp;
fraction=(temp-mantissa)*16;

mantissa=mantissa<<4;
mantissa=mantissa+fraction;
 
RCC->APB2ENR|=1<<2;
RCC->APB2ENR|=1<<14;

GPIOA->CRH&=0XFFFFF00F;
GPIOA->CRH|=0X000008B0;

RCC->APB2RSTR|=1<<14;
RCC->APB2RSTR|=0<<14;

USART1->BRR=mantissa;
USART1->CR1|=0X200C;

#if EN_USART1_RX
  USART1->CR1|=1<<8;
USART1->CR1|=1<<5;
MY_NVIC_Init(3,3,USART1_IRQn,2);
#endif

}

void USART1_IRQHandler(void)
{
 u8 res;
   LED0=0;
    if(USART1->SR&(1<<5))
{
LED1=0;
res=USART1->DR;
USART1->DR=res;
}
}

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 23:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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