|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
% }! n+ T, `: \7 c9 r4 v, t1.。DSP解算出来的数据是存在哪里?2 A( t4 P. y' e2 u, R* U0 [
2.。在例程中有这段代码:0 }9 Q( g; _, i( m3 |' X! r A
unsigned int int_id = 0;
0 _. q$ G/ {) k9 a+ Y1 [' T/ e* N* k; ?. I
// 确定中断源1 ^+ F4 ?8 v4 i4 m# r
int_id = UARTIntStatus(SOC_UART_2_REGS);
7 u4 T, E% Q% J3 i& S; e, b
, |& A. N+ |. Q" }0 R // 清除 UART2 系统中断, W( t$ `3 J+ X' F: O n
IntSystemStatusClear(SYS_INT_UARTINT2);7 _& u/ x( J D: n ^
3 ]* _4 l, e' ]# J# K+ }. E
// 发送中断
7 i8 N1 j. v& X+ O2 {- _: K2 e if(UART_INTID_TX_EMPTY == int_id)
3 R, l- D$ G0 q6 |/ n- G' w# l9 d {
" S) i# Z( t' Z+ ~ if(0 < length)
! @& Z3 Y' H7 Z2 _% Z {
6 t, J; P! w+ N // 写一个字节到 THR
& P' R' B' o1 C) r8 y: u- X$ ~ UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
' v& n/ L0 R) Y- i9 a! K. q length--;
% f/ x2 D, T4 U3 L& f% f2 ~ count++;0 \" g$ F) ~9 }( y' y) \
}" Y1 W. f) c6 i
if(0 == length)+ ?/ f2 }; U/ [' d6 k
{2 y' T& r5 S7 i% h
// 禁用发送中断! s2 J, E0 `; R4 q! V% i
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
6 G3 o" k& g- }! x9 e }
0 e: ~$ D8 f1 D7 @4 l }" |8 c$ J5 n' V
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|