mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-06-18 16:45:33 -04:00
66 lines
1.1 KiB
C
66 lines
1.1 KiB
C
/* ========================================================
|
|
util_funcs
|
|
|
|
雑多なユーティリティ関数
|
|
|
|
$Id$
|
|
======================================================== */
|
|
#ifndef _WIN32
|
|
|
|
#pragma SFR
|
|
#pragma di
|
|
#pragma ei
|
|
#pragma nop
|
|
#pragma stop
|
|
#pragma halt
|
|
#pragma opc
|
|
|
|
#endif
|
|
#include "incs_loader.h"
|
|
#include "wdt.h"
|
|
|
|
|
|
|
|
/********************************************//**
|
|
単位は ms
|
|
|
|
NOPを回すだけ、指定時間CPUを *占有します* 。
|
|
|
|
割り込みとか入るとその分遅れます。
|
|
|
|
少し誤差あります。
|
|
***********************************************/
|
|
void wait_ms( u8 ms ){
|
|
u16 fine;
|
|
|
|
WDT_Restart();
|
|
while( ms != 0 ){
|
|
ms--;
|
|
fine = 860;
|
|
while( fine != 0 ){
|
|
fine --;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
extern unsigned char get_ei();
|
|
|
|
#ifdef _DI_WITH_CHECK_
|
|
/********************************************//**
|
|
すでに 割り込み禁止状態下チェックしてから割り込み禁止にする
|
|
|
|
評価の結果、現状、#ifdef でチェックせずに DI する
|
|
***********************************************/
|
|
void DI_wt_chk()
|
|
{
|
|
if( !get_ei() )
|
|
{
|
|
dbg_nop();
|
|
}
|
|
DI();
|
|
}
|
|
#endif // _DI_WITH_CHECK_
|