|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问9 X' c* r' c% K9 @7 k. m
1.。DSP解算出来的数据是存在哪里?' N; R) d: f6 M# Q' v4 d
2.。在例程中有这段代码:+ c, u; |! s/ z! v3 m& p
unsigned int int_id = 0;
* C1 G+ y- C4 j: v$ m
. s) J: b# v d' b |6 T' r // 确定中断源& b& W$ M( p* p* c6 H' w
int_id = UARTIntStatus(SOC_UART_2_REGS);6 F' U! ^: y# c2 e9 ?
1 W$ D ~ w r; Q+ r% L // 清除 UART2 系统中断( V& e! G2 b. u
IntSystemStatusClear(SYS_INT_UARTINT2);
* ^" G; k( C: J% G; |" }
8 \1 E3 P6 o1 e+ }' o$ ^ // 发送中断
8 V" b! U4 S# r' M M; `2 `4 y7 d if(UART_INTID_TX_EMPTY == int_id)" E$ R1 ~% F. p1 V+ }# G' w2 Q
{
& ?9 \$ {8 L N) Q+ [9 i if(0 < length)4 ?/ M4 E- g+ K5 `+ @
{% p8 Z' Z5 ?$ Y9 u$ \ C
// 写一个字节到 THR$ s6 G4 Z. E0 e- i( g, m
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
% k) V h6 x) O% F5 H& k$ Z7 c length--;- G# l; N$ U2 R6 k; ?
count++;# W- K# T8 q, {* ]# `& {4 \( S% O
}
. S9 g! T8 M: O' _1 p if(0 == length)! @2 { ^5 T9 s4 k% J# e
{+ P! U4 R! r& d( i# Y) |- X
// 禁用发送中断
+ [$ X4 u. i0 `' p/ T UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);& b8 A4 g. E, T0 E+ V4 ^9 I* C
}
/ g8 @' \& n) A4 W( o& j+ M( ]# C }. F0 `; Z9 \$ L* v
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|