嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
0 I g9 w& d! W. y
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
3 L4 P' r( C1 S! D% g
2 h! ~* F7 A% t& I
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
( x# K/ K9 ^+ v
{
0 b+ l: {" Q' e
unsigned int count = 0;
7 W2 w7 t3 Q) _) A7 \
unsigned int flag = 0;
9 [( ]$ ?) J- k$ `+ N
2 E+ l" B* P( l o. f- i
if(numBytesToWrite < 0)
- B4 h" U( [% c6 n$ _7 E
{
, N# \; l5 r1 n0 T
flag = 1;
; ~! B7 c" ^) [( ?( M
}
+ S( z$ _1 {2 O. d3 ~
4 ]" q$ s _* c9 ?# B: Y" o
while('\0' != *pTxBuffer)
! r& ]' z2 d# h/ ^3 e0 t9 J0 Y
{
2 P7 q# D8 q9 r. i! m
if('\n' == *pTxBuffer)
- M6 F5 `3 c, G% H
{
: G* t j7 b1 x5 t
UARTCharPut(SOC_UART_2_REGS, '\r');
1 t! a$ a8 r# ~6 B
UARTCharPut(SOC_UART_2_REGS, '\n');
- c/ D1 f" d7 c# U
}
! `' Z/ R P. N j
else
7 Y/ p) {5 ]6 g, J/ E5 J) @3 V
{
# ^) h0 P [! N d- D# i- \8 _. ]
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
- \1 c1 d+ ?& [* C6 e
}
2 @# i: \ {, R ^+ E: y
pTxBuffer++;
" E. ]2 ^4 D/ Z: i* u2 D+ M! l
count++;
! P: U* {! _. u
' V4 I4 H; q9 C
if((0 == flag) && (count == numBytesToWrite))
" \* f! @6 T; O
{
$ f% l* B1 X/ L& F& M* a
break;
6 }3 G1 c. _* r6 V$ @+ }# P
}
; X3 s/ ]5 W/ v3 _; o @8 Z
6 `. p) w" [5 u
}
3 Z0 z$ e6 L* b( g( D4 o* d; J
" f/ L2 {- O( z. `- g6 b) c' l
return count;
5 X d, P3 i9 ?
}
2 ~' y' K' `: }8 B+ ?3 u3 R
! C6 }/ o% T" m1 L9 H
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
2 Z7 T$ V+ p' Y N
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4