嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
' o- Y5 w0 S0 U; A0 C
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
9 D. i% B" r$ L% g' x
- X# S. z$ K* k3 j
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
6 d1 n# D$ w% k0 K+ d3 l' v
{
2 t3 D2 N, b/ T
unsigned int count = 0;
' G, n/ M( A. ?
unsigned int flag = 0;
3 V; {5 B8 \7 p" n1 d% Q
5 s* f0 p+ w! w( P1 V. M& k# a& b
if(numBytesToWrite < 0)
/ l/ ~: F. K; ]1 K4 T, F+ Q! j/ N+ T
{
6 O5 U( K5 ?& u) n- Z
flag = 1;
# l2 w" t8 @! B
}
0 K4 V" ?- D9 m7 }% l
+ @3 i/ o& k9 R
while('\0' != *pTxBuffer)
+ G* s6 t) l1 y" J
{
+ A# e l; I2 _- m1 f) o
if('\n' == *pTxBuffer)
$ i: S$ K# t( F, Q
{
2 b% ?# A1 I6 h8 g6 X& V2 C
UARTCharPut(SOC_UART_2_REGS, '\r');
: j5 T0 x! _. E% J* B* V
UARTCharPut(SOC_UART_2_REGS, '\n');
. c/ z. m1 t, T, H* _$ k
}
5 n; ?' R; E" c) l; B' s5 n
else
; \7 c: R$ X6 Q
{
, n5 O1 Z t& m" o. ?: I
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
4 c3 G* o. ^0 K V" t
}
+ w( K: X) t, G
pTxBuffer++;
1 ?% d0 Q* C0 l; K) {. P! l, E
count++;
. ]3 d/ u- z1 h* \4 o# R W# i% U
" h; Z; ]+ R8 O7 A, O$ J
if((0 == flag) && (count == numBytesToWrite))
3 m( \. I% O7 I: |( y
{
5 q1 Y3 ^' b7 V% e
break;
1 m& q- K$ S D: B W' h( J
}
: _: R" N% v) P* ^: c4 S% h# u
f/ R' O& G+ L4 D/ H2 T
}
# v8 i5 @. c9 L1 b! O
4 j* i" }! c/ G
return count;
3 v7 b @4 H# x4 {+ X/ R7 l9 P
}
# q: o& Z+ D& B' y
! }" ]; r1 K1 j
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
: u; {; B9 m( u5 U! V
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4