嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
( X1 M* E6 g7 ]% }- m
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
/ J' t: B+ V# X3 K" S
6 q& e/ y) d0 L7 X$ J8 _
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
, X* Y" l6 g' Z( ]: r; U3 s
{
) w5 n( C; H6 T4 |9 f" T
unsigned int count = 0;
4 }4 \9 t0 V& S- u; Z
unsigned int flag = 0;
" y: l, i- F9 `, L6 O
2 ~1 E# z% Q* q. R# i& f; r1 d3 k
if(numBytesToWrite < 0)
- I+ k( z! m& I$ P
{
5 D6 p7 w e$ m7 z+ `
flag = 1;
3 P0 [* d$ ~9 Z
}
9 H0 e! e/ r0 p: {3 H0 t$ H
* }! e6 P8 b2 J! \
while('\0' != *pTxBuffer)
V6 m+ X& n. A
{
) Z4 q. Q2 t! S$ C) \9 i- f
if('\n' == *pTxBuffer)
0 H- F, ?1 y0 \+ b& r, x+ [0 |
{
3 M6 }3 C# \2 u- ^# W4 r
UARTCharPut(SOC_UART_2_REGS, '\r');
F I' M; N3 g4 i D _: ^
UARTCharPut(SOC_UART_2_REGS, '\n');
% B8 I* n. P( @
}
' y- N! {# E8 r9 i
else
; a4 i0 T7 ]' o5 J% h4 t: T
{
/ k) d. q, `4 `6 w5 E9 R0 T0 o
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
0 i7 p/ a3 i7 Z d! j4 u0 O
}
8 m7 p( c( H" c+ A
pTxBuffer++;
( {& U- ^% e7 f0 ~2 O3 `
count++;
- V. q; F m2 ]1 S
\% \) F/ a0 e7 z: R) ^# B, K
if((0 == flag) && (count == numBytesToWrite))
/ K3 g5 s; Q9 V" Y3 |! ]! Y4 [
{
; q8 O3 U) }/ x$ a6 z
break;
T: e) E7 \" M; |* \4 ?, z Y+ e
}
$ d& s* N+ S" P/ s' @
$ { L4 b' l _4 p
}
( K+ c& a J9 S* p6 o4 D
$ @+ P8 N$ F1 o8 w: ~. ^! \
return count;
* g; G5 g+ }& l2 w/ v
}
1 R0 i6 T r* W& _
& i9 A/ k& C8 `! ^" ^- V$ V2 ?% Y7 d
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
& `! D6 a2 L2 @! E1 k; J9 l$ Y
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4