|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问4 k3 `% {% j- i/ E' O, _1 A
1.。DSP解算出来的数据是存在哪里? A. C8 D0 b/ e/ p( E% d
2.。在例程中有这段代码:1 A) J5 j b- }9 z
unsigned int int_id = 0;
: Q2 g; X5 j l! H4 H3 z
& @1 P( L) J2 [5 p# ]+ K# J6 } // 确定中断源6 s6 N7 E0 g5 n" G, ?
int_id = UARTIntStatus(SOC_UART_2_REGS);
3 I) C! I" X; t; y0 Z- W/ \/ O$ o, v& K
// 清除 UART2 系统中断
( m# P0 k4 ~* n- D' w IntSystemStatusClear(SYS_INT_UARTINT2);$ c% F* o: Y- }& F; a
) L6 p7 U8 h/ S
// 发送中断! v* A7 A9 t6 i' r0 ?1 N
if(UART_INTID_TX_EMPTY == int_id)
7 S- l$ F1 ^% A8 |& o {- B1 g% N m: t; l& o L* _8 x
if(0 < length)6 o, A8 v2 d6 t4 ~9 Z
{ X+ A8 F1 R2 T9 I9 X$ v6 Q# F9 A
// 写一个字节到 THR
# ~) U6 N @/ v% C UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]); Z" p. e! {! k& w
length--;
, g' w" G. S# |# u count++;3 K2 @+ _6 S9 W! u1 w
}
7 E- s4 u% @! w2 |2 o if(0 == length)! C! n3 Q' n" D" S( Z+ t5 p
{9 B) v) c! w; p5 o9 ~+ y# d
// 禁用发送中断2 p# m# D$ s* j. u& W' s
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
" D, a2 x! V" E1 Z( b) c5 Z }
+ p g6 x% A# d- Z1 W# \+ J+ t }
( l/ s1 m$ x, M0 |: S我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|