嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
k: g M, E. Q+ M/ J8 _9 A
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
# Y; g% L1 ]/ R/ r3 x" U' Y
8 o' e3 l3 k) B0 ~
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
5 ^' a# F- ~1 C1 Q
{
2 x" G* E6 F2 l1 f
unsigned int count = 0;
4 k, o, V2 J4 o; D6 x
unsigned int flag = 0;
9 S8 J* j( }3 F) g$ P
4 }$ r0 r% s6 V1 Z i. i \
if(numBytesToWrite < 0)
; z' @ O8 q: K9 ?, e, n) X
{
5 C! t+ @" A0 R
flag = 1;
' k8 k& @' n9 y; r, S/ v
}
7 K# o- @* }$ w: P4 \6 `9 ~. S
0 K* C0 e+ v1 j
while('\0' != *pTxBuffer)
& v8 `% K$ R1 W- g9 q& v+ H3 s. H- ~
{
' k% \, J- ^/ w: G0 {4 S" \
if('\n' == *pTxBuffer)
4 m; l3 V+ v! W3 U* Q
{
' C, E& m$ T1 J7 Y
UARTCharPut(SOC_UART_2_REGS, '\r');
1 s' T8 J: A' m9 a" p
UARTCharPut(SOC_UART_2_REGS, '\n');
6 W a( A) \$ B9 v/ J' B5 ?. u/ L
}
2 O: T6 ]8 D+ [4 {- T% c
else
8 ?& O* a" \6 o+ {% t, G
{
6 {& a/ [8 D; W$ u' j& ^% n3 |, C
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
1 w h2 v1 I5 U7 s m
}
, [" U& O# p! y5 l
pTxBuffer++;
+ d% N6 ^8 n" @! B7 R$ @7 G
count++;
, H# K: w$ b: d: k8 A0 @, T' Q
$ Y4 l- d" {- B5 g0 y3 t
if((0 == flag) && (count == numBytesToWrite))
1 t8 M- @, W2 ^8 M
{
& {1 U% Q" l5 F, c6 o
break;
( h5 `/ Q6 s* F: b2 }* t1 B, N
}
. q1 @3 n( q5 W& w
5 u, i& x( t+ `/ ?4 G: n
}
; D& ?3 A! Q9 x2 ?
p; H; k4 K& s3 |
return count;
' v3 B' _0 V9 j. _8 Q" _: Y
}
3 H7 J2 b' ~: f7 l) Z
9 H/ d' D4 t% k, i7 f! B
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
8 k: `) \8 Z* n! d5 |
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4