|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
- k2 q+ J0 \0 e4 Q1.。DSP解算出来的数据是存在哪里?
8 y# _- Z/ b, ?$ ^, y, @2.。在例程中有这段代码:7 @4 y" {; e7 \. q0 E& y9 I7 X# o' _
unsigned int int_id = 0;3 f# J) E0 Y2 C' {
7 z# |! N7 N5 T2 }1 }: x; e // 确定中断源
/ }& \. r+ C( v int_id = UARTIntStatus(SOC_UART_2_REGS);
% C; \3 O) P; L8 ]3 M% ?/ C
6 K" b7 c7 y( ?: S // 清除 UART2 系统中断
. Y; [+ n& h S$ A/ Z IntSystemStatusClear(SYS_INT_UARTINT2);' [* z7 i/ ~0 Z2 k6 h2 {& o# Z* v3 K
7 C% U$ u7 g' V7 X# ?
// 发送中断* J5 F; M# N2 b* N$ z4 K- d% \; _
if(UART_INTID_TX_EMPTY == int_id)' S! V5 h* W2 }$ R9 |! [1 s R
{; J$ ^0 S7 h% l
if(0 < length)( y# A' D6 u1 {8 L
{$ K. w. B8 ~/ u9 g7 V
// 写一个字节到 THR
* `7 X2 X8 l% w5 [ UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);1 K# r2 J0 Q6 {) a- R
length--;
4 q& `8 m0 b7 M count++;1 H/ f0 N) e( H% C, c- n
}$ x& L; c5 B! v: a& q6 J
if(0 == length)
( L( I6 ]# y) C. W6 \ {
5 t, Z% C7 a4 t5 b7 k& | // 禁用发送中断2 G y) r& d% K4 j$ m5 J7 L
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);3 D$ Q; h( v% k+ e$ _' ?0 y
}' L0 @ N- e4 `
}+ _8 d$ P3 O! ^/ {
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|