嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
- V7 s" W/ r/ g
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
: q7 J/ a+ \. y3 K
+ \# C: l( k8 {" p6 e$ z8 @
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
; M8 q1 l4 D& R: {7 M/ W5 T9 J- K$ j
{
6 A# b' [& U! O- b
unsigned int count = 0;
+ l0 c! M( Q2 h( n2 i5 d5 o: e
unsigned int flag = 0;
" }& l) K" ~/ M+ e/ y9 \0 P
- O4 n% f' |4 }4 d8 d
if(numBytesToWrite < 0)
- w6 A. b- J! b6 j& ~
{
' z5 C+ @: m7 g# m7 D- T/ d: U0 f+ K0 L
flag = 1;
4 Q6 G. c# I0 P% W* z
}
8 B0 h9 }# y/ R5 _
: ]$ t0 z" Y S* U4 ~3 N
while('\0' != *pTxBuffer)
# P7 h# f# ~" m* y' u9 L& Y, G
{
/ l8 G) w. _6 I5 j: P8 _
if('\n' == *pTxBuffer)
: \; \5 v1 A, a: N
{
' |! E1 K2 f+ n
UARTCharPut(SOC_UART_2_REGS, '\r');
; k$ Y1 Y7 F% t4 h' @. P' S5 S
UARTCharPut(SOC_UART_2_REGS, '\n');
7 U3 C0 z5 U$ _$ g. v1 y
}
: C) r$ K% t: q' [1 B! n2 H9 Z
else
5 _, `8 n0 a- x# l( r
{
! S0 O6 R& a2 j/ {3 ^3 J
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
I2 s( g: @; A6 N, Z# D4 X( J
}
3 ]' K( Q% V6 Y
pTxBuffer++;
4 { S0 N2 e4 k8 K5 u6 `
count++;
, C) A- Z* h, q
C! Z p2 S1 o- @. B9 S7 q: c \% M$ v
if((0 == flag) && (count == numBytesToWrite))
0 m, e( W& [, f$ b# z
{
: e* |* F6 Q; A
break;
4 i# k: T: E8 v5 \ r3 F; @
}
. E8 R& o8 p* D* }3 p2 I* w5 ]8 r- T! `
& l' }! n/ ~6 q2 [, r. w( w
}
& R) [, o' f( c' `' c0 B3 l
3 S' j0 c7 x+ P/ U
return count;
8 E- H! {* k& j/ J9 d# W5 f
}
7 x! D/ P" ]) U0 I! u
' ^, S [. L e4 b+ I$ y
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
# d' F) m1 _, V4 E. G; S. @; l
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4