|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
1 Z( b' f3 S, I5 g# r! z! A, U1.。DSP解算出来的数据是存在哪里?
/ y0 T) p: X; b1 q2.。在例程中有这段代码:1 J) N! U; _1 e) @. x
unsigned int int_id = 0;% V; [0 W$ {( `
$ L" B1 S" \ E // 确定中断源5 \2 h$ T! @/ M& z: o8 L
int_id = UARTIntStatus(SOC_UART_2_REGS);, p/ D" W! P2 l9 X( M* M
6 i; F' Y' B( T1 g# ? // 清除 UART2 系统中断
% [, O" P3 Z, e) g( r IntSystemStatusClear(SYS_INT_UARTINT2);* Y7 W- k' r8 u* z5 g; N
8 a1 p! v- V. L7 ~5 t // 发送中断8 l, d; \- u% {8 l7 ^
if(UART_INTID_TX_EMPTY == int_id)+ f" Y& h+ f9 F$ H6 I' y+ B* b. h
{: C2 J& t- I3 t* M- E
if(0 < length)
" _1 {+ _; K7 X* j; E {
" T& P* h4 x. Q" P* o5 n! \ // 写一个字节到 THR$ q" I7 c4 Y; ?) F0 U- h( R
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
! v5 ]. Q# c0 ^ ? length--;5 Y. Y. h6 |+ ?: H: r0 E! o
count++;2 b+ T& E! y- s# A3 |0 D6 l
}
& i6 H* Y/ [/ u; d4 P if(0 == length)# b$ b0 u' Z# O9 V/ j
{0 ?8 P+ N: }5 x# p6 Z
// 禁用发送中断# `4 Y- i0 U9 \/ [. _; [$ v. G
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);6 Q- `' {2 T- U- ^- {
}
& ]& t8 t& l z( {" R) M }; m" u& v- ^+ [
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|