|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
. M4 r& x( g" g6 L% I1.。DSP解算出来的数据是存在哪里?3 k% W, q5 y8 I8 E7 h% T) ^
2.。在例程中有这段代码:& l/ j9 ?( J ?2 U
unsigned int int_id = 0;/ t) N+ g7 ~6 K" [# X: I
, A$ `; l% L1 i4 `) r8 X' h0 `
// 确定中断源9 l9 ]4 D$ L/ n
int_id = UARTIntStatus(SOC_UART_2_REGS);
7 f8 h$ Z P+ S8 f
$ }8 p; C) d; \& C# T // 清除 UART2 系统中断
+ E* U: E' d" x( s0 e# z$ h Q IntSystemStatusClear(SYS_INT_UARTINT2);" x8 k2 f* i1 _/ n5 b* R7 ^
8 h( Z, N/ g1 g( K( | // 发送中断$ `- J! W3 j4 l
if(UART_INTID_TX_EMPTY == int_id)* ^* Y$ C- {* B- U! B; q+ ?- ^
{1 @* z- b& g1 z) |+ q4 U9 [) l
if(0 < length)
% Q9 w/ U9 K/ S {
9 Z# D3 M W1 z D' L // 写一个字节到 THR# C3 U; p# M0 H3 x
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
' ~& e7 i& N& h; q1 G length--;! i/ p) G$ X; F# Z( B z. S: F
count++;
1 f: s8 U9 W2 K8 O3 n9 P }
. Z1 h7 z! ^* |8 T) z0 a! s$ c if(0 == length)
w! x7 ~8 [9 N1 V$ D {
& Y9 I/ F3 B4 b% M // 禁用发送中断
. J3 y; Y% X1 e$ \: p UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);+ K) ` m/ I% ]
}! Q4 p+ J( `+ C3 X1 K" T
}
9 J9 M5 P1 S2 l* [$ l# h6 h我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|