|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
9 C. j5 q9 N: v: h# j: J; }+ ^ V1.。DSP解算出来的数据是存在哪里?6 \: P$ f( b7 ]: V" N
2.。在例程中有这段代码:
( u" [* J( v" \; P1 } unsigned int int_id = 0;" l P' E0 T5 v1 _
' d4 x* b; H: T5 R/ `5 J // 确定中断源
# z2 a4 j# E/ j4 R% B& y: }' ]. b int_id = UARTIntStatus(SOC_UART_2_REGS);2 j3 r) x0 O, ~& N' Y& k
, O. {3 W: A/ o3 f& w. r* d6 W) b
// 清除 UART2 系统中断
8 a4 |0 |! c3 o IntSystemStatusClear(SYS_INT_UARTINT2);! \6 s) R* e& @; G/ n7 h- k( n9 b" Z
$ z2 e* d/ u+ n0 J5 B0 ]1 x1 T1 U // 发送中断
) C6 O/ t6 }) G6 m0 q if(UART_INTID_TX_EMPTY == int_id)
- W8 [9 k* Z9 H1 q8 c5 U9 z! \ {
) \7 j$ c7 `+ Y; k- K+ Q- r6 { if(0 < length)
6 A0 V$ Z0 t( J {
7 W3 p+ j$ {4 x2 y! R3 j // 写一个字节到 THR1 f* v) ^, N0 w" a
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);+ }9 ^4 ]* C6 r4 v2 V: g8 A
length--;
" G5 s2 h; j w j! b6 ]( F, w/ U6 ~ count++;
& x, A2 r2 c& L5 e }' k w) ~2 s8 L( o# n
if(0 == length)5 D; t+ U" M% A3 K
{" {+ R3 C$ Y. J0 m
// 禁用发送中断/ G6 p% |$ b4 r: f: B y- O9 O
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);/ z `5 E' r* @
}9 A! r3 S: U4 b6 \ b$ p3 X: n- c
}9 I0 O9 z2 ^) m+ N; j( a5 I
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|