嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
, j! k. I' X) R1 K) C: V1 a
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
( `& g' J5 Q2 g
# D. ^) q. z( W$ ?% E$ I1 _
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
9 H' ?: U( M! d) c( i. X& X
{
, {; ]+ m! X, t/ \0 H/ V0 J/ ?
unsigned int count = 0;
* F, M7 n. c. X' h# Z
unsigned int flag = 0;
( }9 v/ d0 h& ]' |( v
1 R4 T2 }1 C1 C, D$ G0 M
if(numBytesToWrite < 0)
6 }5 z! y. B% o4 T) f7 [
{
$ v" P5 h! F" l% _! i6 N
flag = 1;
) ^0 q: Z* e3 ?% `
}
; A K6 M* |- y- c+ @9 u( v
O9 C U! {. ]
while('\0' != *pTxBuffer)
4 `! Q$ D `* N6 f. P5 s/ ?
{
# t% Q# |; H- D) [
if('\n' == *pTxBuffer)
, G) c: R- C1 ~' C, j- Q" Z
{
2 z+ E* i U3 k
UARTCharPut(SOC_UART_2_REGS, '\r');
: r6 L8 O! J' p0 t% m: x
UARTCharPut(SOC_UART_2_REGS, '\n');
+ W9 Q; r% O7 [" L6 O- l
}
M" Z V3 t" }4 @3 p5 N" D
else
. V; u7 M6 O5 y& w: o F
{
2 i4 \, d$ ]5 t3 T
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
7 ^' x+ ~' r( v; p* ~1 R2 J
}
0 |3 o5 Z" x. h( r6 U2 K, ~
pTxBuffer++;
) Q9 N r/ b$ C, e5 A! M
count++;
0 b% ^( L* @* W
' Z4 F+ N2 }/ F+ j
if((0 == flag) && (count == numBytesToWrite))
. W6 }9 ~9 G8 X3 T# U% [" [
{
, h9 _+ R9 S* ~! `. _
break;
$ G+ L5 ?2 q$ R. ?& E3 ]
}
( z v+ S5 Y+ v1 r% ]$ H4 v
' {) R$ ~; ^9 h o8 |: i+ m
}
, O: t7 N$ F1 f
5 T5 o: V" v0 X: \
return count;
$ k, X) D+ ]# n, z. v
}
* y2 S J% ~; {9 [
+ _0 x* c0 V. N2 n6 l; W/ u6 D' N
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
- a6 T! }& s! V& M. b& W/ e1 l( R
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4