|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
: e6 _7 [. l( n! i3 f4 w* V1.。DSP解算出来的数据是存在哪里?$ k$ Y8 [5 B; S: s8 w
2.。在例程中有这段代码:
! Y9 h# K0 c" H8 w unsigned int int_id = 0;' _1 l/ c0 p3 b' j0 n
! P4 j0 k2 s& }; z; a: t3 v" n5 L // 确定中断源9 p' @0 O6 D: B2 f
int_id = UARTIntStatus(SOC_UART_2_REGS);, @9 M9 b$ B7 }7 H6 C" D4 K
: l5 ^/ ~: \) c) G/ c* { // 清除 UART2 系统中断
+ _' ?; q& z/ F) [ IntSystemStatusClear(SYS_INT_UARTINT2);# q. j; M3 A0 |( {- r1 f5 u% r' }; P
) b: q" T; W& J( x0 M5 b: r // 发送中断
% z5 J* n# j, k8 ?/ [. y if(UART_INTID_TX_EMPTY == int_id)0 e' t/ Y* W* _4 T7 E! G9 I
{4 ?' V' r( |8 G. Q/ g. O
if(0 < length)& G' z1 v3 Z0 f4 M! H4 ]
{
C$ w7 p& L. k/ @' | \ // 写一个字节到 THR
6 a) Y6 O; G5 e7 n, v; J UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);6 }+ p! w+ `% J I+ y: V
length--;
) H5 u- h8 c3 \% N$ t- J count++; F. Y4 R& {$ n; z
}
3 C! ~$ Q& y: h. R1 P, h- v if(0 == length)
5 T# T0 k2 d1 ~5 {8 a) o) |% |" B {6 R: P3 n+ @/ O- Y: D' b* Z' d
// 禁用发送中断4 P8 T) C; I% O8 w H0 q
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);; N% U* {6 Y. P0 J* D
}! v) C9 A- K5 w) ?
}) B5 o3 m( r% n0 E. H9 O7 X
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|