[轉錄](squall0734) Re: [問題] C++求救!不知道問題在哪裡!!

看板ASM (組合語言)作者 (阿菁)時間15年前 (2009/07/19 17:32), 編輯推噓4(407)
留言11則, 4人參與, 最新討論串1/1
※ [本文轉錄自 wayn12342000 信箱] 作者: wayn12342000 (阿菁) 標題: Re: [問題] C++求救!不知道問題在哪裡!! 時間: Sun Jul 19 17:29:01 2009 前文恕刪 : 1.訊號發送的週期 20ms : 2.可旋轉的角度 210 : 3.旋轉角度對應的PWM寬度 自定義的0.5ms~2.5ms 0度 ~180度 : 當訊號1變low時候,訊號2才為high : 訊號2為low時候,訊號3才可為high 我使用過同時調變 P1=11111111; delay(x); 也用過分步調變 P1=00000001; delay(x); ... ... P1=10000000; delay(x); 但用ASM時 不論是同時調變還是分步調變 使用狀況 完全正常 目前各種實驗結果 C語言同時調變 P1.0 P1.1 P1.2 P1.6 P1.7 有正常脈波訊號 其餘不正常 C語言分步調變 P1.0 P1.3 P1.6 P1.7 有正常脈波訊號 其餘不正常 ASM同時調變 P1完全正常 ASM分步調變 P1完全正常 目前想要問 是不是用c寫沒辦法解決這種輸出錯誤狀況 一定要用組語? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.126.120.102 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.126.120.102

07/19 18:11, , 1F
你要不要直接對PORT PIN做操作看看 sbit PS1=P1^0
07/19 18:11, 1F

07/19 18:12, , 2F
sbit PS1=P1^1; PS0=0; PS0=1; PS1=0;PS1=1;...
07/19 18:12, 2F

07/19 18:13, , 3F
另外,比例伺服機需要的是連續脈衝,兩者要交錯信號
07/19 18:13, 3F

07/19 18:15, , 4F
絕大部分ASM可以做的C一定可以,只是技巧有異
07/19 18:15, 4F

07/19 18:22, , 5F
port腳拉出來接邏輯分析儀對信號看看
07/19 18:22, 5F

07/19 18:47, , 6F
不正常的訊號都是無訊號狀態隨一點點雜訊
07/19 18:47, 6F

07/19 20:28, , 7F
我剛剛用V3去看PORT變化
07/19 20:28, 7F

07/19 20:30, , 8F
結果發現我整個笨 應該寫成P1=0x01而非P1=00000001
07/19 20:30, 8F

07/19 20:32, , 9F
這樣的錯誤導致只有1,4,7腳有變化 2,3,5,6,8沒反應
07/19 20:32, 9F

07/19 20:33, , 10F
明天機器人測試完畢發謝文XD感謝各位
07/19 20:33, 10F

07/19 21:48, , 11F
恭喜你找到問題點~~
07/19 21:48, 11F
文章代碼(AID): #1AOkWG_r (ASM)
文章代碼(AID): #1AOkWG_r (ASM)