嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
7 j; L* h0 w j7 `2 Z
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
& G, N- [+ T. _; S! L- J
2 K% |7 a- ^5 s# P y& b B/ m
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
: o0 i2 _# H3 S2 \1 K
{
5 A; Y+ p; F0 K' E0 `* Q9 d
unsigned int count = 0;
& X N: W: X6 X8 ]- b, `& `
unsigned int flag = 0;
- R0 u5 ~# c$ N* \- r" t7 {
! S5 \6 [0 P7 f4 W
if(numBytesToWrite < 0)
2 W5 T" u1 S4 T1 X8 Q
{
2 F9 ^ ~$ e k+ a8 Z8 c* ^. |! Q; q7 F, m
flag = 1;
+ g4 y) h$ w, O! ]0 T! Y6 @
}
' V# Q- J' ~- x/ D" y Z4 m
6 e' z/ h4 K3 T0 k `
while('\0' != *pTxBuffer)
% J. g" G8 ^% i v6 A, P% J
{
" e% G8 G1 c1 Y$ ?7 `2 U. x+ ~
if('\n' == *pTxBuffer)
" t3 _2 c4 R4 a0 F- \
{
$ b1 @* j9 P6 Q1 }7 Q$ a
UARTCharPut(SOC_UART_2_REGS, '\r');
/ |6 q' D9 v, E1 e1 q8 y* V
UARTCharPut(SOC_UART_2_REGS, '\n');
( `/ b5 [" L5 i A7 d
}
. i! F8 z3 {2 k, X' j {0 \* G8 k
else
; r- Z0 I- }7 V* R
{
! k9 G) J* a5 T: s, [* f
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
" U( k& D4 c7 w4 K+ {) p$ v
}
) w% J% O5 }: y1 O, }8 c9 g
pTxBuffer++;
/ a$ j* n- N+ E* y7 u4 c# B
count++;
4 }" q% G5 I+ j% U1 P
7 Y! E3 E& C- j3 T
if((0 == flag) && (count == numBytesToWrite))
* C, |6 S+ m2 P5 q4 O, D/ @
{
" a% P0 t b6 U2 Q u6 } T
break;
3 t0 y5 d( S0 |3 w" s, {3 y0 f
}
- }& i) I, [' X0 l5 \$ \) |/ }
5 m! x9 B/ Z3 ?7 [1 T
}
4 Y7 t! z5 \6 A
: z6 M8 B" @0 `7 ~% {
return count;
+ M, \2 c4 n0 d5 [' T8 n! ~+ k
}
* v4 \0 P& ?8 [* U) S( |. i
) ~ V1 z$ {7 K0 q+ R5 g4 @, _
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
$ \( |' N/ ^+ E' b$ F( |
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4