|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
8 e ]' Z. x; S+ B5 l4 ]- @ z1.。DSP解算出来的数据是存在哪里?
Y7 ^# f* H/ P& R2.。在例程中有这段代码:* }$ J! Q& l7 L5 C' K2 K
unsigned int int_id = 0;# N; _& d4 f! ^4 ?
9 A, K% V% ^6 L8 q! x5 W5 {# K // 确定中断源
) |1 {# l! C$ r/ g4 D: P! e- C int_id = UARTIntStatus(SOC_UART_2_REGS);
5 E c. }# H5 ^6 m/ N2 M% u4 A3 m& v/ i% J* U
// 清除 UART2 系统中断
0 g8 J5 k/ I* g/ m9 G9 S IntSystemStatusClear(SYS_INT_UARTINT2);
; k0 k9 x3 ] V* S' `* f( G2 r3 p, G3 w3 M
// 发送中断
9 h) ?% W( n, H if(UART_INTID_TX_EMPTY == int_id), x8 s. g0 }3 j+ c* t3 g2 p4 y
{- s7 _, e W' u5 S
if(0 < length)
7 q# E7 K' A! X; ? {
2 P, \/ f: e" A0 \4 M7 O K5 _ // 写一个字节到 THR
* e. J* T% o) b7 ~ UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
3 a% f7 a) B, k* N4 L length--;# Q4 N4 @) Z8 O/ r+ }2 W; S$ o
count++;: o* Z4 v' g: b% c* C; ]* Y
} _+ k. k4 w' g; `, t
if(0 == length)
0 \# x$ [7 W0 l; y, @- N {* I! ]/ A, N) s: e" S; `
// 禁用发送中断4 M6 P6 W: ]1 U' N- x
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);. n: J, ?1 ^+ y" M8 i
}: G7 a5 F3 {# J7 ^
}/ o; N$ B0 J9 H7 ]1 k
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|