嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
& Y3 y! U! w& d/ k
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
3 L; o7 `( T8 r: `6 Z
' S/ i) R2 n* G. |9 G
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
$ }: Z# G+ {7 }$ n# q
{
4 r% k! m) g# E% n, w* o0 s" d
unsigned int count = 0;
) A7 C5 K8 ?+ M) Y: c
unsigned int flag = 0;
" E1 P) [) ~& B3 Z3 r5 j
$ z0 X# ?1 i7 U: y! I* W7 @
if(numBytesToWrite < 0)
# ?" H5 b* c; J, Y! _9 t
{
. b/ _& p9 s2 [% w4 `& ~
flag = 1;
( r8 Q* _! j5 V
}
' U6 r$ v1 ?% S% `4 H2 o3 {( v: R
5 b: I% b2 ]* Y8 a; l
while('\0' != *pTxBuffer)
F2 ?/ E% y* O z
{
0 {6 \5 [- q/ \5 Z9 M3 ~1 K
if('\n' == *pTxBuffer)
5 o) k; c j% Z+ R5 A
{
- N" ~4 V. q4 e* `* G" s2 a
UARTCharPut(SOC_UART_2_REGS, '\r');
# W& B) ]+ I8 C2 @. ^
UARTCharPut(SOC_UART_2_REGS, '\n');
$ L% E' ^2 U- }5 v L0 w3 j
}
6 x L B) K8 ?; I; I$ A
else
. T% ^0 M$ d$ b# l. w. _
{
& z+ p0 X# w$ k; `! ^) ?. K) A6 R: u
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
1 n' Y: K' w. s5 H: w X# f
}
% K- x2 |! w. J2 J8 `
pTxBuffer++;
2 a* v/ M4 a! Q6 ^# L* h
count++;
$ | J; \0 i3 k8 `/ H
- {2 |: y$ w E" x
if((0 == flag) && (count == numBytesToWrite))
2 C c# r# T+ J
{
6 ?* d; _# h5 h1 e" x& Y. v- Z
break;
( _$ w3 h- w o# R: v
}
9 A5 ~; [# ?& N& ]$ C$ w4 P
+ g" o# J- T2 A
}
% u6 g& _" M6 ?
8 I; i1 Q! E$ I. C4 B" x
return count;
0 F" J" W( Q& R0 A# E! ^; a
}
2 y7 A7 h" Y( e8 T l1 w
K. K1 z9 b. i+ h/ s
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
1 E8 P1 J9 G1 t$ G9 P' a1 @
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4