Изменчивое ключевое слово в функциональных указателях - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть сомнения по поводу использования 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');
}
...