|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
# w- J% E, ^" j/ N+ B* v5 ^3 C/ k1.。DSP解算出来的数据是存在哪里?
) P( Y( N- {0 H$ t( E M2.。在例程中有这段代码:) x1 r3 W, b* O
unsigned int int_id = 0;
' @! u3 L" S/ e) k0 Z! c7 x3 V" T' \$ t5 @, J
// 确定中断源& ~( g+ [1 f0 M: s/ m- [
int_id = UARTIntStatus(SOC_UART_2_REGS);
4 `6 {4 \: K1 R+ Y
8 m0 O' D& I7 r // 清除 UART2 系统中断" o* s" b- N& r6 f& q: M+ Z
IntSystemStatusClear(SYS_INT_UARTINT2);
3 |" D- f3 o) I' \2 z( q' m4 U, [% I" K: ?8 P
// 发送中断+ Z7 [4 T; [) [( y9 H5 D9 _, i
if(UART_INTID_TX_EMPTY == int_id)4 ?$ b& U% }" D6 @, D- B
{
3 }1 ^+ f3 a/ c1 ^3 c if(0 < length)
6 F0 f$ M4 c- p! @- C) f {/ J6 p/ j8 S; b0 ^! B! W; L' `9 ~
// 写一个字节到 THR: b6 W3 p0 m( y, Q: v
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);; z" f4 \- {3 i7 \' q, w. b
length--;" G4 l+ G3 w4 F* k( K1 n
count++;
! ^5 o6 V) g( x. x4 X }( q$ H8 G4 |6 h% I E% t
if(0 == length)
# H# K+ ?3 T. l { p, z; s y6 ]
// 禁用发送中断
( W, @6 H" J( t/ N UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);% C+ i! |9 ?) [) I; ~: z
}' s4 B! _ ]) ~# G d! U- w/ F
}
. ^+ d" g4 R z. _5 @我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|