嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
% `# C2 K" U& r, b& s3 m
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
8 n2 |7 _+ W. Z- x
: z( r5 s: y4 y1 l
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
6 T. v7 _- s3 ]( [
{
0 q2 d% D! i# i k9 Y
unsigned int count = 0;
5 q! ^$ R5 X9 x! s' f
unsigned int flag = 0;
$ \" C( x- ^3 N# B
7 B8 B# l. K" \# I
if(numBytesToWrite < 0)
1 V- D% ^1 E% s; y9 Z5 V9 U
{
5 Z8 ?: n0 d+ ]% _" l) M1 A
flag = 1;
: k3 J6 _! b8 m+ N! B& p/ y% u) I
}
m# `/ D3 n5 C4 \
7 X, D+ c/ `, c% i! `) w
while('\0' != *pTxBuffer)
! A, a8 l4 d* h W; n
{
5 _$ C' k3 r8 B
if('\n' == *pTxBuffer)
/ I8 y+ R5 Z" d" N, j
{
; E$ m6 l% S- K3 z; \2 L
UARTCharPut(SOC_UART_2_REGS, '\r');
1 e; I" w E9 m+ j8 K& P
UARTCharPut(SOC_UART_2_REGS, '\n');
6 z- s; R' m! i1 v8 ^
}
! C" {2 P$ e0 e! D8 U! _
else
# X4 v3 x2 ~# t' O4 M1 I
{
, g. x! W! z `: w. N9 x A
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
5 i3 u0 G1 S9 l t$ c( U! C3 N* T
}
9 r$ T1 Z G( m$ y: C
pTxBuffer++;
! E. M7 q* A% t
count++;
/ F( O9 U) Y0 U! V# s3 S: u
. Q0 I. N7 c$ a# D* m0 f
if((0 == flag) && (count == numBytesToWrite))
- Q, ]) C7 C! F& Z+ g; s2 ]
{
- C% u9 x3 q, S7 q/ w# j2 z
break;
$ D V, H5 Y9 \, u
}
* E/ p( @) ~# q2 F( }$ c0 {+ b' w
! w+ D/ x/ F6 |6 }/ H! Q
}
/ ?. O6 z' G9 b7 b B* v' ?! E% Z
% P+ ]5 P' \1 e& ~/ @, D
return count;
8 e' E* d6 h6 M6 W0 I2 K) y/ Z
}
% V, E% z( {* z1 A6 x# ~
7 P1 {9 n ^( ? R3 Z8 T3 d
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
2 r% j9 z& [* N! p9 C- x4 q
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4