|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问8 U9 i( f4 V5 ?" E
1.。DSP解算出来的数据是存在哪里?
5 {5 C6 w- \6 E% j: q2.。在例程中有这段代码:' ~ y/ R- n% H9 E/ T8 U4 C C
unsigned int int_id = 0;
. F1 M% w5 r/ W L4 G$ y. P" D: ~7 w7 }
// 确定中断源
0 I9 w# _( `1 E N) Q int_id = UARTIntStatus(SOC_UART_2_REGS);+ {/ ^+ V+ Y3 T
8 d3 F# w7 T' Q# A: v& t& Y# m // 清除 UART2 系统中断
( a5 @4 S% G8 z/ _' C2 y2 q IntSystemStatusClear(SYS_INT_UARTINT2);
6 ^5 I. O$ o% `2 z- A9 ]+ k1 L
' J+ J4 Z2 E" T2 X+ ]; m8 e // 发送中断! Q% H9 J' ?, v
if(UART_INTID_TX_EMPTY == int_id)
) v* R7 [' d3 f5 k& @, I+ v {& T% ]3 G/ w/ h) l/ u) ]+ ^+ y
if(0 < length)
0 _3 f- x2 B+ i: }7 T' C" z {/ U! x6 g1 p5 M# V u
// 写一个字节到 THR7 i% U; y2 \1 f, Y' e0 O% s* w% N
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
: V! b: \% k3 r3 R+ O length--;0 k+ _4 q( r& \) m/ W+ s2 W
count++;
4 p* [" i9 H3 z# m5 n2 N8 y* x' Q }* f! U2 ?! i7 v+ D" l1 h7 L
if(0 == length)9 S% s; D4 s# m1 [4 h. W+ A
{
# [! [& @/ j$ _ // 禁用发送中断
+ ~- j, M! X5 v! l& c/ h% Y UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
) A* O& G# Z; l. p6 i( L; E: V9 H" n0 S }& L) P& p! {( \! D; Z* B
}
' }* n0 @9 x8 v( _3 v我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|