嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
8 y# J8 G5 u0 \, g
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
9 \& i! z4 J8 O3 t/ K
[( V8 V& e1 H* k3 O( D) G" |
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
' ]. R% }4 X5 K; f5 Z
{
7 ?* U! V, Q- D1 T) J
unsigned int count = 0;
& f# H v2 j) z8 h7 T! C8 i
unsigned int flag = 0;
# {( D8 ~0 R E# {5 h1 g! f) U
2 ?9 b+ m2 W8 Z* A7 h6 z
if(numBytesToWrite < 0)
0 `+ |/ `: G; A6 {! v
{
- h7 ~$ u* u$ x7 x/ d
flag = 1;
}. ]4 I. c6 U: X: c9 r# c
}
( {, Y' _ }* R
% c/ H! K- }1 x. A2 Z
while('\0' != *pTxBuffer)
5 L& ]& }4 w+ }9 P: u2 ^
{
4 p3 P+ _, ^# @ c" i( O
if('\n' == *pTxBuffer)
# l, T u( v! j) s
{
' E& r( ?' l' O. g: e0 \
UARTCharPut(SOC_UART_2_REGS, '\r');
- A5 v5 a! ?9 N( Z( w; K; M
UARTCharPut(SOC_UART_2_REGS, '\n');
; g8 V4 x+ `$ }; k, F; ^: d! F
}
! D# i9 b+ V! r# i
else
+ A- C" ^. W( E/ X+ U. }
{
# |3 d/ |! Y" _0 p0 r; x F
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
4 ~2 s7 G0 G* D9 k: U |6 u" [
}
% R' p4 J7 `( w+ L$ t
pTxBuffer++;
% T$ G" n3 L4 P5 @& ]" s
count++;
' \6 w; E. g9 n, y+ M
' J8 O+ P) H2 [' S# B) p6 u
if((0 == flag) && (count == numBytesToWrite))
- M) U9 o, R: _! D7 l/ K! D
{
; m6 _: b7 p! d
break;
6 g, M! Y0 A7 Z' w" w# `' H
}
( z: h! f3 t! ]; t9 |" Q
6 }: c' t/ u. y4 j
}
! Z2 B. `8 R8 f, _/ V5 {! w% E' Q
! s; M4 B1 P+ j; }
return count;
1 X1 g8 a; u' R$ P0 t+ a; {& `
}
; a8 ~0 C" r- H+ m, n T
2 D' C0 F J, M% o s
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
; ?8 H I" @: K, M4 s0 @6 P
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4