|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问' |& D' ]' y! U. K3 I
1.。DSP解算出来的数据是存在哪里?) M7 b& T; Y# _/ P! ~
2.。在例程中有这段代码:
, h' x! t$ s6 L/ e- K) e( U' k* A unsigned int int_id = 0;* h5 i2 c1 C0 B! O
8 [5 _7 }& j5 q
// 确定中断源* v1 B6 W" I: I4 W2 m
int_id = UARTIntStatus(SOC_UART_2_REGS);
5 J+ w' J, J* h! c. T- ^1 C! w7 W; R4 A4 R U
// 清除 UART2 系统中断
* t9 \* L# H7 }. I& r5 t4 r: s IntSystemStatusClear(SYS_INT_UARTINT2);. y. U ?, f' B! B/ \3 p# c) D
$ ~9 x) ?) @& a5 X; h // 发送中断
# H- K9 X. \6 r7 K! p( e if(UART_INTID_TX_EMPTY == int_id)
$ b& \+ W& l7 z7 n {
1 u- T/ D- Z, a0 F if(0 < length)0 W3 ^& y) B+ e' y
{
0 m5 L; [% v" l3 N" B // 写一个字节到 THR
8 K+ s. @9 K0 a UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
{2 v. _9 r& }; N: R6 F8 K length--;- D9 r# M# o, J: I# {, a/ F9 v: a+ M
count++;- w6 H3 c H, V0 Z( W0 [
}$ C: E8 b% B7 I& s7 F5 G# Q. b2 Y* W
if(0 == length)
7 M5 c' X4 ]5 ?# T: E1 C6 } {. Q, ^9 j2 x8 X, n g9 T
// 禁用发送中断$ \. }5 m6 i n$ M0 H+ J+ H
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);; @: Y- F$ M& B3 f5 {' m8 M5 X$ z
}
. X) C v' W. J9 R }
7 l% n$ @' J! G u- {& C我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|