|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
' x2 j& L, t; D- D. b9 s+ d1.。DSP解算出来的数据是存在哪里?
9 j! M& O" Z. [6 T$ ^2.。在例程中有这段代码:
" F3 p$ J) ~" h5 K" u unsigned int int_id = 0;* q- i- t4 Y+ M
" o; V8 m* P! E2 @! f' D$ z ? s
// 确定中断源6 d' e; C/ y A( A' u( A- }% |0 H8 ^
int_id = UARTIntStatus(SOC_UART_2_REGS);
/ v4 d& W! t3 I, b/ |) t+ J
. x: l) F2 e8 P5 } // 清除 UART2 系统中断' w \& ^! \3 o4 B
IntSystemStatusClear(SYS_INT_UARTINT2);8 y& X: Z( G8 _
) x; O4 N: m/ Y# _) V# g1 R
// 发送中断0 I; p5 ]% H7 k, \1 ?" ?
if(UART_INTID_TX_EMPTY == int_id)
1 _* R, h, J; `9 u: x {4 r, B8 l, d, C: j5 W
if(0 < length)4 @. c. _! ]* L
{- f, {+ L. c# o( u0 u6 p2 e
// 写一个字节到 THR" t& r" U5 W$ E3 P9 J
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);/ E- p w0 Q! V! ` H' g3 v) u
length--;; e: a0 a+ s2 S( h$ [3 ~+ {
count++;5 P% s5 l0 q' t8 `, I) D1 i% [
}0 q6 ? r* D# V% E& S4 B
if(0 == length)0 M* G b. j+ X/ Q9 i7 u
{
, @8 i0 R3 z3 m+ z4 ]7 F // 禁用发送中断
) M2 q. X( ^/ m+ @ UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
1 ]; O) C1 V5 t" o3 \ }
3 {& P5 c2 D K3 B/ H7 u2 V" l }
8 E0 f$ K+ X: p) S/ P6 E我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|