|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
( o4 n2 ?, F2 B% T- i G1.。DSP解算出来的数据是存在哪里?! q! q1 o2 f7 d+ V+ P
2.。在例程中有这段代码:' T5 R, L& |/ z7 ?) L- V
unsigned int int_id = 0;' R' R2 n7 U% G2 j( N4 r1 ]
+ w# Q5 ^* T. h$ i1 ^2 C B Q, c // 确定中断源3 c* y' |: Q5 ~8 |
int_id = UARTIntStatus(SOC_UART_2_REGS);! L' R' G' u/ {1 D' \* j3 k
6 {! c G2 [/ c, u/ G' a( E // 清除 UART2 系统中断
$ A; L9 b& _ ?( U2 i% m IntSystemStatusClear(SYS_INT_UARTINT2);
3 h- Q& G: H; r5 k) ~2 }4 `# o' v* z2 M! i! V/ F
// 发送中断3 M) H4 v2 g+ S4 K( p9 s
if(UART_INTID_TX_EMPTY == int_id). W3 K: z$ ]' R" a3 n
{
7 ]; ?+ e$ M9 W# Y' p if(0 < length)4 }# ?4 {+ x/ Z+ E; ]9 h# V
{0 V0 W7 d: r5 m O1 R" @
// 写一个字节到 THR4 W" l" ? X Q' c9 Z- E
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
& l' {/ a& S0 F/ R I" ^ length--;6 r0 r5 Z8 W S
count++;$ l( F4 S! I! S. G7 ]7 V0 w) d
}
2 a. N6 g1 b9 E0 u/ x7 c ^' ^ if(0 == length)7 U8 j/ h- r. |
{
6 J0 @* q/ R8 T // 禁用发送中断 |% a/ T6 U, {3 [: h* J. G
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);3 U. s; w) x% _ e$ m. z
}
I, z/ S6 C& o3 t) F }
0 K) h3 z2 A) f$ S( D我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|