本帖最后由 changxin1205 于 2022-10-7 17:29 编辑
串口空闲中断dma传输,PA9和PA10可以用,把这两个引脚改成PB6,PB7就无法收发数据了
外设基地址设置:
#define USART0_TDATA_ADDRESS ((uint32_t)0x30013828)
#define USART0_RDATA_ADDRESS ((uint32_t)0x30013824)
引脚配置:
void com_gpio_init(void)
{
/* enable COM GPIO clock */
rcu_periph_clock_enable(RCU_GPIOB);
/* connect port to USARTx_Tx */
gpio_af_set(GPIOB, GPIO_AF_0, GPIO_PIN_6);
/* connect port to USARTx_Rx */
gpio_af_set(GPIOB, GPIO_AF_0, GPIO_PIN_7);
/* configure USART Tx as alternate function push-pull */
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_6);
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
/* configure USART Rx as alternate function push-pull */
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_7);
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_7);
}
|