嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
4 ~# _) [6 F( t( j
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
7 N7 l, G; e3 a5 \2 V, K
- g, ]* f& v3 B) T, U/ a
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
0 u. i* L: `# J+ b5 v, Z5 I
{
) R# S9 ?$ f% k8 }' M
unsigned int count = 0;
9 `- _' q0 K. U/ F: {1 p
unsigned int flag = 0;
( N" F- ^4 w* t2 x
- C$ R7 }! a/ X2 c
if(numBytesToWrite < 0)
/ b; V" `: ?4 j w( j5 q. h
{
1 c2 ~. \1 g0 r
flag = 1;
7 Y/ [& P# s9 g
}
' S2 h7 e# f0 R% T4 ?* W
# O8 T% a, @1 `5 h( F! f3 D
while('\0' != *pTxBuffer)
! @1 A- k! X! J) Y2 J4 \+ {$ L# ?
{
" L5 w* s! D! c- E; Q
if('\n' == *pTxBuffer)
; M( Q, J& Y8 F: h5 e0 v$ J
{
, y; {( ]; A( s, {: e) y
UARTCharPut(SOC_UART_2_REGS, '\r');
4 ~& V' L$ P' f$ |; B" d) ^+ {
UARTCharPut(SOC_UART_2_REGS, '\n');
8 `0 U9 w8 T) U/ T4 w
}
+ @% c: d+ Y W. ?4 d/ I* k% W( z
else
& V& j' j% N7 `0 n9 b
{
- P' _9 r; D- i
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
1 O; T: B0 {8 p+ X: B
}
' w6 H+ G6 W( G7 ?4 u% t
pTxBuffer++;
) s8 r" p' I0 \) ~4 \, F- ]+ a
count++;
* k% m5 Y" T7 q" q% F0 \
# ^9 T) T5 l0 j; R) Q
if((0 == flag) && (count == numBytesToWrite))
' Y0 ~$ [, X1 `, N, d# w
{
8 C% r8 q1 E5 T0 o; n; g7 J2 I
break;
. }! D; O" O& {) u% V
}
4 ?! M; C5 S/ m% H) t1 B' d
4 K+ A. |5 H" c' E8 Q$ u
}
7 V7 A7 h% r, U1 Q, J
1 r5 ]/ a7 {# ?! P o. s
return count;
7 c" h6 k/ K! |: p+ O+ `/ u
}
2 L) e; l6 D7 U8 A% P/ m( _
9 ?1 C& X" n/ N
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
1 s0 q5 V Y8 p6 Q6 {
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4