嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
, G7 Y- ^+ _1 P! G: x, k
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
* ]3 ~5 |9 v5 ~" i4 C2 x* J
5 T$ X7 U3 V6 o4 E- @
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
- n8 Z& |$ u" a$ K
{
0 r, k; d7 d& J% }
unsigned int count = 0;
0 d, g1 w" b. a k
unsigned int flag = 0;
+ |& @$ @' k( v# k; O/ p
1 H1 D" O$ J7 C5 n4 Q, y$ H
if(numBytesToWrite < 0)
7 c: |* R) l* @0 d6 X k1 D
{
* J& a( E& f; i6 z
flag = 1;
9 q1 f8 V. f/ }5 e* }
}
2 k3 F* ]* ~9 c+ G
5 _' ^5 \* x+ h
while('\0' != *pTxBuffer)
( ]) `5 [ }* U# c1 {& u& o S; l
{
* w6 ?! |% n; q* _
if('\n' == *pTxBuffer)
1 }% i( R5 N& R5 [6 X9 w- e' ]# J
{
" C# F( X+ ^, w1 K0 N% N# C
UARTCharPut(SOC_UART_2_REGS, '\r');
8 e# y0 `3 U4 Q5 ?& i+ L
UARTCharPut(SOC_UART_2_REGS, '\n');
# _, u0 H3 U! S- ?+ \
}
9 Y$ d9 [ G, h: H# F1 d
else
8 Z2 i7 ^1 h: a
{
1 W& E$ O7 y9 Z7 D0 o
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
! k0 j2 @' J" f3 I8 L
}
4 M* q9 f0 p- Q& u' G+ ^
pTxBuffer++;
2 W+ x3 }. T: V& _$ R. i0 B
count++;
& Y3 ]( C' b K# j/ {6 H1 K
. i/ g- l6 L/ [. `; N
if((0 == flag) && (count == numBytesToWrite))
8 ~& P4 U0 _1 q1 ?
{
/ f3 ^' F& c) n& U) P" ~
break;
" N6 e& r3 i2 F- |- K2 Q
}
: d! s8 b! a$ }6 x: s; r
& n5 [, ^! r$ q' N
}
$ }0 p* v9 ^! B2 i w2 a0 X
' C& j8 E# m8 X, ]1 B
return count;
, q0 [- O& Q4 K+ s* r
}
9 s; x9 I) B4 ?4 Y9 ^% b- i$ x
) \! J. D3 \" ]; ^
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
- B% |+ Z M( N, ~/ n( z, H. I
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4