嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
; m/ l3 q9 P( g" Y) j% w2 M
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
9 b/ n5 b7 r3 d' _6 f- ~# ]
; c# R! g( S, C
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
, c8 b* a) X6 p1 O$ j" u* H0 [( m# f
{
5 w3 ?8 p" u9 `+ O7 G- p
unsigned int count = 0;
% ?8 [! v, g( ]% K& _$ }8 M
unsigned int flag = 0;
3 c w1 \4 n; q! Y8 x& r0 l
0 K u7 d! Q% y# s$ R
if(numBytesToWrite < 0)
' i" Z# C2 Z6 n
{
% T5 g3 @9 p1 Y, H: T( P" ?
flag = 1;
! l" g; u, X+ r# x+ q
}
8 E6 ]' ]+ B+ ~5 k' g) C
0 y; F6 ^& K. m) U+ G$ q% W+ C# W
while('\0' != *pTxBuffer)
$ D b9 _2 t, A# \( c+ s: O4 d
{
7 V M# n3 g$ O/ p
if('\n' == *pTxBuffer)
( a9 Z {* [1 Q" h! L. I+ H# F
{
8 j- m v U8 {1 ?8 c
UARTCharPut(SOC_UART_2_REGS, '\r');
$ q$ v+ N' Q9 I- M# R
UARTCharPut(SOC_UART_2_REGS, '\n');
& H1 R' D# u0 x) M3 x% l0 j
}
8 I4 S( T4 S1 ^; L% S
else
6 w- n5 p7 M# o3 T5 D2 T
{
4 A1 a0 {6 N# @/ k b, B* R
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
. X: x) X7 G. V# A( I# h
}
. ?3 e3 i0 V' U% w
pTxBuffer++;
# n( E* X9 O, h# o1 p8 B8 N2 L8 R
count++;
) E1 r9 ~& k. B, T4 J6 ?6 i
9 P& @* g ^# f. F+ Y+ Q/ N
if((0 == flag) && (count == numBytesToWrite))
[) C, V* z1 q) L0 h n5 [9 \
{
' I* P) F9 i* u. ^9 {0 U
break;
/ v( K5 b5 V o" V
}
7 K! D9 R* f0 B/ z; W
K0 C# I8 n! m Q" ?9 A
}
) K! g7 ], w7 ?' S/ O- j: ]' I
8 c- e* _( t# {, i' Z
return count;
4 Q& `8 g8 S* @% m% N
}
! \* M/ n* D5 E2 {
6 D& @/ [/ }# y9 T" s. ~
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
" J( A! \8 T8 b: K& l- ?
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4