21ic问答首页 - pic18的串口使用pps配置输入无法进入串口中断
pic18的串口使用pps配置输入无法进入串口中断
zanshuai2025-01-24
static unsigned char uart_map(_Class_Def_UART_CONFIG uart){
uint16_t baud = _XTAL_FREQ/4/uart.UART_BAUD-1;
IO_SET_INPUT(uart.UART_RX_PIN);
IO_SET_OUTPUT(uart.UART_TX_PIN);
IO_SET_Digital(uart.UART_RX_PIN);
IO_SET_Digital(uart.UART_TX_PIN);
if(uart.UART_IDX == UART1){
PIE4bits.U1RXIE = 0;PIE4bits.U1TXIE = 0;
U1RXPPS = uart.UART_RX_PIN;
*(OUT_PPS_LIST[uart.UART_TX_PIN]) = UART1_TX;
U1BRGL = (uint8_t)(baud%256);
U1BRGH = (uint8_t)(baud/256);
PIE4bits.U1RXIE = 1;
return 1;
}
}
上述代码的RX_PIN,TX_PIN是0x00-0x17,以上代码的tx引脚成功配置,但是rx引脚配置完成后无法进入串口中断,发送的消息接受不到
uint16_t baud = _XTAL_FREQ/4/uart.UART_BAUD-1;
IO_SET_INPUT(uart.UART_RX_PIN);
IO_SET_OUTPUT(uart.UART_TX_PIN);
IO_SET_Digital(uart.UART_RX_PIN);
IO_SET_Digital(uart.UART_TX_PIN);
if(uart.UART_IDX == UART1){
PIE4bits.U1RXIE = 0;PIE4bits.U1TXIE = 0;
U1RXPPS = uart.UART_RX_PIN;
*(OUT_PPS_LIST[uart.UART_TX_PIN]) = UART1_TX;
U1BRGL = (uint8_t)(baud%256);
U1BRGH = (uint8_t)(baud/256);
PIE4bits.U1RXIE = 1;
return 1;
}
}
上述代码的RX_PIN,TX_PIN是0x00-0x17,以上代码的tx引脚成功配置,但是rx引脚配置完成后无法进入串口中断,发送的消息接受不到
您需要登录后才可以回复 登录 | 注册