|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
3 D7 n. C" D7 d5 N) d" Y' B1.。DSP解算出来的数据是存在哪里?* L& F5 d5 x4 O" ~2 f3 L, X
2.。在例程中有这段代码:1 @' p! x- p( O7 @7 M* ]
unsigned int int_id = 0;8 Z* M+ Z# g) p: ]8 q
/ k2 ?& d% L- `8 ^& n7 L& _5 I# ?
// 确定中断源. {# j2 L* M4 W& e8 r
int_id = UARTIntStatus(SOC_UART_2_REGS);9 O: O* s& Q3 J7 t: r O
, R* S2 y3 L1 `2 ^( x: t* E
// 清除 UART2 系统中断" K6 b! W; i0 C0 u3 ]) q
IntSystemStatusClear(SYS_INT_UARTINT2);; j9 Z0 P: y1 ` A' ~
( K x# F; Y* _5 F" z6 F8 l
// 发送中断
# u: u. E/ m5 l8 r if(UART_INTID_TX_EMPTY == int_id), x5 |. a0 x( M( c5 P% H
{; j* x5 `; p" \/ X) }. S
if(0 < length)
& I* v& C( N5 B7 B; m3 H1 B p3 C6 @ {$ W5 Z' l! G% f1 V( u: U5 p' U
// 写一个字节到 THR
. K, ~7 x8 _( d8 D UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
/ g# R ]/ Q: |' o& [7 ~# x4 a length--;
$ H/ [9 Q2 n8 s, Q5 P3 r' b4 P count++;) }6 [5 g2 P. A$ F
}
. p$ [" E: r9 O1 {% z if(0 == length)
, X; N6 {! M# i. y7 t {
U6 a0 z$ y# F* i2 E* x5 n // 禁用发送中断% u7 _0 Y$ D: r7 B1 v
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
0 p* l. D$ k) F1 n, b* U }3 J: v; \' W# ~ c2 ~8 H2 z/ u
}, }8 T$ E# A6 {3 ~# g" @; W
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|