|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
7 j _, w0 p/ x8 k! B1.。DSP解算出来的数据是存在哪里?
. C. H0 ^4 f, i" @2.。在例程中有这段代码:
: M |' [. G' T, [ unsigned int int_id = 0;
- P! c' r4 U1 `2 x& w7 f5 Y5 w" h
) ?) U- T' b! g/ G+ [, F // 确定中断源
* \& k5 C3 I6 _' _. n int_id = UARTIntStatus(SOC_UART_2_REGS);
8 z, `7 W3 ~. _4 Y% ~4 l+ t: a0 u- Y; @7 K) j
// 清除 UART2 系统中断, X) i7 J# C$ Z d: o# {8 t7 S. q7 H! j
IntSystemStatusClear(SYS_INT_UARTINT2);
; a- }- S1 p! v2 g! b8 f% \6 {5 `; I! v2 O( Y% S/ `
// 发送中断& X5 K* r! m3 V: T
if(UART_INTID_TX_EMPTY == int_id)$ R( p0 c0 n8 R( A+ z* l) \
{
) H( x0 y" h2 I: D. H if(0 < length)- f& R* B8 \. U1 D. @
{4 G7 k: x3 g7 t; k+ p3 {
// 写一个字节到 THR
4 M3 b; J/ r A1 j/ K" P9 ~ UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);9 K: k8 b3 M: `* s" N
length--;
9 v' v, Q& V. h6 G! x% F count++; Z, ]- H e+ d8 D! `3 a6 O
}
" a1 K" F9 i( u! {- { if(0 == length)
% M3 k- X' V" T4 E& Z, V- j# W4 f {' f: O7 ?) W5 X0 K2 L# a
// 禁用发送中断$ e Q; U- i* `2 s3 t2 [- Q
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);1 t; W9 v& S/ `
}- a5 j+ F7 \2 k9 w' o1 F6 U
}
U* `* V% s( H, Q我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|