|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问7 p2 L h+ e, z2 W. K' p9 e y( R
1.。DSP解算出来的数据是存在哪里?" m9 Y% T, Y2 @+ ]/ E. t
2.。在例程中有这段代码:% r- P3 o6 }% V( y' j" a6 R+ K3 n
unsigned int int_id = 0;9 Q7 {/ s# ^# Q. Q/ i* Q' [6 G
4 p+ j$ i$ x6 h // 确定中断源
+ {' N7 T3 p; N. |5 G% D/ ~ int_id = UARTIntStatus(SOC_UART_2_REGS);9 K5 `6 G3 }8 b: y: S
, A; {/ o. s( F( {
// 清除 UART2 系统中断
( I5 ~% y" c) R3 }+ P% Z IntSystemStatusClear(SYS_INT_UARTINT2);
6 N5 b- B" L& P1 f; q/ g8 F) o$ ^ `/ B2 B8 B
// 发送中断
$ J# o- k Y# q3 a/ }# I7 j if(UART_INTID_TX_EMPTY == int_id)
1 g8 N0 M, i' \" U! o1 ` {
( ]; T0 f& D6 m9 X if(0 < length)
b& K- s) D- d3 x7 ]6 F1 V4 y { ^$ C' R- J- f, n
// 写一个字节到 THR1 m: O+ C S( C: Y* D' T
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);( D Q7 K& z; \8 Q- T. y! t
length--;
+ k* F; Z- ]) ^- ~! @/ j count++;/ o; ~- o- @! a
}
7 z3 H9 |) x8 W% w if(0 == length)6 K, Q5 a) E, L" } U
{; X4 P7 U2 q2 Z# B1 Y, y- E
// 禁用发送中断) B3 H# m9 J$ c% o
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);! c$ L: ?, H- K4 A
}
% c% |- D+ }7 C6 g' ~ }% V- P" K+ D& r5 g4 s1 e
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|