嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
0 N F9 b; H- E! w0 l' a. R3 t
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
. c2 \7 W0 H( J% j, j2 C
$ k) @ ` _: O3 g* s4 j& D
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
& j9 I4 T( Z; W8 }
{
" Q2 h1 u3 Z8 V( f3 v! y. O
unsigned int count = 0;
5 Z% A; r; s% r; i* C" A* n
unsigned int flag = 0;
$ ^' v2 S4 b) R, k
* g; X) f% S' F/ f& w9 Z) N- Q
if(numBytesToWrite < 0)
4 q) a* i) L0 M1 ?8 s
{
; z/ d9 A, o$ Z* E6 M9 j. |; F
flag = 1;
9 G* u9 V& `5 f+ R
}
* b; R4 M4 W7 G" S, i$ _- O
. w7 M: e* w% S2 ^$ k
while('\0' != *pTxBuffer)
; b* i0 T- X$ }3 ]7 [( R u
{
1 p3 k2 E' |, g0 Q w4 r$ p( w
if('\n' == *pTxBuffer)
3 r) z7 n5 L8 K+ U
{
& l) }. I- b3 s
UARTCharPut(SOC_UART_2_REGS, '\r');
" k- {- H# o5 c y( E% c1 m$ D
UARTCharPut(SOC_UART_2_REGS, '\n');
0 s" @6 W6 J) U/ x
}
# F6 q W& k7 w3 K8 Z
else
) v. f3 G; o$ A$ w- x+ T
{
" O* ~0 L o8 r- s2 R( W" z. q
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
s. M8 |7 ?$ {( O
}
& y5 S1 n6 |$ Z4 V9 h/ `+ o% x
pTxBuffer++;
0 c: x) r# a2 G
count++;
+ p3 ]; M, W0 J8 ^0 ^4 m
* B8 v2 P; k+ i8 p* ~' }# c- v
if((0 == flag) && (count == numBytesToWrite))
* v$ [4 n* H: Z
{
3 }( F- G v. k6 W1 I+ D
break;
, ` B) ?1 M7 f
}
( G, A& H9 o u7 |7 }- i, l
5 \/ h$ s0 R; i& d& K
}
! Y6 }! x% ?$ O( Q4 u
9 S: P: n+ Y K
return count;
3 l* z: R* j: |* v* X% o
}
0 M5 T8 u/ X* u& A( ?
8 x7 D8 c1 S0 A8 a" Y4 @" d
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
5 W: c3 q9 B3 ?
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4