|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
; p; G8 J% o+ g- ~1.。DSP解算出来的数据是存在哪里?
. s+ j" i: J9 D j- M9 h2.。在例程中有这段代码:2 D) Z' G# Y X
unsigned int int_id = 0;
( m- x% S/ B4 d: b+ {' S. o
2 F, F# {& C; b: e; Q1 e0 {5 e // 确定中断源( n' a5 i* v& Y- h$ v$ o" x! o
int_id = UARTIntStatus(SOC_UART_2_REGS);/ e5 b. _* L( M* b6 _1 M
. w% `- I2 a( l9 X! K6 H
// 清除 UART2 系统中断
' R, V! b2 `) d1 j4 s IntSystemStatusClear(SYS_INT_UARTINT2);& s- b4 i8 d' b
0 b) c5 G- i/ e$ B" s( l. i# C: d
// 发送中断
6 u8 R3 ~$ E2 Y9 \" M) Q8 k if(UART_INTID_TX_EMPTY == int_id)
( M7 l/ l9 @% x: h1 k {
! S# X/ [9 H+ q: q8 E& C. {, n! W& W! h if(0 < length)
( F2 H Q9 v! P {) ~# X; O1 x0 C. `
// 写一个字节到 THR' v3 r8 R# O4 J& d2 b6 l
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);; C9 t8 X; p# d( t
length--;4 X' `; a$ W- l; z1 p, D) c, S4 G8 s
count++;1 H3 W: n) M3 ]2 E- N& H# u0 M
}# h" H6 x( j; A& B- i' N7 i9 X& s
if(0 == length)7 @* i/ q$ C9 c& q6 [$ H
{
2 n5 o; q9 ~6 T8 k4 c) I4 o, \7 e // 禁用发送中断
8 s' }# ^6 L: s0 k! H' {" J UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);- Y* y5 P2 l. k
}' r9 A; t1 [6 t. _
}
7 m* f2 U5 e' ^4 r m我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|