|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问4 ~3 y, p' V8 V' W# l6 ]8 \( {
1.。DSP解算出来的数据是存在哪里?( Z- d/ k( c0 E) Z0 m
2.。在例程中有这段代码:
( {1 M% E" Z- Z x6 V4 C unsigned int int_id = 0;
& ]! X" h2 c) P3 c* m+ K) n9 \" q) {4 \1 r# V
// 确定中断源
d4 l( z5 Y( p& l" C( y int_id = UARTIntStatus(SOC_UART_2_REGS);
5 M% t- B: H. x& }) z' d' r5 c" h7 C0 F& Y9 n5 _' q
// 清除 UART2 系统中断( R3 N/ L- B- z% S+ Y
IntSystemStatusClear(SYS_INT_UARTINT2);0 c9 f z, [$ c
! m+ C! W; p( ^# ]% G
// 发送中断3 f* ~* l5 i* }) ^; Z
if(UART_INTID_TX_EMPTY == int_id)
" l4 c, \/ J0 ?' ~ A {, _# k, r) f# U+ \( L& X2 B& j
if(0 < length)
& A9 Z3 `* d, I$ k {
0 l) v. W2 X5 _1 I // 写一个字节到 THR
. I$ s1 o& f7 [/ S _1 K UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
% J2 F# K4 D( z3 G6 Q2 ? length--;4 h) E, A S; ~7 l' H/ U0 I
count++;$ o4 v) b& k/ @% m/ [
}, O; s* r! }9 w. ~! n
if(0 == length)+ Y2 J* K6 R1 k& @( @6 J9 r
{
$ ]! X5 X. Q) p1 h8 l // 禁用发送中断
6 G4 @6 m g# \+ G$ }: n. a2 s3 b% e UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
4 E: R) ~6 W' ]7 R }( u/ k( |& m% O* m; k3 t
}
6 \8 p2 h/ M% B! i o! P" E我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|