У меня есть сомнения по поводу использования Volatile Keyword в указателях функций.
Я не знаю, должны ли указатели функций в этом случае быть volatile
Я использую указатели функций такчто одна и та же функция, например sendCommand()
, может использовать различные функции uart.
Мой код будет выглядеть следующим образом
//Function pointer
void (*volatile ptr_uart_putc) (unsigned char);
//Set function pointer
void uartConfig( void(*aPtr_uart_putc)(unsigned char) ){
ptr_uart_putc = aPtr_uart_putc ;
}
void sendCommand(unsigned char aCommand){
ptr_uart_putc(aCommand);
}
Так что в основном я бы сделал:
main(){
uartConfig(uart0_putc);
sendCommand('a');
uartConfig(uart1_putc);
sendCommand('b');
}