#include <12F675.h> #fuses INTRC_IO,NOWDT,NOPROTECT,NOMCLR,BROWNOUT #use delay(clock=4000000) #use rs232(baud=9600,xmit=PIN_A0,rcv=PIN_A3,parity=N,bits=8) /* (上の行の説明)GP0をシリアル通信の送信、GP3を受信に設定。 */ /* [255][ID][Length(4)][Command(2)][S-Number][S-Position][Speed] */ unsigned char mov_data[7] = {255, 3, 4, 2, 0, 127, 20}; int cnt; /* Function - send command for a servo */ void S_Move(unsigned char s_number, unsigned char s_position) { mov_data[4] = s_number; mov_data[5] = s_position; for(cnt = 0; cnt < 7; cnt++){ putc(mov_data[cnt]); } } /* main */ void main(void) { set_tris_a(0x00); /* IO setting(GP3 is always input)*/ delay_ms(1000); /* wait for RSC start up(important!) */ while(1){ /* main loop */ S_Move(0,127); /* position=127(center) */ delay_ms(1000); /* wait for a while */ S_Move(0,200); /* position=200 */ delay_ms(1000); /* wait for a while */ } }