|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
5 a7 k4 G" S+ W. u" t. g2 Y& _1.。DSP解算出来的数据是存在哪里?
- V' ^, `/ a0 ~# m1 T" I7 M2.。在例程中有这段代码:
( Y0 i# |# T/ e9 J; ~. ` unsigned int int_id = 0;
- U' B! a5 {7 t8 g7 C* i3 Q" _/ @
// 确定中断源4 `% Z% o5 A; w) t
int_id = UARTIntStatus(SOC_UART_2_REGS);
E, I8 {" r1 L. f/ ]$ R$ P1 ^( e
' q+ E# D3 d u* U // 清除 UART2 系统中断
1 X, Y6 P% W! D/ [5 x IntSystemStatusClear(SYS_INT_UARTINT2);( N: Y* l( d; N
( c0 u9 O: Q( x' N! c8 @ T, e7 L6 I // 发送中断
8 P9 t0 z! k" y( T, L* q if(UART_INTID_TX_EMPTY == int_id)
& W/ i6 Z; S$ Z {# ~' ~: _; t4 j8 ?( w
if(0 < length)
/ w" g9 @+ M8 S3 x8 N" ] {% K( s' q# S. z5 D; D
// 写一个字节到 THR5 v7 @+ k# G' Z% z5 A
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
7 `- V1 Y; _% P; N length--;
8 I$ F: z9 k6 L: K" L count++;
G7 f: J% O" a5 E' S+ ]# a. ] }
% u# L8 V7 ?/ c3 D# H/ u if(0 == length)9 ?# l9 g1 R2 ~
{' w/ f( K) m8 L0 [, ]& c
// 禁用发送中断1 K5 l1 V4 ^4 d8 k, ]
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);; a! I3 Q( q- _
}9 F+ D) `' r {) R) ^; s! F3 \
}
; f6 p; r8 Q& m, p+ T @我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|