初心者です。
delay関数について教えてください。
下記のようなコードがあったとします。
オシロスコープでみるとdelay時間にずれがあります。
例えば20usecを計測すると実際には23usecくらいあったりします。
これだとループ回数が増えるほど遅延してくると思うのですが
正確に20usec出すにはどんな方法があるのでしょうか?実現方法を教えてください。
コード:
for(i = 0; i < 10; i++){
__delay_ms(1000);
PORTAbits.RA0 = 0x01;
__delay_us(20);
PORTAbits.RA0 = 0x00;
}