![]() |
![]() |
#2 |
Đệ tử 3 túi
Tham gia ngày: Dec 2007
Bài gửi: 51
: |
Đây là phần code của mình. Mình dùng ccs c.
Ham truyen cua Master Code:
void transmit_1(int adress,int type,int type1,int16 data) { char s[9],s1[5],s2[3]; int i,dodaichuoi; itoa(adress,10,s2);s[0]=s2[0];//adress la dia chi slave itoa(type,10,s2);s[1]=s2[0]; itoa(type1,10,s2);s[2]=s2[0]; if (type==0) { s[3]='@'; s[4]=null; } if (type==1) { itoa(data,10,s1); dodaichuoi=strlen(s1); for(i=0;i<dodaichuoi;i++) s[i+3]=s1[i]; s[dodaichuoi+3]='@'; s[dodaichuoi+4]=null; } printf("%s",s); delay_ms(20); if ((type==0)&((type1==1)||(type1==0))) output_low(pin_c0); } Code:
#INT_RDA RECEIVER() { char kt; int i,j,dodaichuoi; char s[9]; char s1[5]; int16 tg; j=0; kt=fgetc(PC); s[i]=kt; if (s[i]=='@') { s[i]=null; dodaichuoi=strlen(s); lcd_display_str(0,0,s);//hien thi chuoi nhan dc lcd_display_int8(0,10,dodaichuoi);// hien thi do dai if (s[0]=='2') receiver_2(s); for (j=0;j<9;j++) s[j]=null; i=0; } else i=i+1; } Code:
void receiver_2(char s[]) { char s1[5]; int i,j; int16 tg; strlen(s); for (i==0;i<(strlen(s)-3);i++) s1[i]=s[i+3]; tg=atol(s1); if (s[1]=='0') { if (s[2]=='0') { output_high(pin_c0); delay_ms(5); transmit_2(1,1,status0,khoiluong0);//tra ve Master } if (s[2]=='1') { output_high(pin_c0); delay_ms(5); transmit_2(1,0,0,adc0);// tra ve Master } if (s[2]=='2') { ver=1; } if (s[2]=='3') { ver=0; } } if (s[1]=='1') { if (s[2]=='0') { rnominal0=tg; write_rom_16bit(0,rnominal0); } if (s[2]=='1') { rempty0=tg; write_rom_16bit(4,rempty0); } if (s[2]=='2') { rtoleran0=tg; write_rom_16bit(8,rtoleran0); } if (s[2]=='3') { rpausetime0=tg; write_rom_16bit(12,rpausetime0); } if (s[2]=='4') { rk0=tg; write_rom_16bit(32,rk0); } if (s[2]=='5') { zero0=tg; write_rom_16bit(36,zero0); } if (s[2]=='6') { rtr1=tg; write_rom_16bit(44,rtr1); } if (s[2]=='7') { rtr2=tg; write_rom_16bit(48,rtr2); } if (s[2]=='8') { rtr3=tg; write_rom_16bit(52,rtr3); } if (s[2]=='9') { rtr4=tg; write_rom_16bit(56,rtr4); } } } Code:
void transmit_2(int adress,int type,int type1,int16 data) { char s[8],s1[5],s2[2]; int i,dodaichuoi; itoa(adress,10,s2);s[0]=s2[0]; itoa(type,10,s2);s[1]=s2[0]; itoa(type1,10,s2);s[2]=s2[0]; itoa(data,10,s1); dodaichuoi=strlen(s1); for(i=0;i<dodaichuoi;i++) s[i+3]=s1[i]; s[dodaichuoi+3]='@'; s[dodaichuoi+4]=null; printf("%s",s); delay_ms(50); output_low(pin_c0); } thay đổi nội dung bởi: bean984, 22-05-2008 lúc 04:20 PM. |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|