嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
. y6 w, N9 V- I
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
7 V6 {5 l$ B8 O& F+ o8 _: l; o
$ T# I! e) Y: L& k4 W4 _" e; E
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
& T' A! C7 x4 d; R5 R8 y7 K% j
{
/ Y- p8 W- I* l% A' S0 e5 k
unsigned int count = 0;
: x' G3 k0 w: o9 ]' L$ S7 G
unsigned int flag = 0;
! X. C8 v) s+ h, J7 L
+ |' P6 r& K; ?4 J
if(numBytesToWrite < 0)
; _3 N E U4 r3 z7 W0 B: ?4 c
{
* j' ]$ ~' I5 j" O
flag = 1;
! E/ @# m6 g0 V l
}
# ~3 S1 S8 O* d, Q9 L/ ]5 X5 ~4 [$ D
/ }* t. w6 T# K. P
while('\0' != *pTxBuffer)
4 Y/ l$ F( M6 ]1 Z5 _
{
`; U; p& q, s
if('\n' == *pTxBuffer)
6 E6 }1 ~2 P2 C% l6 y( Z# `
{
) A* K$ {" K! \4 r9 R
UARTCharPut(SOC_UART_2_REGS, '\r');
# y1 m$ C6 Y% V c
UARTCharPut(SOC_UART_2_REGS, '\n');
3 s% H: h+ f& R( m+ o; x
}
) ]. g, |- U* H2 B
else
. o; p/ J* b" b' g0 j! V
{
0 @& a" D# Z9 L$ R2 i7 h7 m
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
l7 ^5 d1 }5 a# b; X% x9 }" z
}
9 g) ~5 t" h2 T: y$ y3 |
pTxBuffer++;
" l6 {% S5 \& X4 G' s" x" k
count++;
, ]% M7 @: {4 [5 u1 j
# ]: [ b( |( O: P
if((0 == flag) && (count == numBytesToWrite))
9 l, S) L/ {' r& F
{
8 C2 ?7 ^ f6 ^, e% c! N& y
break;
$ V% ?; i0 e6 H0 D; ^4 d
}
& N% b6 H3 ^( c- L5 m. o' h/ z
( ^ D$ Y" e. z
}
4 ~% R) ^- ]0 ]* D
8 t" H L. s; v# p
return count;
1 w9 n- [9 p: k# b% C! ^ x
}
/ g; t, V5 @ `3 L l* P7 Z
( Y# y' h1 T& X) o* |
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
& k P% ~3 G# O' l/ [
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4