STM 32 F 072の8 Mでのソフトウェア遅延
タイマーを使用して生じる遅延精度は確かに高いが、相対的に面倒であり、ソフトウェア遅延は精度は高くないが、比較的簡単で、使い勝手がよく、精度要求が高くない場合に使用できる.
STM 32 F 032 Nucleo開発ボードを使用し、内部8 Mの結晶振動を実現.
以下の遅延関数はオシロスコープで測定し,精度は1 us未満であった.
STM 32 F 032 Nucleo開発ボードを使用し、内部8 Mの結晶振動を実現.
以下の遅延関数はオシロスコープで測定し,精度は1 us未満であった.
//STM32F072RB Nucleo
// 8M
void delay3us()//3us
{
int i;
for(i=0;i<1;i++);
}
void delay10us()//10us
{
int i;
for(i=0;i<12;i++);
}
void delay20us()
{
int i;
for(i=0;i<28;i++);
}
void delay50us()
{
int i;
for(i=0;i<76;i++);
}
void delay200us()
{
int i;
for(i=0;i<317;i++);
}
void delay500us()
{
int i;
for(i=0;i<796;i++);
}
void delay1ms()
{
int i;
for(i=0;i<1590;i++);
}
void delaynms(int n)
{
int j;
for(j=0;j<n;j++)
delay1ms();
}