|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问6 Y7 ~( Q2 r2 |6 d( [) ^' C
1.。DSP解算出来的数据是存在哪里?
+ \! k8 |! z4 G; d5 z3 r, Y2.。在例程中有这段代码:
- F% E: o( {4 E unsigned int int_id = 0;# Q% o! D- b8 _/ Y
0 E, P) k2 G$ b3 Q
// 确定中断源$ r$ l7 G# X* S2 x' x
int_id = UARTIntStatus(SOC_UART_2_REGS); H( Q- ^5 C( ^2 A5 v* f
, ^2 N; `3 _6 Q$ ^6 @ ^
// 清除 UART2 系统中断5 g5 F6 _$ t- v7 K) q
IntSystemStatusClear(SYS_INT_UARTINT2);
& Y) M$ D0 x# @# D' {% H4 }0 l9 p. m6 C; E* R! b `8 @6 n! S/ ~
// 发送中断4 k* |4 F9 J9 s
if(UART_INTID_TX_EMPTY == int_id)
& N$ Z) a* ~; c {
1 E' V. n& V) u: B+ z% y- M5 ?/ R/ E. X if(0 < length)
2 n: ~' @8 J& M' Q: n. U {: @/ r) E3 m9 N4 L& U6 E
// 写一个字节到 THR
3 O, N: y, I4 k0 N UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
a( c; s' v c* {8 {; Y length--;
; E1 u9 l6 \* P, p" V count++;- e" k0 n2 r# f, I
}' A+ N( T3 F' x$ [+ [! h
if(0 == length)
3 c8 p# a/ u u! m, E, h {3 `0 ~8 x" S! n: o
// 禁用发送中断
8 v+ J& r# E8 B9 y" m UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
: r u, W9 Y0 M$ q" E }
- B3 s) Z3 n2 m/ r }
2 J' f Y- K3 a" e: z( d. y我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|