嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
! l; e" ]7 E/ f0 n# }" k1 [
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
" x+ v" z# P/ a* j$ \" Z
5 X0 b+ ^" _& I" z7 K
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
8 t4 r/ ]) V9 K- D) h( C5 c
{
+ [) P1 t& O) d. |- }
unsigned int count = 0;
6 a7 F6 E! L5 p4 B0 {* ?. ?9 k
unsigned int flag = 0;
* E% f# c, M0 q# O+ u, z
1 C) i3 q: x5 Y5 r
if(numBytesToWrite < 0)
' i, s8 C6 g" a/ S6 I" P: {
{
6 R* d6 L/ w. c6 D' h3 Q4 I/ u& X
flag = 1;
1 M ~6 p/ s. k9 F J) n6 X
}
9 h4 `& T& V' `7 X) G! \6 w( o
- x% b2 m J* p( Q, {3 A# Q9 Z
while('\0' != *pTxBuffer)
8 Z. M% f$ Q/ d! ~% P0 S1 _. B
{
: \6 c5 W( [ ~3 Q3 t% X: x
if('\n' == *pTxBuffer)
1 {4 ?& \% Z$ S$ L. n* [
{
/ M, Q, `2 e; v! P" W4 A
UARTCharPut(SOC_UART_2_REGS, '\r');
8 H* I" a6 O7 P- Q/ ]
UARTCharPut(SOC_UART_2_REGS, '\n');
! G; |* `$ K2 `' X
}
0 X! W, u4 X3 l. J
else
. |% {9 \; X7 r/ S- A5 R" P' E
{
& q# ?' m3 V+ w+ f/ P$ {8 @/ o( u
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
4 w) v: z! t; a2 M
}
9 p& q3 C4 h* f
pTxBuffer++;
7 P& q* Y( ]2 M/ M K) i8 w W
count++;
, ?: V/ Y/ b6 p8 i' i3 g
% l& U9 H5 R3 F% T
if((0 == flag) && (count == numBytesToWrite))
( F$ g1 ^! ?5 u! [7 J5 A
{
$ e" c f& Q9 U
break;
; O' y% ~4 @" ?: b: s
}
/ A2 f5 ^& q) y: f# j. Z, @# M6 f( r
" _0 d+ d3 n; u# |: n
}
: ]# @2 N( M7 M# S7 _0 X
- y) \* T! V, q1 X8 @( _
return count;
" d& n( S U2 s( R \4 s3 ]
}
/ B" P" V+ M, B2 d
$ l9 ?. }# m( a; s6 ]
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
1 i" T. K" N. Z1 a
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4