|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问8 ^: m4 K: u" g' } f
1.。DSP解算出来的数据是存在哪里?
$ x5 w; k6 E! S6 z0 h/ |" ^8 \- M2.。在例程中有这段代码:9 s, V# @, q7 G' r; w* @0 I9 `9 o
unsigned int int_id = 0;+ r6 R5 x- T9 p- L
' o( X8 L& V3 A% A/ j // 确定中断源0 v+ Y4 X u- K3 Y* J6 y
int_id = UARTIntStatus(SOC_UART_2_REGS);1 W- h; E; Y4 B
' O% U: M; Y) W9 N# {) W3 ` z4 S. W // 清除 UART2 系统中断
$ ?6 D3 D9 ?, u. ]9 N IntSystemStatusClear(SYS_INT_UARTINT2);
$ n; b1 A8 D- F% j
) e% A0 C7 R& K- n/ G // 发送中断) r# E1 x' y- W& I3 ?0 Q
if(UART_INTID_TX_EMPTY == int_id)
5 ^" m- W7 T( d0 ]' D {
8 U: |2 j% c7 c2 m& P7 B if(0 < length)
. g% Y& Q2 t) ?/ ?8 d, z& }: D {5 D$ z+ I8 q! o1 @1 X5 }* ~. H
// 写一个字节到 THR( j! F9 o5 P- q# B
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);- z8 q9 l0 r4 a
length--;" M) v( S& u/ i5 s6 n- {
count++;
& G/ L3 d$ B5 u$ Q% F0 I. l }
( ^ T7 p1 g2 g/ H if(0 == length)1 w) |4 e/ v$ |9 f: W/ I% b6 |" A3 b
{
1 T; t% _8 X0 `' D // 禁用发送中断
2 f9 X3 r# c6 G) s UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
' E8 }6 O* y# r t; C0 e7 S }. p9 w K, h7 O$ a+ T2 l* J! n. {
}
4 z L6 n: x1 [8 }+ R我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|