|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问' g' K8 ?4 A* L8 v
1.。DSP解算出来的数据是存在哪里?
. a; T2 F5 `0 E, W! |& z* T2.。在例程中有这段代码:
' X; h& U% m6 @9 S unsigned int int_id = 0;% |( C8 ]" f: X; A9 F! h$ C6 q
. s. A8 V/ }9 C6 E2 c- t
// 确定中断源. L! D' F4 ]( g: ~
int_id = UARTIntStatus(SOC_UART_2_REGS);
: M% K" Y" K8 t$ `9 ^! _+ i! V3 L
1 h# y9 _, J7 o5 e# l7 M // 清除 UART2 系统中断
+ @- U. y# S( ?9 X' ? IntSystemStatusClear(SYS_INT_UARTINT2);! {# r- e9 \/ R* g
7 H5 V% i. u7 g- m // 发送中断
% F V4 k2 }7 c1 v4 R" [. \7 Q if(UART_INTID_TX_EMPTY == int_id)
$ ]8 g( K! H8 o7 x) V Z. b2 \# K/ `; L {
* [4 g$ p, V# ?0 t/ s; U6 y if(0 < length)
7 D4 S; t- t( Z! a- H. U$ [ ? {+ w$ y3 x6 F( d- `. s" G6 { d9 e' e
// 写一个字节到 THR3 f) b- L5 V& j% ~ i5 Y
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);- n, \2 M/ Q$ {
length--;
2 `3 V1 c" C3 I0 m+ N2 f count++;
* c7 N4 o1 |! W- s }
6 ~; \: G- D3 Z' V if(0 == length)) Z$ I4 V* t# Q% c6 X
{, F( X# p s4 T( p. G
// 禁用发送中断$ t6 k* h, R. |3 {' ^' W9 Y0 l
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);) H$ o; S& _: k# A( t. \! E
}. @5 Z3 k2 n1 l3 n3 s
}
3 q) \+ y. I4 H( R; O我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|