|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问$ w/ a* E( r5 ?! C v; m* H
1.。DSP解算出来的数据是存在哪里?9 J* ]7 M0 c2 V: N0 V# b
2.。在例程中有这段代码:
# a0 D% Q" l7 d& a6 N) x+ ]7 ` unsigned int int_id = 0;4 g3 J O% o6 y2 L
3 C% K. v6 {0 L; l- n3 Q4 A+ n2 l // 确定中断源8 W' p/ @6 `- M7 G
int_id = UARTIntStatus(SOC_UART_2_REGS);: K# b# W% I8 S- H, h* {! Q
1 l! B& x! G! S N1 Y4 C
// 清除 UART2 系统中断+ t5 ^# [* \/ |/ Z: _; m
IntSystemStatusClear(SYS_INT_UARTINT2);
$ ? G o0 h$ @' r
# {! f2 n0 O4 r9 K. H // 发送中断
" a0 r- E( v5 F3 }* [" E( } if(UART_INTID_TX_EMPTY == int_id)- V& `- C5 D$ @/ Y! Q2 K" o
{
$ \7 ^. E( E, p% `3 f1 ], b- [% T5 c if(0 < length)
) r! H# y7 X. u. F+ l& y9 B {
( ~: z2 E1 n: Q- z // 写一个字节到 THR
3 A" |0 q; C6 m9 w8 v UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
9 n& @& m& l- k length--;! v6 T z% h) ]( h% ^$ u% B, r
count++;
( z7 m) q0 b( [ } }- A7 ~' Y. N/ @1 f$ a
if(0 == length)% |1 ^& M- W' W7 F& Z2 b
{0 E3 p7 V1 Y# C( Y4 s
// 禁用发送中断
' F5 l0 k( Q% G- P2 S UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);) E7 b, s) @ m: v+ ?
}
* I' B, f8 G; @9 m1 } }; x- E% C0 b% Z1 \1 h9 U$ T
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|