|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问% `9 C8 E2 w0 Q9 [) X
1.。DSP解算出来的数据是存在哪里?
* C" H2 y: }# w2 ?7 }4 {4 b; N5 k2.。在例程中有这段代码:! N! t' ]& b9 K# _- x$ Z4 f4 T" u
unsigned int int_id = 0;
0 C, \3 O, T( n: B- ?
1 a9 a% R I* W7 w4 c( Z' y // 确定中断源
! y: R! ]- ?$ A L% V! g1 g3 E3 O( t int_id = UARTIntStatus(SOC_UART_2_REGS);
9 ?: C9 c$ c w! `6 @3 h. d, |' e0 K% K9 W) s* t5 }
// 清除 UART2 系统中断2 [" H9 g) V9 i2 H, U- b
IntSystemStatusClear(SYS_INT_UARTINT2);
) K- ?) p4 f. d+ N5 a, ?5 b, d1 S3 W1 C
// 发送中断* F, o) o; f+ R3 M) h7 z
if(UART_INTID_TX_EMPTY == int_id)
o* e+ O9 L7 ^, i$ m9 s6 J/ ] {* d7 ?+ C+ I# `: k& l3 d8 b
if(0 < length)* r+ _! X% e' G, s
{/ ]$ ^0 K* W& |( l% t
// 写一个字节到 THR1 s5 R1 I3 h0 w1 |7 \- l+ f% V
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);" Q! P3 H" v0 U; _
length--;2 }" x; i+ A" h) U( i6 Q
count++;# V! {; v# r0 _5 h% {
}
% r+ b+ o9 C6 O G if(0 == length)0 t2 ^7 g! c- L$ B1 [. x
{
6 N, u9 {* |+ G, h$ ~ // 禁用发送中断0 }. l1 M" ^! F/ r2 u6 G7 l8 q9 ?
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);/ X7 w) Z: B6 G2 U; {" {
}
) n# H0 G3 x4 }$ o) }! a: P8 b }) {9 v' Q- O3 E( j: q. f
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|