|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
$ u2 ?+ H! }6 Q9 g8 ~7 V( j1.。DSP解算出来的数据是存在哪里?
0 [+ m6 d4 m, t! U2.。在例程中有这段代码:* r) I- T4 d. _1 B
unsigned int int_id = 0;/ y J7 l8 D2 a5 A
) g) L! J, a7 R$ Z& K+ h4 v: D! \ // 确定中断源
7 T! G. B; N2 L% Z int_id = UARTIntStatus(SOC_UART_2_REGS);
; g9 i9 S; g6 u/ L9 v
3 k4 f' v' ~& `/ E# G0 c# r! R // 清除 UART2 系统中断0 c5 \7 t3 y" e8 q9 X! d
IntSystemStatusClear(SYS_INT_UARTINT2);
$ b) i% c! r# D, o7 C v: `1 q% P2 x! |# D
// 发送中断
- L, F; }! q9 D. W8 T if(UART_INTID_TX_EMPTY == int_id)
* u# b/ C& x$ c {- J- h5 y+ Z0 u0 S. d9 L" W
if(0 < length)6 T; I, e }2 {+ Y+ e
{+ X0 i8 G5 b7 \: D
// 写一个字节到 THR2 B( c3 H9 D5 s! s6 x
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);* G& a: |. y. L2 Y5 B
length--;
5 |+ ^, M7 N1 A U, Q! J/ g3 i count++;0 ?8 j/ N1 J; |+ S/ S4 Q( @9 ]
}, L9 f4 H3 o/ ^7 Z- w
if(0 == length)
T9 W( K7 @) l {0 Z Z- O0 S- Y2 {7 Z
// 禁用发送中断
, b$ q0 a# G* x3 R UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);/ M) C1 q, I0 I& Y* J! M' l
}
- Y" I) \# \/ z! J4 B- \ }
0 N+ _8 S: K3 N5 N D我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|