|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问$ l! J' S' Y, }& A$ _
1.。DSP解算出来的数据是存在哪里?3 H, r7 u x. L, A" D. ?
2.。在例程中有这段代码:
& r, C, X0 K/ F6 L" s. K unsigned int int_id = 0;
% A' H* W/ `9 ]: v h
: O/ h. o4 f2 U$ f4 N // 确定中断源
2 g" p$ u. L% q) i/ Z j1 y int_id = UARTIntStatus(SOC_UART_2_REGS);
7 e7 C5 z) D+ S/ D5 H
& T- X3 z/ V( R$ C- D, w // 清除 UART2 系统中断0 b: ~ t, P- u" k
IntSystemStatusClear(SYS_INT_UARTINT2);
0 [ }0 Z+ z+ k; X1 I
' H& C4 v3 j8 ?- D# {' A8 ]7 c // 发送中断; v0 D" @3 W) z& ^2 J" m: a" G
if(UART_INTID_TX_EMPTY == int_id)
" _* m/ O3 t7 K {0 P+ X7 V1 j V y& s
if(0 < length)9 F$ G! }9 b$ H
{
. G0 \4 M: z" n: J2 B% J // 写一个字节到 THR
" Q' [0 A0 |6 y2 g; _- Y UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
' S- ~. w- ~ J4 m( _) ^ length--;7 W4 F! p% [6 ]: }3 T' w
count++;
5 u. G8 s8 d6 @7 i" Q% W }0 d* E/ F8 E4 T
if(0 == length)
$ q: u3 r! P! p5 Q. ?+ [ {# ^; m4 D* E" D. K: m( t; v/ w
// 禁用发送中断
6 \ `+ g! D/ F# E! h2 s9 ` UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
) N$ u5 j" b5 l$ w. ^5 e }- ~& {' o' z! s/ `, f: Q6 g
}
! j2 V' N# Y( x; D, H; F我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|