|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
! z4 Z5 f% e% s) [; z0 J5 I! W- k1.。DSP解算出来的数据是存在哪里?
# U, z/ f$ j* q! ^ R2.。在例程中有这段代码:
& Q2 i& X I, i- P6 _ unsigned int int_id = 0;) M, t$ n, N9 H/ _9 ]
& ~: F+ @4 o' s- M" l
// 确定中断源& N0 c0 P8 W; V' R$ `, p+ c
int_id = UARTIntStatus(SOC_UART_2_REGS);. X; o- d0 r' v) d7 r
0 L* k; ]) H/ {- a p( M2 ?
// 清除 UART2 系统中断8 R$ i; h! C& a7 U
IntSystemStatusClear(SYS_INT_UARTINT2);
: G* {/ E# A$ ?9 G# ~* g5 r: G, B: K' {& g
// 发送中断
. J, O" W$ V9 f3 F6 p# T if(UART_INTID_TX_EMPTY == int_id)
4 `7 M6 } o- k* d {
( q5 h) u; z8 `/ \3 M: u/ a* \$ K' g v if(0 < length)2 N8 G5 Z% ~; l' A, C: }
{0 i! t6 |; ^" C& q1 A3 m6 Z
// 写一个字节到 THR8 f% Q/ T7 U# F5 s b% i* g( n E
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
V; O+ k, x# o4 v length--;4 D" j. \: O* B; k N0 L; G- `
count++;
$ U3 G% `# S, g4 F! }! T/ A- z* W }. j/ B3 i, C8 m$ _! O, X- T& C
if(0 == length)+ Q* a, e1 K9 e; ^" N; \' z/ g
{
/ q3 `9 n" u u7 t1 @% f // 禁用发送中断; I" d) F/ F2 F7 w; o" R: p
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);, p/ C8 h& ]! z$ |, |5 ~# D
}9 x: x6 F( w, w$ x
}6 K; {8 L. z E, R
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|