求教 STM32F107串口 接收数据不中断

qisiwoye 2011-03-02 11:31:38
//时钟已经设置为72MHz
//初始化时钟 GPIOA AFIO USART1
RCC->APB2ENR|=0x00000001<<2;
RCC->APB2ENR|=0x00000001<<0;
RCC->APB2ENR|=0x00000001<<14;
//串口设置
//初始化
USART1->SR=0x000000C0;
USART1->DR=0x00000000;
USART1->BRR=0x00000000;
USART1->CR1=0x00000000;
USART1->CR2=0x00000000;
USART1->CR3=0x00000000;
USART1->GTPR=0x00000000;
//波特率9600
USART1->BRR=0x1D4C;
/********都是0,初始化就解决了*****************/
// 字长8位
//USART1->CR1&=(~(0x00000001<<12));
//无奇偶检验
//USART1->CR1&=(~(0x00000001<<10));
//一个停止位
//USART1->CR2&=(~(0x00000001<<12));
//USART1->CR2&=(~(0x00000001<<13));
//无流控制
//USART1->CR3=0;
/*****************************************/

//打开Rx接收和Tx发送功能
USART1->CR1|=0x0000000C;
//串口1的管脚初始化
GPIOA->CRH=0x04B0;

//串口接收中断使能
USART1->CR1|=0x00000001<<5;

//优先级
NVIC->IP[37]=0x80;
//允许中断
NVIC->ISER[1]|=0x00000001<<5;
//启动串口
USART1->CR1|=0x00000001<<13;

/****数据发送到电脑上正常******/
USART1->DR ='1';

/*** 死循环 接收中断****/
while(1) ;


上面代码时钟不能中断,求教原因

...全文
357 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
w178469590 2011-03-03
  • 打赏
  • 举报
回复
就是,先用固件库试试再说
lbing7 2011-03-03
  • 打赏
  • 举报
回复
LZ,你先用STM提供的那个固件库试试

先别自己写

然后,把你的中断程序写上

才知道能不能进中断
qisiwoye 2011-03-03
  • 打赏
  • 举报
回复
不好意思!这个代码没有问题,有问题的是我板子上的跳线帽,TX 正常 RX 接触不良!

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧