|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
0 g/ c/ `5 y9 Y# f5 L# }: ]+ p1.。DSP解算出来的数据是存在哪里?
4 j F2 _% s" t- X2 h" O0 X5 y2.。在例程中有这段代码:* r3 ]# [& J x2 N
unsigned int int_id = 0;
# j* _( l+ Z5 F7 U J, W6 s* r' J) W
// 确定中断源! k& f3 x9 V% g$ Q8 R6 N( o
int_id = UARTIntStatus(SOC_UART_2_REGS); l! M* U$ F& g+ I' a
" u. w5 \) w9 f3 f+ F // 清除 UART2 系统中断3 D( b9 y# R. Z* ^
IntSystemStatusClear(SYS_INT_UARTINT2);- X: U& Z- l+ y( \% i3 h& Y) w: ]
/ q, L" o- V/ { a" l // 发送中断. Z* _# G" k7 p$ D" v$ ?
if(UART_INTID_TX_EMPTY == int_id)" H/ s3 }: X6 s3 ?- `1 I1 b
{% K6 l. i$ c( X N; V
if(0 < length)
3 X# j K4 ]- u, j8 j {
* M/ g0 F8 X9 [ q+ \8 A // 写一个字节到 THR9 i1 a6 G8 t4 E
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);5 M" r' z" R* a0 x, }# L
length--;
; G1 I P7 G4 ~3 F count++;
, d) _ j; m# I* I8 I0 M }4 G4 }, _0 L( {% Y
if(0 == length)1 g( ^/ \% f. L' K9 L7 \$ y, |* w
{
, q3 q( e* V6 A. f, o! p) o4 I // 禁用发送中断
. `) A: _2 D; A) w7 z UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);+ _: b9 A2 ]5 p1 ?1 S5 o# |6 b. s3 ]
}4 b9 ^: U+ |( v+ I, j4 D, ]
}7 t& K8 V* K0 n
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|