|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
" h2 G; |6 k9 ^0 W1.。DSP解算出来的数据是存在哪里?% o% O! F: w# t- _' e1 I
2.。在例程中有这段代码:
( o/ L% a: s! J% b# q5 E unsigned int int_id = 0; a2 K' X5 q5 f* F
; ?& P {; s) t) Z& x // 确定中断源- T4 h5 p/ ?" u
int_id = UARTIntStatus(SOC_UART_2_REGS);
% Y$ m' C4 V5 P. H
" j) D H+ Y/ O" L: V9 h; @# h // 清除 UART2 系统中断( l1 z! Z& C' [7 v
IntSystemStatusClear(SYS_INT_UARTINT2);
/ ^1 ]7 o- w& S2 P8 p$ \. d# a
. D( @; g, b6 ?. E! q // 发送中断
- a7 L, A" |: S0 e0 D( ~7 V if(UART_INTID_TX_EMPTY == int_id)5 [; {2 i9 t6 f. W1 o4 V
{
6 [( }/ `% E! A' a- Y- c if(0 < length)
" c& c" w$ U* [/ l. a2 Z {2 M# g+ L& g5 ]
// 写一个字节到 THR2 {8 _% d7 T) ~ K* Z
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);# S1 ~) m* G2 a3 S
length--;
1 k) J1 I. Q0 d% c3 l" l5 K count++;0 p# P4 ]( t" A7 T& J+ i
}
) |/ v# \4 g% u3 ~' r) Z if(0 == length)
2 O" D7 R' i+ p6 }6 A0 z {
$ \. P. v$ {5 \# d7 H3 `7 S // 禁用发送中断 c, t( H' a( ?$ I4 T
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
( b6 F9 Q2 d* x* Z% Y8 j8 T( `7 \ }9 ~" k$ Q7 ]& B! ~' C, Z' S
}
; @ C: T9 |5 W我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|