嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
) J$ s7 U0 d' Y0 _% y: W9 X9 K
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
2 h ^" j/ F* l# ^$ A
* g- j1 O; q( S2 M
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
. _+ x7 E* t# k& z
{
3 T# G' p4 @. A) K5 x
unsigned int count = 0;
# Z# v( x2 |1 y! W2 T4 \! _
unsigned int flag = 0;
! f# L' ^, H* M) y$ _
3 @) q6 c v: `* {9 l0 Z
if(numBytesToWrite < 0)
6 F, O, r4 R( e4 U) {
{
1 Y7 _9 Z8 C# B5 h6 w, ^ l
flag = 1;
7 s7 S* v- {: L
}
$ g0 D! z3 i% t1 X
1 K J( _$ x9 G9 }" r& Z/ C0 \
while('\0' != *pTxBuffer)
2 s1 _4 @+ v$ q4 @& t
{
) a6 d+ x& G, u! {+ m! D
if('\n' == *pTxBuffer)
' G* X2 N) q9 x4 G/ L/ j; m
{
; q3 ^1 ~* Q$ ~/ g; ^- o B9 _
UARTCharPut(SOC_UART_2_REGS, '\r');
+ e6 B$ r/ ` b$ R3 A3 l S
UARTCharPut(SOC_UART_2_REGS, '\n');
4 V! c2 ?3 @8 r/ G( b
}
/ Q; d" d: N( [ p
else
: D4 r# B4 B, F9 n7 W
{
1 g- T+ T4 M- n2 x0 a
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
- M0 S& Z$ B! G& F. a( U9 A# V
}
* M' k, @. [+ O# I2 m1 ^" ^$ x
pTxBuffer++;
4 v W. f- f: J
count++;
: k0 A4 K+ s' ~5 _
?( {6 }9 A x; E- x
if((0 == flag) && (count == numBytesToWrite))
5 ^. g4 ?& n7 r- u
{
( W* Q* i9 w0 y, d. {( x9 |( `
break;
# {& [% `+ }* F& d
}
G7 {6 e1 Y) M0 U3 ]0 v2 F' ^% R
: Q( c) H+ {6 [* I2 b" ^5 b! Z
}
6 T1 |1 l9 ?/ Q* N. L
7 N0 p4 ^9 ^* Z+ h( F& \% N6 Q
return count;
' c7 F0 h) o% J& N5 t
}
8 E+ q( e- t" n9 N
* E$ X7 q& _1 m9 f7 `" D8 W
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
' z; a/ h4 v, C
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4