亚洲欧美日韩国产一区二区精品_亚洲国产精品一区二区动图_级婬片A片手机免费播放_亚洲国产成人Av毛片大全,男女爱爱好爽好疼视频免费,中文日韩AV在线,无码视频免费,欧美在线观看成人高清视频,在线播放免费人成毛片,成 人 网 站 在 线 视 频A片 ,亚洲AV成人精品一区二区三区

機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,,快速開始

搜索
12
返回列表 發(fā)新帖
打印 上一主題 下一主題

單片機C語言程序問題,,請教

[復(fù)制鏈接]
11#
 樓主| 發(fā)表于 2011-5-2 20:41:27 | 只看該作者
回復(fù) metalstorm 的帖子$ \% a: E& N! ^! u" a% S! l7 r3 s

; [5 u9 k2 n2 o0 D/ J! \4 ]' X# G額,不好意思,沒說清楚,在主函數(shù)中已經(jīng)給order1賦值1了
12#
 樓主| 發(fā)表于 2011-5-2 20:43:34 | 只看該作者
回復(fù) robi 的帖子5 o' ]  s7 ?: L: ]3 j

% V% H4 ^9 l& B, J4 j) ~+ m8 H額,,那個是switch函數(shù),,和pwm沒關(guān)系
13#
發(fā)表于 2011-5-2 20:52:18 | 只看該作者
回復(fù) 三月的暴風(fēng)雪 的帖子) A$ K1 k% K: W3 e9 s
2 E- [8 j6 q1 B
OOP編程思想一般都建議子函數(shù)使用參數(shù)傳遞機制。當(dāng)單步執(zhí)行到case12時,,能否通過編程軟件的調(diào)試功能查看timer()函數(shù)中的order1變量的實際值是多少,?最好在order++語句前增加一個輸出語句,將order1打印出來,,這個值才是千真萬確的判斷條件,。如果order1不等于1,能排除不少可能因素,。
" K, {( W' P% n! o, B6 A5 [8 m
14#
發(fā)表于 2011-5-2 21:01:06 | 只看該作者
回復(fù) 三月的暴風(fēng)雪 的帖子
( k7 a2 p# Z) ]( f/ C( x. {
/ f- Z. L% i1 a* U+ m4 S               嗯~看懂了~
15#
 樓主| 發(fā)表于 2011-5-2 21:41:59 | 只看該作者
回復(fù) metalstorm 的帖子
5 y& V, v* f  l3 G7 [; a  ?% b
/ m$ J% k2 _# W  ?嗯,,按您的方法調(diào)試了,在執(zhí)行order1++之前一直等于1,,直到執(zhí)行完order1++之后,,那個就是跳到TL0=-(3300-PWM_Value1[5])%256;    order1=0;+ u  {4 f; ]8 ]. U9 c

6 g0 f# t  o* ~TR1=0;7 y) u" `. v) N% A
4 T! v4 C5 h' F2 w) M
break;
7 L/ Y, A/ B$ s8 O/ y- K" m
! \$ J# ^9 t/ `3 B相當(dāng)郁悶& S& S5 y3 o6 p  l* E' V# f
16#
發(fā)表于 2011-5-2 22:11:59 | 只看該作者
不太明白,學(xué)習(xí)了,,
17#
發(fā)表于 2011-5-2 23:19:30 | 只看該作者
建議將timer()函數(shù)改寫為參數(shù)傳遞機制:
" |2 L  m9 m. w0 Q$ U- hint timer0(int par)  [2 P3 k3 \; w+ p3 t, N
{- `; R$ P: O1 N) R: ]
        switch(par), _( a* U; A# W5 m
{
6 q8 z  I  w1 Gcase 1:
: o: b! q& V2 `! ~: ~% P...* a; U+ [' K" r) r
...; ]( d7 l4 F, s# Z9 I/ ^
case 12:  
( h6 E$ Y* i, K& O$ x# b        PWM0_5=0 ;5 _) B# e$ C  X0 ]
        TH0=-(3300-PWM_Value1[5])/256;-
* U8 l- l9 \0 C8 L/ g- v        TL0=-(3300-PWM_Value1[5])%256;
9 _9 ?% z( H. [" l        order1=0;  //為什么要在這里清零,?建議刪除該行,改為在主函數(shù)中調(diào)用timer0()后,,判斷如果order1==13,,則=1。/ B! n! j" l6 J( p9 D7 g
        TR1=0;  //為什么要在這里清零,?建議刪除該行,,改為在主函數(shù)中調(diào)用timer0()后,,判斷如果order1==13,則清零,。$ q- w  E+ i! P3 }7 N
        break;;
) l7 l: P; t. T( p1 m}
& Y  x3 _5 p! Q6 i- Wreturn(par++); & E; H4 `: x! c& a" r$ |6 V3 e& F8 b
}# [! G& l; ^, u
/ \/ ?  ?: T6 z; ?: J  w
在主函數(shù)中調(diào)用timer0()的語句:
+ F3 ~' f! f  e# Aorder1=timer0(order1),;7 W# T' m+ z9 d' c
if(order1==13) {order1=1; TR1=0;}
0 _, E% p( I4 a( V/ u7 b( Q6 S" [

點評

Thank you very much!  發(fā)表于 2011-5-2 23:37
18#
發(fā)表于 2011-5-3 20:07:29 | 只看該作者
看了一下你的程序,,沒看明白要實現(xiàn)什么功能,,感覺有點亂,switch沒這么用的,。# `: I/ @# @9 H1 x2 T5 D6 B' B& P
按說跳轉(zhuǎn)沒問題,,如果出現(xiàn)異常,建議寫個測試函數(shù)test(),,本函數(shù)逐個顯示所有變量的當(dāng)前值,,test()加在每個break;之前。

點評

呵呵,,謝謝,,已經(jīng)可以了  發(fā)表于 2011-5-3 23:02
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機版|Archiver|機械社區(qū) ( 京ICP備10217105號-1,,京ICP證050210號,,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-2-21 04:16 , Processed in 0.053541 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表