|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
. E0 }! o! p" c; f& X1.。DSP解算出来的数据是存在哪里?1 c7 x, S1 K* w
2.。在例程中有这段代码:
2 [/ x4 J. ^4 y unsigned int int_id = 0;
: z4 D' @. f+ L: a# A& ~; {; w
& }) _9 {- s e/ H( w4 S# i+ }7 } // 确定中断源
. y. v6 ], `8 d* K8 R/ i int_id = UARTIntStatus(SOC_UART_2_REGS);8 ]. d8 R z$ Z* g( i
; M+ L1 y& A6 U8 |9 y- F! d J
// 清除 UART2 系统中断; y2 X" E" h: l# b" c, x4 d
IntSystemStatusClear(SYS_INT_UARTINT2);
6 ]% L" b; O, d- ?( W1 D% y. r X3 X+ }" T: w3 Y+ t+ K) |) S
// 发送中断; D% C, C+ j1 |
if(UART_INTID_TX_EMPTY == int_id)
- D7 g2 C: S2 e {' x1 J7 X$ p, K" ?9 K' n
if(0 < length)
2 k1 |* D e* [8 N$ u {0 P1 f- S+ F# x# e, r) d) }
// 写一个字节到 THR
2 P4 g" \! K: {/ A, Q UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
: q2 q. ]# P7 j! k+ i length--;+ }# i- b, Q' u. B/ ]9 c' E
count++;
& g/ h& ` Z' v' W8 _ }
( ~$ w) m3 o! B0 M$ J! a9 O if(0 == length)
3 z) s" L/ b% k1 |- P3 O {
/ E* j/ Z# |8 @: P( a // 禁用发送中断: b5 |3 o: s4 x. z# i, S
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);, N& u2 j m: L$ U
}5 C5 ~: W( x3 @% N# g0 d1 O
}
$ W6 P5 v1 \! k; i( A9 o5 z* q我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|