|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问7 @5 x- D; @ J# E+ E
1.。DSP解算出来的数据是存在哪里?9 o0 b' f1 H( X" o6 j6 r
2.。在例程中有这段代码:1 T8 y. r- K3 I3 F3 D! t1 r; U
unsigned int int_id = 0;
, n* S# z0 @# X. n, `3 e/ J2 [; N, L* r# ~# e8 E+ g' i
// 确定中断源; L6 v3 D! k+ Q9 g4 V
int_id = UARTIntStatus(SOC_UART_2_REGS);1 S0 Y* v$ W4 F4 p2 L, o& g1 W
# h7 F: T& X) _. _$ n+ u
// 清除 UART2 系统中断: k; b* e% Z8 e- C* A1 q
IntSystemStatusClear(SYS_INT_UARTINT2);/ F8 @, \8 V; O6 m
( h) n- p$ t* ^6 Z$ ~ // 发送中断' ?% R3 h! J- g; N* Q5 d
if(UART_INTID_TX_EMPTY == int_id)% w9 t! a9 H; i* L) ~# w/ a
{! }" N: [3 @, r# A {) t# V9 }
if(0 < length)
3 u7 ?5 F' y' a( I {: o2 s4 Q3 k I3 r6 w( P
// 写一个字节到 THR' B, g. y6 N8 Q5 j; y
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
( x9 r: }! l+ I% Q$ U length--;; q3 F: B8 D! ^- w' x% a
count++;0 v) M" Y7 s& Z6 N
}
8 T( ]6 K- A7 E. z, { if(0 == length)
0 \% i' Y9 Q9 l& O0 f4 K0 ~) k3 z$ V {
- ^: q% i. W: G! E // 禁用发送中断8 _7 \) B! |% G6 K" n0 O% [: \
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);- g+ p, U, `: E! m$ L" t
}
9 C4 h/ v9 J% J, j. X6 z }& s0 [. q' t+ N6 J: n
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|