嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
/ u( l0 a* `8 ^( \
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
1 x) D& {; e" u6 F$ c0 L
5 R$ e# p" S: @$ I) W8 S) G
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
" f# y5 E5 B1 B2 ~. N. f
{
9 B. s {7 `* h1 i
unsigned int count = 0;
3 ?* p M3 a- w& \% \
unsigned int flag = 0;
1 S& Z" z' u( R v3 L! ]
4 O0 U& @" h6 V
if(numBytesToWrite < 0)
9 }; \& L& t3 I; z3 _# G7 h
{
, U" e+ G" x; [3 o& a
flag = 1;
7 {: a% V8 E3 Y( C6 \# p& z
}
0 L( S7 M: V" E9 n4 n
2 G! A: e8 J7 x" z
while('\0' != *pTxBuffer)
5 C( B% j% X7 R2 t
{
" W( u% p; h- D7 U: j- ^
if('\n' == *pTxBuffer)
+ Q# y# i' E7 l0 C
{
' \- C, u9 d* X; F
UARTCharPut(SOC_UART_2_REGS, '\r');
* i3 I9 S% j- D7 U
UARTCharPut(SOC_UART_2_REGS, '\n');
+ f6 x6 M8 z$ x0 ^1 a9 z* @
}
6 ?" h# M1 K/ E. ]. H4 m" I; _2 k
else
! S9 _% v6 u( b3 V- d u
{
9 {! e; _: j+ J0 W) e' _9 p
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
4 w2 B: p( a' N, `+ P; K
}
& A" O3 O; n; r: H$ J! N
pTxBuffer++;
9 s) x9 Q9 M8 Y- n- K& ?" [
count++;
! @5 \) l$ G/ E
3 X% \0 {* u- o2 W" \5 L
if((0 == flag) && (count == numBytesToWrite))
) [+ {7 C) q7 i: y; o% ?
{
& V# l+ e6 [ z! A8 V* o
break;
1 m5 L: N( l) s+ C
}
% J! w' z7 s. L( y% w) Y( A; Z; U
* p9 f# C) z. g6 D. ]4 f' [* H- r7 G1 Y
}
' r0 z# V$ V1 F. m0 g
8 G* b5 x! b9 m8 W* i& q& A; R8 [
return count;
' E% m8 r" O2 K3 o
}
1 V9 W; U) f5 S. W" ^
7 u: e1 F* U+ \. |; {5 P
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
. S$ Y+ T) u! p" P
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4