|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问# Q3 A4 S# D" D1 [1 f, ^+ J
1.。DSP解算出来的数据是存在哪里?
) |( z" f5 j6 S: k) F2.。在例程中有这段代码:% k. K$ G* o+ ]7 C
unsigned int int_id = 0;$ S8 I. v5 E3 p1 N; V9 T
2 r! L: H! B. f" n1 o' S3 s
// 确定中断源% l2 \1 U4 i) Y9 g5 E* y
int_id = UARTIntStatus(SOC_UART_2_REGS);
( o- f9 q& j/ C1 W4 U
& I4 u6 [/ {. u, m // 清除 UART2 系统中断' t0 B2 ` m. k; F) W
IntSystemStatusClear(SYS_INT_UARTINT2);
; @3 P2 w% P- I' t9 F1 k) j8 N7 g x7 u o# `
// 发送中断3 b! |/ N' T# \& i* Z
if(UART_INTID_TX_EMPTY == int_id)
8 E4 N! M' O9 W; O; d {
3 p5 y/ P/ I# E$ T( J7 x if(0 < length); ?7 {% V2 s2 G
{
% w( R \2 M% G6 a3 Z- Z // 写一个字节到 THR
! p4 p2 C8 l9 m0 V UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
- f4 A, p8 ` K. ?- x5 l0 } length--;
# Q! }8 d" @, S& [9 ]; J9 ?' V count++;1 w% n- S( v% P- y' }1 z
}
% l) w# Z7 P, L( O if(0 == length)
" s# u; |1 e) e, d q1 ] {
" m% h+ J' ?3 c' O( v! u( n1 Q // 禁用发送中断& C8 o& t& Y& _0 G7 @; w
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);/ S1 {( `, g4 }# K
}' o3 e% u7 q' \3 j# P
}' ]. L" ?, Y' A C# q
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|