串口4不能进入中断

  • A+
所属分类:STM32
void Usart4_Init(u32 pclk1,u32 bound)
{
float temp;
u16 mantissa;
u16 fraction;
temp=(float)(pclk1*1000000)/(bound*16);
mantissa=temp;
fraction=(temp-mantissa)*16;
mantissa<<=4;
mantissa+=fraction;	
RCC->APB2ENR|=1<<4;	//使能PORTC时钟
RCC->APB1ENR|=1<<19;	//使能串口4时钟
GPIOC->CRH&=0xfffff0ff; //PC10复用输出
GPIOC->CRH|=0x00000B00;

RCC->APB1RSTR|=1<<19;	//复位串口4
RCC->APB1RSTR&=~(1<<19);	//停止复位

UART4->BRR=mantissa;	//设置波特率
UART4->CR1|=0x200C;	//1位停止,无校验位
UART4->CR1|=1<<5;	//接收缓冲区非空中断使能
MY_NVIC_Init(3,3,UART4_IRQChannel,2);//组2,最低优先级

}

经过查看: 启动文件里面有中断函数入口吗 DCD UART4_IRQHandler ; UART4;
如果没有就跟换大容量的STM32对应的启动文件.

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
lichongyang

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: