|
這問題我最近正好碰上,真是巧呀 XD
我要用8051來控制pololu的smc04a的馬達控制器
他的命令形式同為
start byte=0X80 // device tybe= 0X00 // motor#and dlrection // motor speed
以下是我寫的example:
若我要使所有馬達前進,我要送出0x80 0x00 0x00 0x7F
unsigned int straight[]={0x80,0x00,0x00,07f};/*要丟的字串資料*/
int j;
/*這部分是開啟8051 uart的mode以及其他相關設定設定*/
SCON=0x50;
TMOD=0x20;
TH1=256-(28800/9600);
TR1=1;
for(j=0;j<4;j++){ /*慢慢丟資料到,一步一步來*/
SBUF=straight[ j ]; /*把資料依序放入傳出去的暫存器中*/
while(TI==0); /*等資料傳完後,才會繼續,不然就停在這迴圈,等資料傳完*/
TI=0; /*目前此筆資料傳成,可以換下一個byte了*/
}
希望能解答您的問題!也期待其他前輩的指正了!
[ 本帖最後由 rickchung 於 2007-8-4 21:41 編輯 ] |
|