|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
& a% o: Y e1 F3 m- T$ p5 ~/ z9 P1.。DSP解算出来的数据是存在哪里?7 V* J1 ?2 N! o
2.。在例程中有这段代码:/ r; [( P) d# k& u& [5 z
unsigned int int_id = 0;
* {7 V& t' a6 e/ n$ W; G* k
* W. N0 G( {/ Y. f* g8 l4 a // 确定中断源
- ~0 Y) S8 K3 a7 w" t int_id = UARTIntStatus(SOC_UART_2_REGS);' S: R" c7 g6 x) O% F( k* m
3 M: G) K" b+ G5 C1 O
// 清除 UART2 系统中断$ ~' E. ?, O# s& V. r
IntSystemStatusClear(SYS_INT_UARTINT2);5 x( i; t+ M6 p( l9 O( o' L2 L
( }% l6 s: y1 z$ I1 E; u9 e$ `9 e" m1 e // 发送中断! j6 Z" U) Z. Q8 ^5 d
if(UART_INTID_TX_EMPTY == int_id)
m2 N6 R6 u4 B, C$ t: \6 ?: H" ~ {
5 ]. b5 Y: Q, Z' W+ ^( M; A if(0 < length)! S$ k) h+ o: ?; v7 X& v
{5 ^8 g B: C' A9 x3 P; w
// 写一个字节到 THR5 g' g$ u" O% l- g
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);+ r. f- _( y2 Z- X( o
length--;% Z. ~$ ]* a7 G t& A% |" _
count++;
* ^' {4 M" @: o! b' l }7 }" F$ K6 G! W" ~ k8 z+ g
if(0 == length)
& n$ `4 G; h: `3 T7 J) G {
. f. r5 a, D8 W; L8 i, H' F // 禁用发送中断1 t; W! l% V/ E$ i* ~) U C
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);, Q8 a, q1 V3 P( m
}+ n4 d" _9 h0 x# A. n' Q
}
/ z: i2 _6 r& S/ m我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|