|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问- w0 @) \2 f" v/ [/ } R- a
1.。DSP解算出来的数据是存在哪里?3 k5 r5 F! h0 t8 F2 }
2.。在例程中有这段代码:
. `! a$ |' Q0 l7 L/ k' O( H1 D unsigned int int_id = 0;" J6 O% @1 b& ]( q, {
$ G( q) Z# b" T7 N( I1 `1 N
// 确定中断源1 X! T5 X. j: W" T
int_id = UARTIntStatus(SOC_UART_2_REGS);+ L3 G: c1 d. V* k8 \# ~4 ^
+ U4 U; |7 s$ v // 清除 UART2 系统中断
/ x0 j g1 U5 A IntSystemStatusClear(SYS_INT_UARTINT2);
' G9 I+ Z: h; L2 d, A& L% H$ C6 P6 q8 T9 V
// 发送中断
9 }. l" T! Y4 r4 ^' u" x$ _ if(UART_INTID_TX_EMPTY == int_id)3 B* V6 g' F9 X! p* f5 }0 {$ b
{
: x& J1 Q( G! V) q% U( ?6 p if(0 < length)
, t% d& H( c8 [- A$ R# I1 K {$ S" _0 H( A) V& ]& S2 r
// 写一个字节到 THR- c' c1 R5 }6 G
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
9 `/ f4 F2 r! O2 J0 a0 j length--;' k2 g$ g0 V) ] i5 W$ K, i
count++;
* g' D6 V) j5 S }
, |: R3 G% B( q e- m/ f if(0 == length)6 E, I7 L; P4 N) Q
{* Q/ Z; v, z( E, |9 G
// 禁用发送中断
8 p) J3 j# u* h. E& F UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);# H0 ?5 d* f/ k+ \5 L( R
}
$ N& f/ ?( C% B+ t/ `$ U }3 D* |1 T9 F( C/ L- }) j8 R. k
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|