请教哪位大师; 我的北极星h750板 需要用 usart3 串口 通讯,需要用寄存器方式控制串口,快一些。但是 不知道哪里错了,就是通讯不成功,无法通讯。
void RS485_Init(u32 pclk1,u32 bound)
{
u32 temp;
temp=(pclk1*1000000+bound/2)/bound;
RCC->AHB2ENR|=1<<0; // 端口使能时钟
GPIO_Set(GPIOB,PIN10|PIN11,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_MID,GPIO_PUPD_PU); //PB10,PB11, 复用-
GPIO_AF_Set(GPIOB,10,7); //PB10,AF7
GPIO_AF_Set(GPIOB,11,7); //PB11,AF7
RCC->APB1LENR|=1<<17; // 使能串口时钟
RCC->APB1LRSTR|=1<<17;
RCC->APB1LRSTR&=~(1<<17);
// 波特率设置
USART3->BRR=temp;
USART3->CR1=0;
USART3->CR1|=0<<28;
USART3->CR1|=0<<12;
USART3->CR1|=0<<15;
USART3->CR1|=1<<3;
//使能中断接收
USART3->CR1|=1<<2; // 串口接收
USART3->CR1|=1<<5; //
MY_NVIC_Init(3,3,USART3_IRQn,2); //
USART3->CR1|=1<<0; //串口使能
}
|