嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
, j. d3 J& s a( O9 C& A
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
) |+ @) Y$ d# c; T d8 m6 S
! Q, H+ t$ E% g, ~3 V( `
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
9 z( w0 X3 \1 r2 Y: n3 [( e! T/ G& Q
{
/ h8 F- n. J x# L, V' }
unsigned int count = 0;
- J2 I" {/ w) F1 o2 X6 _9 a% n
unsigned int flag = 0;
% c9 Y J* s2 z4 x! x
9 J3 A' p# e( ]+ O
if(numBytesToWrite < 0)
8 Y2 V$ P! p* ?' `
{
# B2 P' r3 v1 `: q5 D2 ?
flag = 1;
2 N7 I* p$ E' ^% r' ]% T
}
% N+ f0 |) p, N3 r& i
' I, B/ e& P% V: ?; t
while('\0' != *pTxBuffer)
0 Y5 ]. U; q2 T
{
3 J) C0 X: c4 M7 S
if('\n' == *pTxBuffer)
) O4 Q2 |2 y/ ^0 n! |+ [3 Y
{
- |( z# U# U T7 [6 G/ i: Q
UARTCharPut(SOC_UART_2_REGS, '\r');
/ L3 W2 U5 f! z
UARTCharPut(SOC_UART_2_REGS, '\n');
+ k/ L( U) V3 s }+ x3 |$ R
}
: @$ a7 M$ d# q/ j& b& \
else
' |1 p' n; O6 r6 u0 F3 j& q' ?5 F
{
& Z R3 [- `% @
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
3 F8 U& j# E' M* t E! V1 n- v
}
5 n: }+ I+ j' X M" C8 y7 s
pTxBuffer++;
& A# \0 `( Z- p) I1 N e6 r: {* {; }$ L
count++;
3 u! x( m# }( k6 p' o
/ L' ~( k) `8 h
if((0 == flag) && (count == numBytesToWrite))
) t8 Z. d6 k3 w* \* h8 z
{
" J7 z+ V% s P& C2 M
break;
7 ^' ~- }6 p3 x4 Z, v
}
: d7 g1 X0 F3 A9 H" v: ~
' Z& g: f5 p; Q, j
}
5 _7 {- n2 @3 }
$ d% U- B0 y5 u' S/ T
return count;
8 u* e, s# i7 g6 N8 Z
}
3 `' _0 e$ r/ \0 m+ I
# o) n& i8 H+ {% B/ C( h2 ^ G
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
) }6 i* R! }* l- S
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4