|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
- p6 V* N) R f: K1 G1.。DSP解算出来的数据是存在哪里?! b; h3 D9 h- W3 R- m2 M3 G4 @
2.。在例程中有这段代码:- N$ S7 x4 R4 S5 M, i7 T
unsigned int int_id = 0;
3 _8 J+ \6 F9 D5 g* N+ r9 {7 q
, s! R6 `- _( Y/ |, c H // 确定中断源& F# o8 j+ N" C
int_id = UARTIntStatus(SOC_UART_2_REGS);
7 M. f; N' g5 n8 M) |" c$ A5 N) l5 U" g% X& s! M
// 清除 UART2 系统中断& ^ H. f& y& S4 j
IntSystemStatusClear(SYS_INT_UARTINT2);; ~; @3 z4 x* W' x: Z
) G3 K8 ]+ `; C' V; v& R; t5 }
// 发送中断& v; D; x& |/ _6 W% M
if(UART_INTID_TX_EMPTY == int_id)& R# J( n# S! k
{
+ \9 s& J: j( { if(0 < length); P1 ^9 J& M9 d$ E
{7 @4 p* x2 D' e# ]5 p% i( K
// 写一个字节到 THR
1 s7 K+ `/ X# ~4 p7 Y7 k UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);4 [8 ^1 |' L" F- r2 }7 o; g4 X
length--;
) Z7 u, p5 E. Y/ F# ^6 j% F count++;
G/ G# g9 M9 q, i) }$ S }
, _8 J* q9 i6 b& O1 b if(0 == length)% L5 ^9 z1 V# g& H! F4 Z
{1 N# I$ ]3 I& a l
// 禁用发送中断
, I8 n; y* t' x3 G: s UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);# _+ i- X2 z! a& [
}2 M/ S& I. s2 p/ Z/ g7 s5 c
}
% A9 H& b0 p2 h! _; g8 s我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|