|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
( s$ W9 }; \% y! }1.。DSP解算出来的数据是存在哪里?
+ O5 i- l f5 v! r2.。在例程中有这段代码:1 I. A2 G6 z6 }/ {: `/ Y
unsigned int int_id = 0;8 C0 `* d# m }" v# d
) Y3 q# G) H* { // 确定中断源
# D, e# T v, v' V7 O int_id = UARTIntStatus(SOC_UART_2_REGS);4 \% U; A c8 u# V6 G
/ ?4 D0 n6 G2 B1 S! _" |5 U // 清除 UART2 系统中断8 k ?- r( J0 q" C; M3 S9 W
IntSystemStatusClear(SYS_INT_UARTINT2); d& ~# s8 F" A
1 f; J9 o+ [) o- h
// 发送中断4 n4 X! G' n. ]* N8 W
if(UART_INTID_TX_EMPTY == int_id)7 N/ L) |9 c% f* W+ |
{
. |& l& p/ K$ X' k if(0 < length)
- U) i% G3 j$ Q, K- E: K {
$ H1 w) U" W5 H7 Z& ] // 写一个字节到 THR
$ t- N+ Z$ {1 `4 t$ f UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
% ?4 _- I6 d: Z6 l length--;
G! j, _' e& p) K Q0 l* _ count++;7 L2 J& X6 u2 }. |
}* a5 O/ ]# X2 n z9 N/ k) Z4 B
if(0 == length)
9 S' |+ X$ H' r4 n( U6 e" }* b0 g; C {4 [4 G) p) I3 N/ U
// 禁用发送中断6 d' c3 n8 H. m6 K' u! \* H
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
/ y( p2 Z+ P) r% H0 S, D5 ]1 X }
z1 X- ~" b5 n1 J5 y2 y+ J }
/ B4 X9 `: r b0 R我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|