作者wayn12342000 (阿菁)
標題[轉錄](squall0734) Re: [問題] C++求救!不知道問題在哪裡!!
時間Sun Jul 19 17:31:59 2009
※ [本文轉錄自 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
1F:推 WolfLord:你要不要直接對PORT PIN做操作看看 sbit PS1=P1^0 07/19 18:11
2F:→ WolfLord:sbit PS1=P1^1; PS0=0; PS0=1; PS1=0;PS1=1;... 07/19 18:12
3F:→ WolfLord:另外,比例伺服機需要的是連續脈衝,兩者要交錯信號 07/19 18:13
4F:推 WolfLord:絕大部分ASM可以做的C一定可以,只是技巧有異 07/19 18:15
5F:推 typeotoco:port腳拉出來接邏輯分析儀對信號看看 07/19 18:22
6F:→ wayn12342000:不正常的訊號都是無訊號狀態隨一點點雜訊 07/19 18:47
7F:→ wayn12342000:我剛剛用V3去看PORT變化 07/19 20:28
8F:→ wayn12342000:結果發現我整個笨 應該寫成P1=0x01而非P1=00000001 07/19 20:30
9F:→ wayn12342000:這樣的錯誤導致只有1,4,7腳有變化 2,3,5,6,8沒反應 07/19 20:32
10F:→ wayn12342000:明天機器人測試完畢發謝文XD感謝各位 07/19 20:33
11F:推 squall0734:恭喜你找到問題點~~ 07/19 21:48