void uart4_init()
{
RCC->MP_APB1ENSETR |= (0x1<<16);
RCC->MP_AHB4ENSETR |= (0x1<<1);
RCC->MP_AHB4ENSETR |= (0X1<<6);
GPIOG->MODER &= (~(0X3<<22));
GPIOG->MODER |= (0X2<<22);
GPIOG->AFRH &= (~(0xf<<12));
GPIOG->AFRH |= (0x6<<12);
GPIOB->MODER &= (~(0x3<<4));
GPIOB->MODER |= (0X2<<4);
GPIOB->AFRL &= (~(0xF<<8));
GPIOB->AFRL |= (0x8<<8);
USART4->CR1 &=(~0x1);
USART4->CR1 &= (~(0X1<<28));
USART4->CR1 &= (~(0X1<<12));
USART4->CR1 &= (~(0X1<<10));
USART4->CR2 &= (~(0x3<<12));
USART4->CR1 &= (~(0X1<<15));
USART4->BRR |= 0X22B;
USART4->PRESC &= (~(0XF));
USART4->CR1 |= (0X1<<3);
USART4->CR1 |= (0X1<<2);
USART4->CR1 |= (0X1);
}
//发送
void putchar(char c)
{
while(!(USART4->ISR&(0X1<<7)));
USART4->TDR=c;
while(!(USART4->ISR&(0X1<<6)));
}
//接收
char getchar()
{
char c;
while(!(USART4->ISR&(0X1<<5)));
c=USART4->RDR;
return c;
}
ARM day6
最新推荐文章于 2024-07-25 16:01:37 发布