而它設定暫存器的方式如下列程式碼所示
ECanShadow.CANTIOC.all = ECanRegs.CANTIOC.all;
ECanShadow.CANTIOC.bit.TXFUNC = 1;
ECanShadow.CANTIOC.all = ECanShadow.CANTIOC.all;
當我們設定完暫存器後, 要確認我們所設定的暫存器是否正確, 我們以do... while迴圈來實現, 如下面程式碼所示
do
{
ECanShadow.CANTA.all = ECanRegs.CANTA.all;
} while( ECanShadow.CANTA.bit.TA11 == 0);
ECanShadow和ECanRegs兩者的關係,可以再說明清楚一點嗎?
回覆刪除ECanShadow只是提供一個暫存的空間來更改ECanRegs暫存器的值, 當修改完後再將ECanShadow的值存回ECanRegs, 這樣即可完成設定
回覆刪除