本帖最后由 sobadman 于 2022-12-27 10:44 编辑
void gpio_11init(void)
{
gpio_init_type gpio_init_struct ;
/*第一步:打开外设的时钟*/
crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK,TRUE);
crm_periph_clock_enable(CRM_UART7_PERIPH_CLOCK,TRUE);
crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK,TRUE);
gpio_pin_remap_config(UART7_GMUX,TRUE);
gpio_init_struct.gpio_drive_strength=GPIO_DRIVE_STRENGTH_STRONGER;
gpio_init_struct.gpio_mode=GPIO_MODE_INPUT;
gpio_init_struct.gpio_out_type=GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_pins=GPIO_PINS_3;
gpio_init_struct.gpio_pull=GPIO_PULL_NONE;
gpio_init(GPIOB, &gpio_init_struct);
gpio_init_struct.gpio_drive_strength=GPIO_DRIVE_STRENGTH_STRONGER;
gpio_init_struct.gpio_mode=GPIO_MODE_MUX;
gpio_init_struct.gpio_out_type=GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_pins=GPIO_PINS_4;
gpio_init_struct.gpio_pull=GPIO_PULL_NONE;
gpio_init(GPIOB, &gpio_init_struct);
nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
nvic_irq_enable(UART7_IRQn, 0, 0);
usart_init(UART7, 115200, USART_DATA_8BITS, USART_STOP_1_BIT);
usart_transmitter_enable(UART7, TRUE);
usart_receiver_enable(UART7, TRUE);
usart_interrupt_enable(UART7, USART_TDBE_INT, TRUE);
usart_interrupt_enable(UART7, USART_RDBF_INT, TRUE);
usart_enable(UART7, TRUE);
}
void UART7_IRQHandler()
{
if(usart_flag_get(UART7,USART_RDBF_INT)!=RESET)
{
at32_led_toggle(LED3);
}
if(usart_flag_get(UART7,USART_TDBE_INT)!=RESET)
{
at32_led_toggle(LED4);
usart_data_transmit(UART7,'a');
}
}
|