ASM 板


LINE

看板 ASM  RSS
※ 引述《wayn12342000 (阿菁)》之銘言: : ※ [本文轉錄自 C_and_CPP 看板] : 作者: wayn12342000 (阿菁) 看板: C_and_CPP : 標題: [問題] C++求救!不知道問題在哪裡!! : 時間: Sat Jul 18 21:40:13 2009 : 目前正在進行專題, : 遇到一個很奇怪的問題, : 我描述一下情況: : 目前從學長那繼承一個由伺服馬達控制的機器人, : 原有的控制方式是組語, : 後來改用C控制, : 但發生副程式無法動作的情況, : 下面是控制方式 : 範例(組語): : 略... : mov r2,#50 ;給值50 : loop0: : mov p2,00000001;丟值進P2.0 控制motor1 : call delay15 ;延遲1.5ms(角度一) : mov p2,00000010;丟值進P2.1 控制motor2 同時將P2.0值=0 : call delay20 ;延遲2.0ms(角度二) : call delay200 ;延遲20ms (滿足週期 驅動馬達動作) : djnz r2,loop0 : 略... : 註:伺服馬達的控制是給予一小段特定時間脈波(1.5ms 2.0ms... : 並於滿足週期後向著目標角度進行一動(視馬達而定... : 給予足夠迴圈就可以移至正確角度位置(r2=50... : 簡單介紹後進入正題, : 目前寫出來的C是 : 略.... : void hd1( int );宣告各部位副程式 頭 : void lh2( int ); 手 : 略... : main() : { : int i; : for(i=0;i<50;i++) : { : hd1( 45 );要求移向的角度 : } : for(i=0;i<50;i++) : { : lh2( 45 ); : } : } : void hd1( int angle ) : { : p1=00000001; : angledelay( angle ); : } : void lh2( int angle ) : { : p1=00000010; : angledelay( angle ); : } : void angledelay( int angle ) : 略... : 問題開始!! : 在原先測試的時候發現robot像中風一樣一直抖...抖...抖... : 轉而用這個簡易程式測試 : 結果發現各種交叉測試 : 1.交換馬達 : 2.交換程式位置(考慮定義先後 : 3.改變輸出port點 : 都無法使lh2這個副程式正常動作 : 但hd1完全正常!!! : 但hd1完全正常!!! : 但hd1完全正常!!! : DEBUG到目前為止並無發現任何硬體上的錯誤以及軟體上直接的錯誤 : 是有什麼隱規則被忽略掉了嗎? : 這兩個副程式只差在一個叫hd1 一個叫lh2 : 但結果是天差地別 : 請問各位高手有什麼辦法嗎?? 再次說明問題點 目前有的東西:hd1副程式 lh2副程式 P1.0 P1.1 motor1 motor2 測試一: hd1=>P1=0000 0001 motor1接到P1.0 結果 會動 lh2=>P1=0000 0010 motor2接到P1.1 結果 不會動 測試二: hd1=>P1=0000 0001 motor2接到P1.0 結果 會動 lh2=>P1=0000 0010 motor1接到P1.1 結果 不會動 測試一及測試二證實了馬達沒有問題 測試三: hd1=>P1=0000 0010 motor1接到P1.1 結果 會動 lh2=>P1=0000 0001 motor2接到P1.0 結果 不會動 測試四: hd1=>P1=0000 0010 motor2接到P1.1 結果 會動 lh2=>P1=0000 0001 motor1接到P1.0 結果 不會動 測試三及測試四再次證實了馬達沒有問題 測試一及測試三證實了接點(P1.0 P1.1)都沒有問題 hd1 及 lh2 這兩個副程式差別在哪裡呢 答案是只有差在名稱不一樣而已 一樣的過程 一樣的宣告 只有不一樣的名字 我用的是keil C 寫的是C語言 跪求高手解答了!! --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.126.120.102
1F:推 typeotoco:那你幹嘛不把ASM包進來, 改一下PORT腳就好 07/18 22:53
2F:→ typeotoco:keil c 也是可以連ASM檔或是寫組語阿 07/18 22:54
3F:→ wayn12342000:上一屆的檔案是一個步驟一個步驟寫, 頗冗長,之後還要 07/18 22:57
4F:→ wayn12342000:加進無線傳輸以及數個感測器,所以才使用C ,不過謝謝 07/18 22:57
5F:推 WolfLord:我覺得是他的驅動方法有問題,SERVO不是這樣驅動的 XD 07/18 22:58
6F:→ wayn12342000:你,我會去試試看的,說不定單純用ASM控制機器人是最好 07/18 22:58
7F:→ wayn12342000:的方式. 謝謝 07/18 22:58
8F:→ WolfLord:你最好把馬達的資料好好研讀,仔細看前人的程式 07/18 22:59
9F:→ wayn12342000:可是上一屆的動做很順暢@@" 也是用同樣的方式驅動 07/18 22:59
10F:→ wayn12342000:PWM(脈波寬度調變)? 07/18 22:59
11F:→ wayn12342000:恩 我明天會好好努力 然後再來請教你 07/18 23:00
12F:推 utility:新手用c的話.最好先拿掉最佳化的設定..另外馬達除了接你的 07/18 23:22
13F:→ utility:程式輸出的地方..是不是也有接其它的東西.如電源等等. 07/18 23:23
14F:→ utility:看有沒有過電流或什麼保護..舉例而已. 07/18 23:24
15F:推 m490521:你使用的應該是伺服舵機吧? 模型用的那種 07/19 00:11
16F:→ m490521:波形我記得要同時驅動兩的話 不是這樣送的 07/19 00:12
17F:推 WolfLord:伺服舵機的話那波形可複雜了 XDDD 07/19 00:13
18F:推 m490521:嗯嗯 兩個以上如果要用程式延遲的方式 有點小麻煩 07/19 00:16
19F:→ m490521:通常是接到mcu的pwm腳 或是搭配計時器去弄 07/19 00:17
20F:→ m490521:如果轉的角度每次都是固定的話 也是可以寫死啦 XD~ 07/19 00:18
21F:推 WolfLord:也還好啦! 善用TIMER就OK了 ^^;; 07/19 00:56







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP