|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问7 {4 W; b& M$ ^4 p
1.。DSP解算出来的数据是存在哪里?' W: m' o# S5 f3 y
2.。在例程中有这段代码:
) N6 t9 \+ N0 O, V unsigned int int_id = 0;
; t5 g. R5 ~. Y+ @% q: `% M$ d1 ]- K' E" W% J3 x" V; P9 K
// 确定中断源
j/ z U7 o& S5 }( C int_id = UARTIntStatus(SOC_UART_2_REGS);
9 }: Z/ w$ d" A. `7 o1 n2 u% I8 E; S) j) t$ o: N3 ? g
// 清除 UART2 系统中断* q5 v/ f" V$ [( ^ h7 n8 |
IntSystemStatusClear(SYS_INT_UARTINT2);
p0 Y2 U2 B# R' G% z% ~: n) S5 x- Z# Y, @+ @' Q R% B5 D P* Z
// 发送中断% h" v6 }- ^1 X8 c! R
if(UART_INTID_TX_EMPTY == int_id)6 x. ]1 s N$ O3 R# I7 f) f
{* P) [" Y# W' v r) o& Y
if(0 < length)
6 K7 R: g7 x+ S- n" } {
# m6 v* B7 y2 G! c) d7 y. R3 l // 写一个字节到 THR
+ _) N& @9 R1 i! ]8 u! c UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
" ^- a8 ]) {. N5 f, L$ \) Q. a length--;
! g6 `# E. ^# r4 l1 V! R2 ~ count++;
* ~$ Y3 s2 l- V7 ~' w0 F }
3 `& A+ Y5 {& e7 Y; W% t if(0 == length)
4 l2 a3 o0 |* ] Q# g' K$ T {
) r' U; y4 I9 K5 r0 ?) a. S" o // 禁用发送中断
; D% ]. N* _, G: |, T8 J UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
2 Z2 P. f4 ~! t% [' N% W& e }
5 b8 f: o2 p* J! F4 w( g% Y }7 s4 }6 E! t3 }. F- |0 E
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|