嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
/ g3 O) i2 ~# x! x* O5 A4 E' v
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
& k& E; n' {( X7 X& N
1 t' }( |& V: H( ~( a) K4 z4 q
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
( g4 ^6 L& n; i; @5 E
{
7 D% O/ p. F3 @9 U+ Y- Y: L
unsigned int count = 0;
. b$ E- s2 @+ Y6 u
unsigned int flag = 0;
/ o" L$ `% B" |
1 H9 U8 N% Q1 Z6 v- x5 R
if(numBytesToWrite < 0)
9 N( E8 h. x3 G. a
{
$ J! D. @8 ?1 v2 k: R$ k9 y M9 O
flag = 1;
+ d. j; f- n' n
}
% i. K* O8 G. |, ?. A
. S# [7 i* _" Y. N7 W* Z/ n) Y2 |/ H
while('\0' != *pTxBuffer)
8 {2 `: t z G" H
{
. G5 K, C7 e7 o+ }% ?' v4 Q
if('\n' == *pTxBuffer)
' w" C; c2 |' d2 J& m; Q* o
{
6 y, h' S! p8 X$ P2 @% a: b
UARTCharPut(SOC_UART_2_REGS, '\r');
: C& S( v/ ^! l3 w7 H1 [ R
UARTCharPut(SOC_UART_2_REGS, '\n');
4 s/ l f. \* a. R3 W
}
: X7 G+ X( o0 T6 b9 h0 e8 N
else
! ~5 d/ B/ E& G* C9 R; T7 ^3 k
{
. b5 C8 M- _" r. L" n+ ?0 W
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
, x/ l% i1 l+ V( {
}
|4 B$ ?3 p& _
pTxBuffer++;
1 }1 e Q" |2 k0 ]7 r9 m; A( d
count++;
, q( i k) b9 q
, Y3 B; q7 w6 \2 S6 W- {7 t5 `6 M
if((0 == flag) && (count == numBytesToWrite))
+ Z" B# O3 t3 q ~* S
{
2 x* a8 {0 [3 t7 y
break;
+ b7 z' \! H) d; j+ z; {
}
3 \. {* T) C) ^) o3 Q
) f7 Q0 g7 r6 s( U, ]
}
$ l! ]! E$ U, g1 a, j( V4 \
3 Z1 S& _* y( a0 p( L, L
return count;
! G% Q2 O" h% d G! n" C- E8 J- U
}
: w/ J8 k" G& l2 Z* h' }6 R
) b6 l% p8 R# g0 V
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
3 O+ m: _ f u
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4