|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
; ]1 ^) W3 C# G8 J1.。DSP解算出来的数据是存在哪里?
8 G& D, x( z! H$ K% Z5 p2.。在例程中有这段代码:! s2 A" {# z( D" s- U# }$ c2 G# B8 y# n
unsigned int int_id = 0;1 [ G9 E2 x$ x
* ^& f$ V2 s, y/ b& X5 R: l // 确定中断源5 p w& z; w' ?! F8 y
int_id = UARTIntStatus(SOC_UART_2_REGS);6 V+ i: y3 _1 }& p2 o$ _! f
: P t+ g4 `) P9 p
// 清除 UART2 系统中断+ `. U" D* K* |; O) u
IntSystemStatusClear(SYS_INT_UARTINT2);$ o# w7 S: d- x
" N9 e! V$ [+ r8 E5 ]; w // 发送中断" _0 A) D& I5 I; e* }! Z
if(UART_INTID_TX_EMPTY == int_id)) q* `; `- J& i7 L! |
{
; } x' Q u* U+ }. i if(0 < length)7 p8 H3 v& T7 ]1 E% q p9 u
{
7 U/ q% [' s% r" F // 写一个字节到 THR
& o+ m( j6 ~' F! B- \& L UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);: Q, q* Z0 r( r; S0 T
length--;
4 s+ @# |/ o9 x) [1 p( D8 Q8 o count++;4 o- @: ^8 |2 c+ A
}0 V8 c m1 I% Y9 p; m }! V* d: b
if(0 == length)
. }* l! D$ }/ G2 c ~5 k {
* T7 g f2 o% Q/ ^ // 禁用发送中断4 Q5 Z! D. V. {+ I/ Q" J5 T
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);+ d" l' c2 k1 J2 k- j
}1 I# `9 F9 X6 M" l
}/ g4 t, c' \9 @% } W. r
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|