|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
. q7 n+ O, J0 \* K1.。DSP解算出来的数据是存在哪里?
2 m R1 n! L, @6 f) @# p4 S2.。在例程中有这段代码:5 k0 d! K' d! T5 {+ |: d6 V$ q
unsigned int int_id = 0;- k4 r1 C5 d' ]8 M2 @
, \ Z$ B8 `6 I% P+ s/ l
// 确定中断源) U3 x8 d% F8 e% M3 B
int_id = UARTIntStatus(SOC_UART_2_REGS);
% Q/ g( |* k+ D% A7 F. Q, s& m- U/ k. \9 f7 N! m, |6 w1 n5 [
// 清除 UART2 系统中断, t8 r/ i) Q& a* ~
IntSystemStatusClear(SYS_INT_UARTINT2);
4 [! L" V1 B7 x1 D1 D3 i# K1 e2 S0 `5 Z! q) Y0 D
// 发送中断- [ b7 L/ `: y# z5 b5 d$ P8 w2 q
if(UART_INTID_TX_EMPTY == int_id)
" y% I- E" R9 a& m2 b {
- j/ Z5 J0 w( |3 E- U. F5 M if(0 < length)
( I( l. p4 P8 R7 f5 W* D1 x {
4 [0 U3 R: ~+ ~6 O% B5 q // 写一个字节到 THR. T7 p0 J( ?( o3 o" Z- v
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
: b/ E( y; A& L' ?4 h/ M length--;
5 Z! W# o0 Q- Z. T, V; I8 q0 ?# ~ count++;6 O- Y/ H( Y* [
}1 w' q. {* E0 o; y! X. i
if(0 == length)
4 y9 i4 W% ^% T) F! A+ _3 q( O {
# _- U" N; o' h3 { // 禁用发送中断
$ p3 x+ P9 [3 A9 }5 @ UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);, d3 {6 f" z3 ]9 r* K$ Z7 ^
}" q+ A+ m: I |. o+ Q8 ^' E" d" z
}' {! e* x$ C8 j, g: \5 J! I0 J, O
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|