|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
6 w2 _" `8 |% @( Q; r6 T1.。DSP解算出来的数据是存在哪里?1 N* B: ~, ]! ]# i* I# j
2.。在例程中有这段代码:
0 r' Y( L/ b7 C; W- { unsigned int int_id = 0;+ g" k2 y1 E% a) P7 s( S) d+ O
: A: v( h" p3 c* J. C9 L3 G: ` ?" F# S8 ?
// 确定中断源
; {5 D9 L: b# W# @9 b# L+ r. n! J! m int_id = UARTIntStatus(SOC_UART_2_REGS);* u) c! Q7 _: Y& S& c% I
. y( j+ j1 p' v/ d" S( e4 c' _' } // 清除 UART2 系统中断
. ^3 Z- L: s' w, l) O IntSystemStatusClear(SYS_INT_UARTINT2);
# O2 X* X$ @$ e5 Q# `5 ~! L4 [
" |8 v2 e" ]5 n; j0 [9 u // 发送中断/ i- {: V* r5 r( A
if(UART_INTID_TX_EMPTY == int_id)
X0 |* J4 Z0 r! a& {8 L0 L {
0 v; z* \4 H* }( x U if(0 < length)1 k7 k1 |/ t( e1 p( U
{
* N/ I5 ^3 q1 G/ X' o1 c: B // 写一个字节到 THR+ B# }" c) I/ o) F0 b' K
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
+ f$ x/ T9 W: g) k6 ^ length--;
& s) x' N/ Z- ?1 W! {" [$ L& u count++;; y: c. e! }2 X- `: t( `) k! `( L
}; G: f0 w" Y1 Q
if(0 == length)" h2 W2 S- M' J* e* Y- D! A
{
% Z* H% g8 ^$ x* J5 K // 禁用发送中断' ?5 g6 C2 }/ ?: H
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
' v6 h; U1 @1 F3 D+ w" Z; a, R! b9 D }3 b- E- G4 |# }* |
}
" b% ?5 t7 S! S, k! [. `; n* g j我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|