|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问/ a5 l. k( O% V. H+ d- N
1.。DSP解算出来的数据是存在哪里?- K8 b6 w: }* m: M- L( z
2.。在例程中有这段代码:2 L/ {4 W/ k# t* E0 N& X
unsigned int int_id = 0;! J4 t; ^% Z6 G7 L# H
2 ^. h- S# ^4 X: ^$ W2 H // 确定中断源
4 \) g$ {+ X+ ~- Y% ` z* K int_id = UARTIntStatus(SOC_UART_2_REGS);( s! [) X+ D0 u& I# x
3 h" P# R, B% e& W // 清除 UART2 系统中断! {5 i0 c9 f2 {7 s& ]& X
IntSystemStatusClear(SYS_INT_UARTINT2);- ~% K% x$ L7 ^( G; O: T+ @. X. f
3 z4 n" x7 y( _, x7 m$ I- B% b$ R // 发送中断! O1 `! C% D' L8 g! r/ C, H3 ]
if(UART_INTID_TX_EMPTY == int_id). a9 M1 O& T, [
{! c. T7 S- n; F" ?
if(0 < length)
, m9 h) ~+ V! f {
* A4 A. M& J2 C: `1 @ // 写一个字节到 THR( e: e1 G+ `# K( R* q+ z- T
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);$ x) p) y; V! G& I
length--;
) h, n( B/ J n' o count++;+ u6 L! s5 {- o5 y
}
7 s* G" v D& I8 K2 f if(0 == length)9 s" x) g& h1 s0 o) d2 v( b
{: g1 M: Q" x, ~, h: Q; |, j
// 禁用发送中断( f' I1 k) S; X( w
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);0 `. i2 D4 X1 i5 p
}0 w( l0 k# D' w- Y$ m
}
1 w2 C6 p0 N4 X- l- c1 p我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|