|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问$ i( w7 t9 ?1 G( R
1.。DSP解算出来的数据是存在哪里?; m1 d! _/ W( u9 L& U
2.。在例程中有这段代码:6 ~9 s9 q& G9 n' a2 T7 |
unsigned int int_id = 0;1 B- n) a9 F& U. p) g, F! T# f5 X
\4 q2 w4 A6 V0 G7 q0 Y" r# b
// 确定中断源- K+ D! n$ `. ^* Q9 i2 J4 t
int_id = UARTIntStatus(SOC_UART_2_REGS);
1 x" H- E: d1 Y% L6 {
! j0 G2 ]8 ^$ Y9 M" e // 清除 UART2 系统中断+ l. ^6 j; f6 @& J T3 @
IntSystemStatusClear(SYS_INT_UARTINT2);
' b: ]- \, Z% K
+ R. b% S/ M: i9 \ // 发送中断) F, b. W+ o6 [) q+ o
if(UART_INTID_TX_EMPTY == int_id)
& T; }- G, R1 g$ r! U0 R; T0 }2 S {8 M( P6 h) b( ^2 U
if(0 < length); b1 N$ [. f9 w- b& P" {
{
, i' G8 v. |; z // 写一个字节到 THR
) m, e6 p# S \3 p) l9 ~ UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
: u# E4 F& P+ t' t4 x7 i K length--;* Z& |: d4 x. q. e( ]6 K6 t( M
count++;
O7 s" {$ G5 h$ ^% X j! d4 ? }! L' T. z" \8 P2 I Y6 \3 s# [+ S b
if(0 == length)
5 n* X' {' D% O5 Z {9 ?7 W% \$ Y e `
// 禁用发送中断3 h6 }" a; J6 S. R) s
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
" H) _9 j6 F0 O' o2 l: R' [/ y }% l/ x' L. q. O2 o- b: J3 y
}
! i+ w0 f) z$ R& G4 L7 _3 T我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|