嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
1 E: U; w1 `+ M, _+ S% G9 z
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
* {+ H1 T% n- ]( e' @
4 p' W; ?, Z7 s
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
# X3 d3 q% v3 l6 m% y
{
: |% u9 m' T& `6 m# x6 G
unsigned int count = 0;
) F! r7 K# S% a" O# c7 \% A
unsigned int flag = 0;
( Q9 u _9 ]0 r: b
# o1 H5 O+ [- \4 G4 l
if(numBytesToWrite < 0)
% T- K6 g2 t7 v0 G9 z2 w& E
{
9 J1 A% ], h7 e$ j2 y
flag = 1;
# Q7 |8 w; b; c* F6 _
}
2 e+ x. Y% F% R
. g: v# c$ `; Q
while('\0' != *pTxBuffer)
% S- i% |8 q4 Y* s
{
: m/ K7 J/ Q8 B; ~
if('\n' == *pTxBuffer)
/ P' a3 N% T! G
{
+ \+ V( n' q0 L
UARTCharPut(SOC_UART_2_REGS, '\r');
/ ]% f, j1 f4 p2 }) _+ K8 }
UARTCharPut(SOC_UART_2_REGS, '\n');
+ { Q: ^9 }" A) t& A; X; S
}
) ^# { X8 b" H5 l
else
y( ]. o4 G+ ?/ Q8 s$ z- P
{
& x, y( X7 j7 z' R
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
# {- W$ @5 r3 I. I
}
% h$ d- U& u# c- o% R
pTxBuffer++;
" T0 M+ n" V: N8 h' b7 f7 b9 w# M
count++;
( J- N& @' {* V5 ^+ T7 ]# |8 `$ g5 T
3 r9 N4 J9 [$ n2 q- L* z
if((0 == flag) && (count == numBytesToWrite))
; D1 D. J, f8 _6 X
{
# c! S3 X: R% S( ~# {- }6 T
break;
. ~ w V* V1 e/ z' C9 G1 ~3 g
}
. H }8 }# r4 [: [( G
/ z1 K0 g: x z' y
}
' }! h/ n$ ~" ?' r+ L
3 _$ @" P; `$ G* L2 w8 i! A# }
return count;
9 M5 d2 I& l" H% C: |7 d
}
: \" Z$ I* u9 n. q4 t/ v$ {
: L. i1 {: A8 B4 F9 j
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
) A* O! T5 o$ S' m s
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4