嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
3 C5 B, J; [6 r- O1 U* F. S
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
# y, l. l/ K9 l$ A$ \+ w* r9 N
, a3 k0 i8 y8 J M2 s
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
. Q& G7 w4 O5 f/ i" `2 n# W
{
& g( L7 ^* b4 u4 ^( v, h
unsigned int count = 0;
/ l( S0 m( Q% ]& e
unsigned int flag = 0;
% \& ]8 x9 s9 `1 f
0 k* o% Q& C& U8 T8 Q
if(numBytesToWrite < 0)
& I+ G5 l5 w7 `8 d5 L
{
- [9 O# A0 ~1 F8 x% X' w2 w
flag = 1;
! J' b4 p$ A R8 x& v
}
' J+ V7 n# Z/ V4 h+ B; V0 [: Y
8 a) P6 t- `, A& B g
while('\0' != *pTxBuffer)
. x* U+ O$ {4 U1 L3 X I6 i
{
$ u! J% J' S* C
if('\n' == *pTxBuffer)
* t) S+ Z! U( ]/ K# y8 U2 F
{
& ?" U7 X ~; A
UARTCharPut(SOC_UART_2_REGS, '\r');
4 s: u% x& S3 d! o, x7 Z
UARTCharPut(SOC_UART_2_REGS, '\n');
8 z8 h2 s$ c" I% b
}
8 P- h8 M# n2 ] U
else
3 _8 I) O! w$ [/ E# d
{
q2 j0 S. f3 ]$ r; } k: z9 D
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
% t/ b0 x H; F5 l5 b
}
/ X+ e. x% |* O3 N, L6 r# f' b2 T
pTxBuffer++;
! q5 e* M6 S t
count++;
; C8 n" l7 k; o" n. U& [
% ? ^1 X0 K; n" \+ r( D) J, }: R
if((0 == flag) && (count == numBytesToWrite))
0 b3 i2 J6 j7 p9 x R
{
# f# l$ q/ z6 j5 K
break;
2 M8 V `, d# j! _$ [) A
}
. Z$ p# `; T ^
/ K) n6 p G& j2 Q8 D' v8 r
}
1 O- W# }1 }, X+ r& s1 B
. s; L3 a& ~1 c; B
return count;
) S1 g/ e+ t* q) _' C _7 C" ~
}
) U O8 q$ t- |4 P6 Z7 }; j
: m' K9 C2 N, s3 t; s& ?6 c
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
7 ?, |; K1 I# j5 t; m/ j: f9 y: B
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4