|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
. w4 }5 x4 _ L/ v+ B. z1.。DSP解算出来的数据是存在哪里?$ F* `- r* ^2 v* d$ i
2.。在例程中有这段代码:
* H: j5 y b: o, x) E8 ^ unsigned int int_id = 0;
# u) [) H! Z, u0 @4 u2 q; ]$ X9 _( e% z' G
// 确定中断源
. ~7 O7 ?1 Z" H( ]% A int_id = UARTIntStatus(SOC_UART_2_REGS);
" o3 E$ ]/ v& o
7 z" t- x# d, `* S( j // 清除 UART2 系统中断
+ w* j" d0 f& H5 [; _: H/ N IntSystemStatusClear(SYS_INT_UARTINT2);9 P! ^/ |/ I. m; ~$ \
3 s: J5 Y# M- M5 F1 H4 o$ L/ j // 发送中断0 r% z* t$ }& l
if(UART_INTID_TX_EMPTY == int_id)
: h8 f1 l8 r2 ]3 z* z1 } {
# C, B6 M' v* J7 M4 c$ [ if(0 < length)# `5 e1 ~- t o0 D; O7 t! J& s
{4 M4 s8 @1 h9 z4 g
// 写一个字节到 THR# G7 R+ _% P/ Z3 ~' }2 t
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
5 u4 d) i5 @# k5 H length--;
0 l' Q$ W4 J$ c count++;
2 b* y& n* f! g I* y5 P; m }" V' u% `& u' S: ?1 F+ u# D
if(0 == length)' o/ g" }1 H; k3 S8 W, t: A- d
{
7 s4 C& b0 B% F( ~8 A // 禁用发送中断
) f4 x. u @# Z6 j, W+ C$ Y6 U$ f" }0 d UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
6 ^' U* ~$ w% B# S, {- W) r8 c! D }
3 `! [' ]9 t _* U }9 D$ m& b" g5 d9 T* ^; O
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|