|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问3 e, L) F1 |" \ H1 R9 I
1.。DSP解算出来的数据是存在哪里?5 ?* d% v$ }! l( n% y
2.。在例程中有这段代码:
0 J6 \4 |/ I+ r- W unsigned int int_id = 0;
9 G2 z4 J$ |' M6 Z% n6 H; B
3 _. I, z" Z# D8 y. o! j // 确定中断源5 q) `% J3 _( m4 M
int_id = UARTIntStatus(SOC_UART_2_REGS);
* Y0 [2 K' [& E7 N& v* U- d. }0 R8 [6 N f! F
// 清除 UART2 系统中断( W: B ~3 x/ ?+ P V
IntSystemStatusClear(SYS_INT_UARTINT2);
4 W+ s4 }: j% |; o! L7 ?2 F3 w. b) j* T1 s
// 发送中断% y: x; p; R1 R1 ` E! g9 n5 a N
if(UART_INTID_TX_EMPTY == int_id)
' j, r% D( @( _% n3 J7 u {
. ~& z: o4 p/ v5 H l3 D) S+ o if(0 < length)8 j/ g4 K2 j7 `1 F0 t
{$ A8 U# h! ]( H2 J8 r2 ?
// 写一个字节到 THR
, w) \6 Q1 q) |5 p+ M5 u" l+ ` UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
' z. q2 i; G- G length--;6 c; }9 K& X; o# _! H# d
count++;
0 w3 S; k# w5 ? }( g) w4 R" s* x
if(0 == length)
$ O% j2 W/ U4 U1 W& F& Y4 A {
5 a) N0 }( K+ m& G- D9 W* k // 禁用发送中断2 V, X1 O2 \# T7 C
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);. e' m; a; n0 }1 }% t0 Y) v
}
% m6 H& e" D# s2 E& { }$ ]+ m( ^/ m. p) K2 F& }
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|