|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
. v z9 O& u: H$ F8 b1.。DSP解算出来的数据是存在哪里?
Z9 K- V8 W( p& }6 m; G% M& H2.。在例程中有这段代码:
' J b0 |6 \2 T unsigned int int_id = 0;: e) ]0 z: Z x+ p- B* z, h
# ]2 u4 o% w3 k! y# H2 t // 确定中断源
; z0 {9 q/ u& @* r% s/ t int_id = UARTIntStatus(SOC_UART_2_REGS);0 O! I: a( h0 @) w$ q4 v
: W( t: q, B' t7 _
// 清除 UART2 系统中断4 L/ I7 e7 o5 k! q
IntSystemStatusClear(SYS_INT_UARTINT2);
, v% a( c5 }3 S5 D+ U; F7 Z3 v8 v2 Z
// 发送中断
6 T; `5 v! l5 z; H! l( p if(UART_INTID_TX_EMPTY == int_id)9 y3 J& [# P- G: E" P7 `4 a
{3 e' F) Q6 c( ]% @
if(0 < length)& h) R6 w5 @. M; _
{2 v5 G! ?4 J: b; f7 `( y/ e
// 写一个字节到 THR1 x6 n+ |: b: [7 R
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
" f( s4 T, z+ d. z1 T' N' [/ M# j length--;. k( j: h" l* _' C+ _$ J* h& \
count++;
, D! N1 F% R* f' J" j8 Q }' U) w* ?" F/ [7 z/ F4 l, K+ r
if(0 == length), i( B8 @$ z$ t1 @- U0 {
{7 g2 J( W4 }. U1 H" D6 X
// 禁用发送中断- Y" K- {( G; b% }( S5 F
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);0 l3 N2 N5 h8 F2 R
}
/ v9 d& M* U0 ]6 X4 {: W4 K; Y9 W! o }9 o3 ^- H" K" q
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|