[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(toppers-users 460) sh3 $B$G$N(BOS$B%?%$%^@_Dj<~4|$K$D$$$F(B



$B$O$8$a$F(BML$B$K;22C$5$;$F$$$?$@$-$^$93ABt$H?=$7$^$9!#(B

$BAaB.$G$9$,!"(BToppers Release 1.3$B$N(BSH3$B0MB8It$G$N(B
OS$B%?%$%^@_Dj$K$D$$$Fl9g$O!"(B
$B!!!!(BTIMER_CLOCK$B$KDj5A$9$kCM$O(B10ms$BJ,$N%?%$%^%/%m%C%/?t$r@_Dj$9$l$,$h$$$N$+!)(B


$B#2!"(Bsh3$B$N%?%$%^(B(TMU)$B$O!"(BTCNT/TCOR$B$K@_Dj$7$?CM(B+1$B$N<~4|$G3d9~$_$,F~%j$^$9$,!"(B
$B!!!!(B\sh3\hw_timer.h$BFb$G%l%8%9%?@_Dj$9$k:]$K!"0J2<$N7W;;$G5a$a$i$l$?CM$,(B
$B!!!!%l%8%9%?$K@_Dj$5$l$F$$$^$9!#(B
$B!!!!!!!!@_DjCM(B = ((TIMER_CLOCK * TIC_NUME) / TIC_DENO)

$B!!!!$b$7!"(BTIMER_CLOCK$B$N@_DjCM$,>e5-#1$N$h$&$JG'<1$@$H$9$k$H!"(B
$B!!!!(BTCNT/TCOR$B$K@_Dj$5$l$kCM$O(B+1$BBg$-$$CM$H$J$k$H;W$&$N$G$9$,$I$&$G$7$g$&$+!)(B
$B!!!!!J>e5-7W;;$G5a$a$i$l$?CM(B-1$B$NCM$r@_Dj$9$k$N$,@52r$G$O$H;W$&$N$G$9$,(B...$B!K(B

$B!!!!(B----------------------
$B!!!!(B<\sh3\hw_timer.h>
$B!!!!(B 73$B9TL\!!(B
$B!!!!!!(B#define TO_CLOCK(nume, deno)	(TIMER_CLOCK * (nume) / (deno))

$B!!!!(B 90$B9TL\(B
$B!!!!!!(BInline void
$B!!!!!!(Bhw_timer_initialize()
$B!!!!!!(B{
	CLOCK	c = TO_CLOCK(TIC_NUME, TIC_DENO);
    
	/*
	 *  $B%?%$%^4XO"$N@_Dj(B
	 */
$B!!!!(B    TMU.TSTR&=~TMU_STR0;             /* $B%?%$%^Dd;_(B */
$B!!!!(B    assert(c <= MAX_CLOCK);		 /* $B%?%$%^>e8BCM$N%A%'%C%/(B */
    
  $B!!!!(B  TMU.TCR0  = (0x020 | TCR0_TPSC); /* $BJ,<~Hf@_Dj!"3d$j9~$_5v2D(B */
    
  $B!!!!(B  TMU.TCOR0 = c;                   /* timer constant$B%l%8%9%?$r%;%C%H(B */
  $B!!!!(B  TMU.TCNT0 = c;                   /* $B%+%&%s%?!<$r%;%C%H(B */
  $B!!!!(B  TMU.TSTR  |= TMU_STR0;           /* $B%?%$%^(B0$B%9%?!<%H(B    */

$B!!!!(B----------------------
  $B!!!!(B<$B=$@5!)(B>
$B!!!!!!!!(B $B!'(B
        TMU.TCOR0 = (c - 1);             /* timer constant$B%l%8%9%?$r%;%C%H(B */
  $B!!!!(B  TMU.TCNT0 = (c - 1);             /* $B%+%&%s%?!<$r%;%C%H(B */
         $B!'(B

$B!!!!(B----------------------

$B0J>e!"$465