嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
: d0 R2 `! F/ B4 g
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
" }1 h# c- k' `+ D: ?( Z- F
9 _' P/ o. S- a* E; [
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
3 ~( v$ G i- N- M0 {4 X
{
' G4 g( Q6 s$ e0 l8 g
unsigned int count = 0;
. q% g* ^# K# Z4 n/ z, D5 G) j* ^
unsigned int flag = 0;
: {( d+ Z$ J9 @6 j# Z1 c
: Q9 y6 }3 M* y$ u7 m
if(numBytesToWrite < 0)
9 X+ H: Q& a3 u" ]& O. ?, N
{
* W: ?' r* u( o9 J0 N0 m' B3 x' {3 b
flag = 1;
5 N( R4 V7 ^% r% \: Q- }) s
}
/ { g7 D+ W7 S1 E" V0 e! K1 y2 y; m
' T* K: g: \( t, ?1 B" v5 G
while('\0' != *pTxBuffer)
- W, W7 ^; K+ ?( `; R; N, M) Z
{
5 [/ m8 Z4 O. H* [$ G4 [* B; s6 e& t! s
if('\n' == *pTxBuffer)
; ]- t9 |6 y" L9 _: k* u
{
& K' ~; ~8 [5 w5 X
UARTCharPut(SOC_UART_2_REGS, '\r');
# ?. U# m4 K, r1 w2 ^8 m0 G8 A4 A* F
UARTCharPut(SOC_UART_2_REGS, '\n');
( P c9 y5 M0 J: J D4 T( W7 f: \
}
3 `5 `1 t& T9 |3 @6 _( l, |" R' b* P
else
' Y. g$ A1 a! R
{
9 J) Z l# B9 s
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
" y7 U4 b: y2 m1 s8 u1 r
}
d# P* `6 ~" k r) S
pTxBuffer++;
$ Q$ `% u6 ?3 m3 C+ U
count++;
/ c: @) o3 P! J7 e
2 g, @' y/ J$ j# F" |# v& a! E9 u& @
if((0 == flag) && (count == numBytesToWrite))
" \, n# z1 W7 N1 Q9 B2 N9 d" ]$ T% Z: D
{
1 ]! i5 w' a7 J
break;
. r/ a* M" _* |8 }
}
$ n1 {, U) D- Y' b$ D
v/ h/ v% T$ U% U1 j3 w
}
9 A* Q0 H. s, d- T! o0 _
$ ^% k- j7 L6 s% }. k: J
return count;
& G+ I+ P: W$ ^- r& q
}
( b; b( P4 K& c |
. {; N) ?. _$ C' M( {# v
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
" W1 T+ |0 }6 j$ t- W& e
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4