|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
; H& V8 U5 a8 @) f1 x1.。DSP解算出来的数据是存在哪里?- q7 c9 ?" M$ i/ x* ?
2.。在例程中有这段代码:
/ u" G9 O: }( i5 E4 G unsigned int int_id = 0;
0 G% v4 l5 @+ T9 d5 Y# r7 L7 A; X0 q! f* x+ Z# q5 C- c
// 确定中断源
9 Y1 C; m& R* m/ S/ F int_id = UARTIntStatus(SOC_UART_2_REGS);
% e/ F. e) a5 J! f3 j' J. d g9 ]% F8 I3 Y0 K g, P$ l& @
// 清除 UART2 系统中断9 o1 r9 Z1 v; ~, j, k/ t5 j2 i
IntSystemStatusClear(SYS_INT_UARTINT2);
" y3 A( \ U! c T5 i0 b+ d' f7 @/ J/ L- I8 L3 x) F2 Z
// 发送中断
! N9 ^. E; c# p- y4 T5 M if(UART_INTID_TX_EMPTY == int_id). z" S! H7 ^) T" O& P9 X
{
) S6 e) L& K2 Y if(0 < length)1 a% b- |9 s; p4 L, j/ B
{: A' E( o5 j- X, x
// 写一个字节到 THR
; \2 }, F, C) v9 g7 x UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
: k3 J- V6 y# H- b' R9 _ length--;
8 `5 ~. E' L0 p1 G7 J4 ] count++;) E. V) R; H; T! n9 K' i, T3 ]
}
/ l! Q [) r$ g$ B! C! l2 ~6 H if(0 == length)
6 X; N8 X0 p$ p: R( Q {
7 Q: A+ n g6 a: K( I9 u/ Q // 禁用发送中断2 j; g, `# K0 I# q( n
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);- I5 @4 R M" ?: l+ U
}$ I9 `# Q& m! A( `$ P9 v9 J
}& {; _# Q) N8 x) r/ D5 q9 E
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|