2023年12月30日发(作者:)
void HAL_UART_MspInit(UART_HandleTypeDef *huart){ GPIO_InitTypeDef GPIO_InitStruct; /*##-1- Enable peripherals and GPIO Clocks #################################*/ /* Enable GPIO TX/RX clock */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); /* Enable USARTx clock */ __HAL_RCC_USART1_CLK_ENABLE(); __HAL_RCC_USART2_CLK_ENABLE(); /*##-2- Configure peripheral GPIO ##########################################*/ /* UART TX GPIO pin configuration */ GPIO_ = GPIO_PIN_9; GPIO_ = GPIO_MODE_AF_PP; GPIO_ = GPIO_PULLUP; GPIO_ = GPIO_SPEED_HIGH; GPIO_ate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* UART RX GPIO pin configuration */ GPIO_ = GPIO_PIN_10; GPIO_ate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
HAL_NVIC_SetPriority(USART1_IRQn,0,1); HAL_NVIC_EnableIRQ(USART1_IRQn);
//UART2 GPIO_ = GPIO_PIN_2; GPIO_ate = GPIO_AF7_USART2;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_ = GPIO_PIN_3; GPIO_ate = GPIO_AF7_USART2;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_NVIC_SetPriority(USART2_IRQn,2,2); HAL_NVIC_EnableIRQ(USART2_IRQn);}3.中断程序
void USART1_TO_USART2(void){
unsigned char len = 0; unsigned char i = 0; len = USART1_STA;
if ((USART1_STA&0x8000) != 0 ) { HAL_Delay(10); len = USART1_STA&0x3FFF; USART1_RX_BUF[len] ='r';
USART1_RX_BUF[len+1] ='n';
for ( i = 0; i <= len+1; i++ ) { RX1_Buff[i] = USART1_RX_BUF[i]; } USART1_STA = 0;
HAL_UART_Transmit(&UartHandle2,(uint8_t*)RX1_Buff,len+1,20); }}
发布评论