嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
& S' T1 X& r* o+ x" _4 c# U
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
4 I; N' V% ]- m5 m' q% U J
+ O5 F* l3 Y7 p6 }$ f" J5 O
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
& [9 ^+ m: V, ]/ U, u) Z8 q3 g
{
# {+ ^8 C1 W& C0 G o+ R/ Y9 f
unsigned int count = 0;
% U& r, e- l# F2 w4 b
unsigned int flag = 0;
' t$ w* N0 c3 `& l# q9 z; G
4 p" P( E7 [: n) ~
if(numBytesToWrite < 0)
0 j( N/ l$ S2 @) q
{
, {2 u, R% {' r N3 _
flag = 1;
/ d- c: [' i! q, V
}
3 n1 x. L$ W D
7 E) p; @4 J- `0 ^
while('\0' != *pTxBuffer)
5 j0 ^ t! h# N7 @+ H
{
3 a4 h8 ]5 D, G+ d9 j
if('\n' == *pTxBuffer)
$ [: }) t4 h" b8 j2 g" G
{
6 @0 w8 O/ X8 l3 P) Q( `8 n
UARTCharPut(SOC_UART_2_REGS, '\r');
$ @9 e+ Z+ k! V" i7 k
UARTCharPut(SOC_UART_2_REGS, '\n');
3 L0 Q; M5 ]" z! A. T1 k# F
}
% D1 e' Y5 A, s- [; ~
else
! z, S% }" R! l, r
{
- c% Y; m6 z" q$ Z
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
! h- Z. e7 L* ?- a% z
}
+ V1 A2 x! _" `5 A( i
pTxBuffer++;
3 X. P; [& i5 H+ G- G! c$ t# A- A
count++;
& e3 U% T# [5 n; G
7 }% P7 N$ g3 j" i& v
if((0 == flag) && (count == numBytesToWrite))
4 `+ M* N4 i& g7 w$ {3 n
{
0 S5 Q9 s d' M, a2 X! a4 H
break;
3 V" I- H+ }/ F$ \
}
: p' a; a5 v% @& p) a0 I
, M, R" k$ J3 x
}
1 Q5 Q% w7 j5 ], G1 e
2 N) Y' N3 P- ^1 h9 L* t
return count;
- q6 J7 ]; T( E( N* y! b
}
l0 R$ U" e/ \6 `+ D
: x8 x9 }+ @0 O, H. o
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
. a% Q$ z& Z6 ~7 q- s, A
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4