嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
+ V5 s8 _& o" Z% ?8 i6 f, B
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
' N' f4 D- h' O; A
0 a4 C; F+ v5 H# | {) Q
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
i [* z; h2 `' X$ s" s
{
& b; i. l0 {. {7 ~7 A9 n/ B
unsigned int count = 0;
( N% l# q8 @2 o: c' k5 f% Q" n. u
unsigned int flag = 0;
$ Z% j/ K- N- S# d6 Z
& s2 O; ~ S7 a6 x: b
if(numBytesToWrite < 0)
k( q) U9 b$ a) t
{
6 \: ~$ Q( I& E# {+ M6 |
flag = 1;
0 L$ r' p: Z1 @- W) g5 Y/ ?
}
4 p) \ E: | a x; f: x1 y8 u
3 ~/ M' E# _, F9 j1 D
while('\0' != *pTxBuffer)
/ R* Y g9 A. M! `7 B8 R
{
) H5 d$ | k3 y O4 s
if('\n' == *pTxBuffer)
7 x2 L; \8 g+ A1 [& w1 Q
{
! O* W- K8 \! x& D
UARTCharPut(SOC_UART_2_REGS, '\r');
1 q4 k" {3 `$ t( }) B6 y
UARTCharPut(SOC_UART_2_REGS, '\n');
1 ~8 {' S# C1 {" p
}
% ]3 L/ _ K4 o$ ?* _
else
# X$ Q* R6 R4 D8 C
{
7 f, L7 B$ y1 T* g
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
. ~: f4 i4 Y* V& O, J Z" [
}
& Z5 C! b& n5 R5 j+ u
pTxBuffer++;
# v( b( b! A9 U* d
count++;
1 Z, | y' }4 g# q6 R6 I' e: \5 ~" Q
# U+ Q; @% a$ |% |
if((0 == flag) && (count == numBytesToWrite))
4 O b, W: P" h- s& L* O7 \
{
& P6 u. L! q- L4 A
break;
5 t: q- f' s7 M" B) Y
}
& z4 J6 j6 ~1 B& x: @% A
3 i3 v1 O5 a* |% o& u9 t) k/ i2 q
}
; C$ V) Q( E: p) H: p6 T
* W2 `" ?. _5 o$ U8 t
return count;
# v4 m p, j0 m5 B# E: _ T
}
; W6 a$ ]4 Z( G( X% ]* K5 e9 N
8 U. v5 c0 ^4 s
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
4 _" z$ w& B4 `4 F1 A+ f
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4