|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
! t A. N7 C7 O, P1.。DSP解算出来的数据是存在哪里?* l% V6 x( i' @ m
2.。在例程中有这段代码:( J5 Z' m: S' O2 X9 m* ~
unsigned int int_id = 0;
7 _' u. T3 U+ O0 l( _
8 j; A6 z9 {1 ~ o* E8 k // 确定中断源- t0 u, }& O# R/ v+ B" w
int_id = UARTIntStatus(SOC_UART_2_REGS);; R$ Q- Y! T+ a+ s M
& X* w* K8 l. p: g; m2 C // 清除 UART2 系统中断
1 [" S9 y2 |* q6 S0 H IntSystemStatusClear(SYS_INT_UARTINT2);
+ c) k' w% t7 W7 G# ]3 e& }8 F
, `- O. d9 t* H+ P0 f // 发送中断
: B9 y7 B% B8 E7 }+ J$ b6 F if(UART_INTID_TX_EMPTY == int_id)
- B4 h; V$ Z: [) g. C {
" Y5 n, {9 ?% P3 @9 j N( e, ] if(0 < length)8 l1 I! R/ [* g/ M& s: o) g
{' |+ R3 ~% ]. E) O- t- | _
// 写一个字节到 THR* J$ `5 J/ [7 N
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
" J" z& M/ R9 Z% `0 m+ ]3 r2 R9 k length--;8 e% T$ V+ Q$ ^: Z. ~; [
count++;7 E) _! k! Z, x& H0 R. Z
}5 [) D# u/ X% N( g4 u9 N9 c% s
if(0 == length), T& q" P, w- Q& V# H1 ^+ E
{" d" T* b- t/ h4 Y( P; o E$ m$ c
// 禁用发送中断# f0 D% b. G; V+ W
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);4 w1 f4 b1 a1 Z+ V k
}# b! j# E9 p- F8 Z4 B6 H* J; p
}' e' {* C, q( B
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|