嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
5 m4 Z3 _, E+ b- J% t
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
" M( m2 ^" }( s, @8 C5 ]; i
* g0 y9 V0 t- e* S" e
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
0 M4 N# x @! Y- f6 b$ ]1 D' V* g
{
+ G+ g) r" H" C4 R* K s2 X
unsigned int count = 0;
+ A! M9 V: ~3 g: J7 N. u
unsigned int flag = 0;
, Y6 s! H, g, }: ]
% \2 C( T* I% P" N+ {% P
if(numBytesToWrite < 0)
0 w# Y9 |! y& r8 r- J5 W
{
5 z, ?% b" k5 A! a& s0 M: U! ~' W
flag = 1;
0 e' Z! @; d1 i: A+ ?# H
}
- V. E: ~' W2 [+ Y/ m
8 ~' X/ ]% [0 H4 i$ H& u# ]/ f* V
while('\0' != *pTxBuffer)
& ]( q. e9 t0 P
{
8 k) j' W+ H) c1 f* k* t) @6 l( r
if('\n' == *pTxBuffer)
?( A" X4 Y4 O% M3 h9 F
{
( Y: B+ B% Q' G6 B# I7 e
UARTCharPut(SOC_UART_2_REGS, '\r');
0 ~6 P/ u) P; V/ }9 z
UARTCharPut(SOC_UART_2_REGS, '\n');
) I! G- P. {7 y7 U! n; n- T7 J
}
$ U/ W% V# ~9 P! K; J' i
else
0 W: p% ?; G5 q7 R/ p
{
. ~0 M) S4 E; D
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
; v+ ?# |; k, D
}
% y4 G5 s4 h) p) Z/ Q
pTxBuffer++;
. i2 `3 G- w/ Q% k, I z
count++;
) V% U' h: }3 f! Y0 g9 J5 S/ q) L
8 F' M4 G7 t. b3 l/ \* B! j9 D
if((0 == flag) && (count == numBytesToWrite))
8 |( f- S! v* j3 K) x9 @8 X
{
( T5 M1 }: H, Y8 \
break;
1 y% A* I& ?. f) e0 O& e
}
% ?" g F+ H: {- }
. i+ E8 o: Y$ p( J7 p
}
0 `. c. v; Z+ z. K2 t" @0 g
' o8 Q% A- e- M- `! h
return count;
+ x4 _$ a& J, `; p0 \
}
& m p" w/ f7 N1 T# |' H; d
4 z, M& ^# |, z
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
. T; l+ N9 |9 {: b7 A; F1 C5 q. R9 p
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4