我对在函数指针中使用Volatile关键字感到怀疑。
我不知道在这种情况下,函数指针是否应该为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');
}