|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
7 V \. ]* F# n7 ?5 m- [& [4 K! p1.。DSP解算出来的数据是存在哪里?6 e" h& @7 J5 }3 C0 s# r
2.。在例程中有这段代码:
% n3 Y8 w; H0 f" A, A unsigned int int_id = 0;
( P3 R9 J" A. I0 ?( p$ X* P% |* S; K0 D R- R8 f% D8 |
// 确定中断源
4 [& k* d' I! L' v: O int_id = UARTIntStatus(SOC_UART_2_REGS); z; v' h3 ~+ w4 e4 a- {6 J: m. s
; g% f( q& A) B" G1 o" S5 c- J // 清除 UART2 系统中断
m ~6 o9 d! C9 O" S6 B IntSystemStatusClear(SYS_INT_UARTINT2);# [2 M% o% F5 m- M) Z
1 t! c& G* C. M0 N9 p. A: c5 i0 W // 发送中断; v& O8 P+ o8 L* _- b; h7 H
if(UART_INTID_TX_EMPTY == int_id)
' L1 W+ p, J/ `; V {( B: R/ a+ i2 h, ^ T3 ?' ]
if(0 < length)
3 L+ W3 L. O E7 U/ b {
! o1 _$ r1 w- ?; T* \6 g // 写一个字节到 THR2 p. K/ V- `* E
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
- K; M. B& q8 K' f& i( P1 H* o length--;! ]! g; @$ k$ M/ S) V( d
count++;
0 R' W* |$ a0 _# H r! Z& u }
. P& i7 s( f! A2 p6 h8 ?& b if(0 == length)1 a" r, r8 Q# e- q: v) N5 ?* A$ u! j3 x
{
9 e6 C- ^' P: \% R // 禁用发送中断- S, B) _4 n( l
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
# M* J; r8 l7 Y3 N; U! ^9 t }/ q/ I1 \! x' S: f' M* Q8 e a
}
( V: a# W" W$ h: Q我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|