|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
! F( C+ b5 Q0 W8 z9 Y, M1.。DSP解算出来的数据是存在哪里?2 [8 A2 t8 F# G! Z6 d" {4 M9 M4 e6 U3 ?
2.。在例程中有这段代码:; {' Y* ^; _4 F) p
unsigned int int_id = 0;: |1 h; T& z2 K- g
2 ~+ H, _; {. w% w# A
// 确定中断源9 v+ j# O8 j% |/ k9 {
int_id = UARTIntStatus(SOC_UART_2_REGS);
8 G# P ?" q* g* C, W" T' y8 f
$ Y' }& b2 L4 Z. h) D // 清除 UART2 系统中断
2 s+ c7 @/ G/ o6 \ l8 i6 o0 S IntSystemStatusClear(SYS_INT_UARTINT2);+ `8 W- S* u' E
% S' v$ C9 m t" z% v; o // 发送中断' ]: l p% Q6 o; g. s5 ]
if(UART_INTID_TX_EMPTY == int_id)! m7 z+ j, R" x d% Z: p+ |
{6 e! i& [. P$ T6 F
if(0 < length)
$ N4 ?$ r+ A+ P* l! G8 y) x8 i; S {0 X6 @9 I9 i* F* o+ r
// 写一个字节到 THR
e! u' A& l3 K& a UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
7 f1 b/ R& u3 X/ _! \( O length--;
' X+ v/ [6 i a# _ count++;% c! s8 B' K. y$ E8 c" H _
}
6 B D7 s; A7 M$ {- q9 V; z if(0 == length)1 T/ z' n8 U( C; m! n% v1 n( \! C
{
; B1 Y! u& g3 ^" Q // 禁用发送中断6 Z- y# z; X% s8 d
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);" h0 G, J# z( I5 u& Q9 D
}( p9 z2 O6 B8 z: o* R
}
5 S1 r5 Z) d3 g7 Y0 g& n我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|