|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
& b; y9 Y! ^' y+ R" m6 ~, I$ H1.。DSP解算出来的数据是存在哪里?5 f2 D+ R9 Y+ C
2.。在例程中有这段代码:
! b' X0 a$ y6 t unsigned int int_id = 0;& h" ~! R. o# F: b# P0 d
! g" f1 x1 f" F0 S9 q1 y
// 确定中断源
3 Z" H( Z" Z3 Q7 b int_id = UARTIntStatus(SOC_UART_2_REGS);
/ [5 U: k m& Q3 }" M* K( ]/ b- y
( }7 I& ^8 }, F% K8 H- x$ q& x // 清除 UART2 系统中断
% g( L2 N+ r2 d) Q IntSystemStatusClear(SYS_INT_UARTINT2);
7 T! n" E$ g: o: a8 {' y' H0 `4 J, }$ e" T C) i
// 发送中断 M" q+ y2 F) \
if(UART_INTID_TX_EMPTY == int_id)
- u* I' W# ^+ R- o1 h3 q2 t; \' h% Y {
- c& Y( ]3 `9 y5 z |+ O* P if(0 < length)
/ n0 v% E( e9 a% e( n3 [ {
) I7 t7 W$ g4 Z // 写一个字节到 THR1 o# ^! G3 O* Q: k* P( Q4 s# M7 [" z
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);( v# \5 v E- ?" u0 s* D
length--;
" A) J7 Y% s( _/ F# _) ]) L count++;% l3 Q5 Y" m, z# C
}# k: e$ V- R% B, A o$ \
if(0 == length)
) W7 k% C8 Z0 a9 p% k9 p1 q. n {/ F7 F! L4 j6 J* G
// 禁用发送中断2 }, r5 H4 l. i3 D* X3 g: W
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);0 e; |6 E' k5 h- y; u8 ]
}
8 P9 ]0 X8 P! Y0 [& O, t }$ i9 V. T" A+ l/ T3 C& Q
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|