嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
6 a9 C1 z2 b- d5 |, t5 q
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
+ z$ D- s$ [3 ]5 ^: ~! o
. d4 R1 L+ V' K& X$ e! v9 `, @
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
2 [7 [) i9 g% o# {- o0 R8 m
{
6 w# ?* |' J$ y2 y/ ]7 f0 m$ }" n
unsigned int count = 0;
2 p, D2 M$ w: e7 o
unsigned int flag = 0;
Q& R4 y$ |$ k* u1 B
3 I; }) M: L% G' M
if(numBytesToWrite < 0)
) [( g+ l% ?- C" }2 k+ h
{
/ w0 H, ]0 \1 W D( v* b0 R
flag = 1;
3 n0 n$ _- |7 R3 q1 a% S
}
% H+ l2 o6 M' X
+ {* M% a5 T. s! |
while('\0' != *pTxBuffer)
+ \+ K6 C$ r0 K# F
{
8 N: G: _) ^: d: n
if('\n' == *pTxBuffer)
9 G0 h% a. T; h! A9 H/ E4 S
{
. \4 Q( l0 z/ ^0 k4 l8 _
UARTCharPut(SOC_UART_2_REGS, '\r');
6 w9 F( m5 `0 ^0 e& ^; w0 H5 a* E! F
UARTCharPut(SOC_UART_2_REGS, '\n');
* F1 }! }$ D$ H/ x- Y. q( [
}
% k" V9 p- X7 P7 ?: K
else
7 ` E, t# ]8 g+ n% ]8 ` Z3 c7 M
{
& W: P9 M; E5 s4 g6 ?$ ~
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
" Y! U4 T/ C) D: Q$ j' @
}
) j& |, L: ^! T3 W6 `0 J" o
pTxBuffer++;
" B* @0 X3 D0 R& H! i* [3 \ D4 G
count++;
- w# Q% K, I) g3 T2 \
" y L K% g% m+ b ^6 w4 u1 u
if((0 == flag) && (count == numBytesToWrite))
/ e9 b& e8 X- V0 i
{
: B9 M' k# y0 t. j( ~+ w) {
break;
$ t% n: @" i- s/ S0 S
}
7 m2 B; A! G- V9 R0 j6 D9 M; ^7 x
/ _; T" [# i' b+ H; o! l1 J7 q5 u& U
}
1 y" u) x* W7 ~/ q" o- |5 }7 l5 T
4 V+ `5 p7 Y9 q P
return count;
% @: k- S9 y& G. k
}
0 t1 P( c! m) N% k' h5 [4 J4 M' F
9 J/ g( T+ t3 h. K. u9 m7 N
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
3 s$ S# \" \% I. A
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4