嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
0 |8 k5 e6 J5 W4 F+ |# ^
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
+ @/ l L8 [* w- B" R$ t
5 Z2 Q0 k N. M$ O5 M/ B
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
" t% D% n/ b; h/ Q$ w8 S8 f
{
$ K+ h8 x. `2 [0 p
unsigned int count = 0;
: }- ?. i/ J2 T3 ~: ~
unsigned int flag = 0;
, J* r7 H+ ]( Y# p( ]* ]3 t6 ?
. a7 `6 K8 Q4 ^% X) h) y: s7 P
if(numBytesToWrite < 0)
6 ~- |3 x1 K1 {5 M
{
0 d R+ S+ D8 [1 {9 F9 E
flag = 1;
) t: r% x# |, j H6 [# Y
}
$ Z7 o8 y T Y1 Z8 K
0 _% u) q6 M" O. Z; G2 |$ Y8 W
while('\0' != *pTxBuffer)
& C/ W! e4 V$ Y2 T1 B5 O5 ~. f% K7 K
{
% X+ U+ f- b1 [9 ?5 L
if('\n' == *pTxBuffer)
! a9 ~/ H( s2 I; H
{
/ X `0 ?. `" A- S: _
UARTCharPut(SOC_UART_2_REGS, '\r');
7 G) k' f" R" r
UARTCharPut(SOC_UART_2_REGS, '\n');
: P# N0 P2 }% n0 n/ a2 [$ `7 D
}
2 Q- ~* l; k3 k! U/ e1 w
else
0 i- z4 r; V/ t3 J7 ^
{
) z( Q2 b3 O$ o( d; x3 P
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
! b4 m" V0 o. Q
}
i: M: b4 `3 F2 A2 z
pTxBuffer++;
! ]: c L8 E; |7 V& a6 V
count++;
# `$ l& R; @ E+ j
& l% g+ i& d$ B6 i$ o+ J
if((0 == flag) && (count == numBytesToWrite))
" Z2 j5 d0 u7 y; {3 Y1 U6 P6 c6 ]. s
{
: z7 K0 _7 q: F0 i/ P& H( f( L
break;
! Y9 f, W0 t2 L
}
7 P: Q" \* C4 [6 ^
! D/ Y6 [7 _$ H c2 c
}
9 |( u1 ~! n* m3 z( n3 H
2 b" z3 E6 U0 L' t/ L# O x) @2 Z
return count;
1 C, g9 [( `& A1 Q. p
}
+ t4 Q# e/ l* y; N3 g; {" B) R( j
, }* X5 y" }$ [( k$ L
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
G5 p0 O# K9 G, ?7 c5 s
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4