使用PIC晶片與智慧型伺服馬達之通訊 |
缺席
|
yihong068
一般會員 發表:2 回覆:0 積分:0 註冊:2008-03-11 發送簡訊給我 |
各位先進大大你們好:
小弟最近正在學習使用AI Servo 想藉由PIC晶片(PIC16F877)的通訊埠對AI Servo下Command 這顆AI Servo的通訊介面是使用半雙工的方式 他的DataSheet有提供這樣的參考電路: 且AI Servo預設鮑率為1M BPS 參考了晶片的DataSheet後 我採用了16MHz的石英振盪器 且藉由程式將鮑率設定為1M BPS 測試程式如下(CCS C Compiler): [code cpp] #include <16f877.h> #use delay(clock=16000000) #fuses HS, NOWDT #use rs232(baud=1000000, bits=8, xmit=PIN_C6, rcv=PIN_C7) char LedOn [9]={0xff, 0xff, 0x03, 0x05, 0x03, 0x18 , 0x01, 0x01, 0xda}; char LedOff[9]={0xff, 0xff, 0x03, 0x04, 0x03, 0x19,0x00, 0x00, 0xdc}; void main() { int i=0; Set_tris_D(0x00); Output_D(0x01); for( ; ; ) { for(i=0; i<9; i ) { printf("%x",LedOn[i]); Delay_us(160); } Delay_ms(10); } } [/code] 並將晶片的RX/TX直接接至上面的參考電路 可是始終無法成功將Command 傳送到AI Servo 不知道有哪個環節我搞錯了?? 煩請各位 先進不吝指教 謝謝~~ ==================================================== 補充一下 在他的DataSheet上寫說上圖中的電路主要是將UART全雙工轉為半雙工 並輸出TTL的訊號 不知各位先進有沒有做過類似功能的電路 或者有可從軟體上著手的方案 謝謝~~ ==================================================== 問題補充(20080410) 重新再看了一次PIC16F877的DataSheet後 想說不知有什麼辦法可以測試鮑率在1Mbps下時 資料有沒有正確的傳送 謝謝~~ |
sansam
高階會員 發表:4 回覆:141 積分:164 註冊:2007-08-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |