嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
6 ]1 q# M* v( U0 f4 U
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
7 E4 e4 ]9 K9 @; y7 Q0 x. C
$ b q" T; b3 T5 J) j( @9 S+ x8 k
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
) p, p$ e$ F/ F; ?" `0 t$ a
{
$ S: H2 Z" h3 d8 V
unsigned int count = 0;
& f$ B4 J! Z7 e/ K% y8 l
unsigned int flag = 0;
2 G5 n+ b, c8 c6 N4 f" Q; e# [
3 p$ y! i" x" R% \
if(numBytesToWrite < 0)
3 t( o) s% ]4 ~3 W9 z$ P- i
{
$ T( M5 Z" Y& Z
flag = 1;
$ T9 o2 t0 W) ?# _, ^$ Q
}
1 ]6 D# Z* |8 D
s3 H6 F, t: m! L! U Y, W
while('\0' != *pTxBuffer)
4 }! p( V* {: ]" B
{
3 I: Z- M3 v- g9 b+ z% A
if('\n' == *pTxBuffer)
5 a& @) P" Z& T' n. k/ S
{
5 O! C6 i% R/ }1 ^: @; G# `. i8 ^
UARTCharPut(SOC_UART_2_REGS, '\r');
6 U# D; R2 W) D r" Q
UARTCharPut(SOC_UART_2_REGS, '\n');
& q8 m- j) u- b' i X
}
- m) b+ ~0 S% \& ^' q# L4 j6 m
else
$ a+ @0 u" E# l0 K
{
5 b$ \# N6 p8 U) V/ g
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
6 E+ r/ |& O \2 z! }: C
}
/ X. G5 c( E5 s: J& ` z
pTxBuffer++;
' y' @1 [& G( A& A, M3 Y
count++;
' I9 ^9 X# l- F6 U1 a* p' ~
, L9 C8 }% A6 t: J9 d% D
if((0 == flag) && (count == numBytesToWrite))
) ~& B7 t7 N+ n( X! \* @! i: `
{
1 `, u) C( J0 D/ `9 {, |
break;
4 q0 R3 z" \1 @! ~' c( C! T7 [' j6 o
}
: {% d3 U$ D2 M$ N5 t! g, N
; o4 h6 |8 p; I
}
- B- Y; T+ a3 M) e- r
4 f8 e' G& M" ~) c3 s. \7 Q
return count;
; T9 S0 F! ]5 K1 B1 v
}
/ S0 K" A6 _: O3 t( i
+ m, h& b+ K& v
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
% B- t) t/ s2 ~
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4