|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
) h# t9 h* f8 k2 [1 J! B; `1.。DSP解算出来的数据是存在哪里? K0 H! V- w d) D- N
2.。在例程中有这段代码:8 y* h1 x( [; a- R+ i0 H" B
unsigned int int_id = 0;
; o$ L6 \1 v, j" z9 r( C! J" t3 r D+ Y& I6 q
// 确定中断源7 [+ ~7 v$ [# \) d
int_id = UARTIntStatus(SOC_UART_2_REGS);! k/ F, b3 w+ ?
" p; D3 N; n2 [ // 清除 UART2 系统中断1 {! ~! j% Z6 [0 O; Q
IntSystemStatusClear(SYS_INT_UARTINT2);9 w0 P" C( W# Q+ H5 Y" F& l% s5 L6 a6 W+ R
% W3 S2 K# U+ V* g // 发送中断3 G7 S: D" d. A3 L, |3 L
if(UART_INTID_TX_EMPTY == int_id)
3 \6 k( C3 Z N {
4 @: h( w$ b7 X if(0 < length)
( B& j# M# A* @: u' M {7 B1 \% O( _% E* i( |9 l
// 写一个字节到 THR' S: O# H% {. ]6 k$ z$ ~3 d
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
! N. ?, T" f' i' [ length--;
9 G, @! j! G! N1 t count++;
5 ^4 b o! H: {* {- h* p. ` }
~9 Y$ z4 j6 Q6 W* D if(0 == length)* r4 {& L4 u$ G8 _) I% P$ D2 I
{( E' L5 S$ G! V9 k
// 禁用发送中断
2 U' @+ y% I9 }# @* y% ~8 L( ? UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
k o- H8 q0 g6 R6 C }: \9 G3 Z; ?7 u1 ?- W6 T0 a. E. T
}
& W! F* J/ Z5 z我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|