|
======================C2H======================
* t7 e0 Q% H) p/ I. ^我想把下面這一個function改成C2H來實作~ }9 s3 v2 R; `! r; O* _% [, I' h
$ m+ u/ v) L; `
bool AUDIO_DacFifoNotFull(void){1 ]/ X: b: w* ]7 ^$ Y
bool bReady;6 ~6 ^/ D7 C: |& J8 Q
bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE; k' A- g, z) s/ r8 r U( l
return bReady;
, E4 R6 L( V. L+ _7 \! h, k}
/ Q/ G# E# I9 E& p/ ]" p$ O
' W' E7 W7 T; o; E) a/ q因為直接這樣使用,C2H會不能編譯,會產生錯誤!) N6 S' K& C: A$ l. `
在網路找到資料說,寫成以下這樣就可以編譯囉~
: k, ?" d! D1 X# b, s
6 ~4 M! Y8 ^/ Z0 E ?3 u% I& O& hbool AUDIO_DacFifoNotFull(void){8 G( f1 D9 E% ^8 Z8 v
bool bReady;
6 B4 v9 |3 ]6 P) ~/ ^ unsigned long * au_base = (unsigned long *) AUDIO_BASE;* ^3 R/ r6 N6 A9 r3 A5 ?
bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;
" y2 m+ V6 R0 j' N: p' ^ return bReady;
8 Z5 M5 F& N' [" {& i}! U9 h, W* L" h1 f" d
G' [+ ?4 j2 a9 o8 }
改成這樣的確可以編譯了...
" K# @8 J" L9 |1 R9 Y7 m) j+ p3 F但是為什麼會動作不正確呢?. [0 t% N* W1 L7 `- W" G
是因為改成C2H後,這樣寫會沒有動作嗎?4 s: Y( k O( H- e2 g7 K8 O1 }
請教各位大大,要如何讓以上的程式在C2H下可以動作呢?
- w) g. K/ E9 b4 W
4 F- D/ J m5 r) O- I7 c9 F* V , U' p2 [, _# D8 r
' t5 d% R$ F! w+ _( B2 q======================Profiling======================# B# b; V3 }* S8 S
我使用Profiling後,產生了一個檔案...
2 V7 n& m5 O5 z$ ]9 _ i一共有這些分類的數值 (中文是我看英文直接翻的)
4 ], k3 U) l5 ?0 h; w* Y2 [
1 {6 B1 \/ M* v( kpercent Time 百分比時間
5 o8 p3 }& x0 x2 p$ r; Z, L1 Acumulative Time 累計時間
* K$ _3 a8 {8 Xself Time 自身時間( Q: C; e, `/ ]* W* k0 E; j
self time per call 每次呼叫花費時間 b( _) v( ]0 t- _4 F/ {7 F+ p7 i
total time per call 總計 每次呼叫花費時間7 p9 X+ l6 a& y. ?
8 H0 S7 H8 r' ~7 L9 ^5 s; W' S
請教各位大大..& s) \% D1 ~- K' f! i7 ^$ S9 ]0 f
哪一個數值代表著執行時耗最大的時間呀!?
& W4 j u3 z; e- o" ?5 D我目前都依percent Time為依據; X; c: ^6 G3 Y4 S, Y' o1 j( _9 w
想用C2H來改善執行的速度~
# J2 b5 _3 t) w" A$ L8 C! k. R請問依percent Time是正確的嗎?
. Z4 A- Y8 d6 A& j) W
7 R w) }. z2 M4 }& I+ a先感謝各位大大幫忙喔~ ^ ^ |
|