void
oscinit ( )
{
word val0 , val1 ;
if ( ( oscvbg = oscadc10 ( 0xe ) ) == 0xffff ) // bandgap voltage
oscvbg = 0 ;
cupgain_init ( osccupgain ) ;
if ( cfg_cupgain == 2 )
oscconfig |= 4 ;
initt0 ( ) ; // start trigger level generator
// test if the trigger level generator circuit is equipped.
sett0 ( 192 ) ;
wait0 ( 4500 , false ) ; // wai 72ms
val1 = oscadc10 ( 0 ) ;
sett0 ( 64 ) ;
wait0 ( 4500 , false ) ; // wai 72ms
val0 = oscadc10 ( 0 ) ;
if ( ( val1 | val0 ) != 0xffff ) {
if ( abs ( val0 - 0x100 ) < 0x10 && abs ( val1 - 0x300 ) < 0x10 )
oscconfig |= 1 ; // yes, it worked properly.
}
osctduty = 0x80 ;
sett0 ( osctduty ) ;
sett2 ( oscofreq , oscoduty ) ;
}
/*
word は符号なし16ビットの数
oscadc10(0xe)) はまだ調べていません。
*/
【このカテゴリーの最新記事】
- no image
- no image
- no image
- no image
- no image