|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
- r7 V& z! J j1.。DSP解算出来的数据是存在哪里?
/ h; |2 i* ]+ K* N7 o% V+ U2.。在例程中有这段代码:/ u2 o l1 E- o" k0 L
unsigned int int_id = 0;3 K4 A A+ S7 |+ g! h
. ^! @6 h- E8 P8 R: C" f
// 确定中断源
/ ~5 N2 n! g6 F/ w8 c9 \( m int_id = UARTIntStatus(SOC_UART_2_REGS);! h! T* o- }6 r' Y
' k9 f; c/ w3 _3 @! P& {
// 清除 UART2 系统中断; e T! u7 f% v) _$ Y( i
IntSystemStatusClear(SYS_INT_UARTINT2);8 U2 S3 H1 L Y" G0 r: d- `, K
% M; X" s4 o' V( v8 Y7 E; j | // 发送中断
% @# t: p9 X6 \9 l) k if(UART_INTID_TX_EMPTY == int_id)
) T; s( ]+ Q! n0 U C3 n; d {0 B. _2 v y) h$ B* p$ `# U
if(0 < length)& l/ U; b9 v7 N+ [! s3 D
{
: O0 Q- W# d/ ]# ^ // 写一个字节到 THR6 @) V: H) g7 S& A$ [% @- ^. c
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
( y% _% F$ c. `. r9 C length--;
; e# s7 X' p! ]3 Z" V count++;4 M, ]- m% P& B& }& o& l1 T
}) i/ E' ^) S7 _# O1 U% e5 C5 x
if(0 == length)
' `$ c2 Y' x, {+ a0 V/ z) @$ \( [ {
# ?( u9 G7 f7 T2 \! C, z! D* P // 禁用发送中断/ U0 \) p* }% S, o
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
1 X: i' r6 ^/ m9 O, f2 U }$ l: R" Q- X5 `* E6 F
}
2 q# Q5 Q4 \( I' {我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|