Help me in the FBUS protocol
First I installed the Bonrix softwares in the system.
I transmitted a message by connecting the nokia3310 mobile to the system.
while transmitting the msg i monitored the data frame from the system to the mobile by using the Bonrix software.
I used the same frame. in my controller.
Thanks and regardsgiri
Glad it worked in the end
Have you worked out where you\we went wrong ?
The Frame is not yet analysed, I will analyse as soon as possible and I will post a detailed description on it.
Thanks and Regards
I would like to know whether the same fbus protocol (in embeddtronics.com ) can be used for nokia 1100 ???
nokia 1100 follows a different frame structure, so you cannot use nokia 3310 protocol.
#include <AT89X52.h> // void set_baud(){ TI=0; SCON=0x50; T2CON=0x34; RCAP2H=0x0FF; RCAP2L=0x0FD; TR2=1; } void serial_send(unsigned char a){ TI=0; SBUF=a; while(TI==0); TI=0; } void delay(){ unsigned char xa; for(xa=0;xa<400;xa++);} void req_firmware(){ unsigned char ii; code unsigned char cmd_frm[16]={0x1E, 0x00, 0x0C, 0xD1, 0x00, 0x07, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x60, 0x00, 0x72, 0xD5}; for(ii=0;ii<=15;ii++) { serial_send(cmd_frm[ii]); } } void send_confirmation(){ unsigned char iiii; code unsigned char cmd_confirm[]={0x1E, 0x00, 0x0C, 0x7F, 0x00, 0x02, 0xD2, 0x01, 0xC0, 0x7C}; for(iiii=0;iiii<10;iiii++) { serial_send(cmd_confirm[iiii]); } } void synch(){ unsigned char i2; for(i2=0;i2<128;i2++) serial_send(0x55); } code unsigned char test[]={0x1E, 0x0C, 0x00, 0x7F, 0x00, 0x02, 0xD1, 0x00, 0xCF, 0x71}; unsigned char buffer[50]; unsigned char i; bit rcv_flag=0; bit match=1; void serial0() interrupt 4 { if(RI==1){ P0=0x01; if(rcv_flag==0) i=0; buffer[i]=SBUF; i++; rcv_flag=1; RI=0; } else{ TI=0;} } void main(){ //unsigned char j; unsigned char ca; P0=0xFF; set_baud(); synch(); IE=0x90; do{ req_firmware(); //delay(); } while(!rcv_flag); IE=0x00; P0=0x02; for(ca=0;ca<10;ca++) if(buffer[ca]!=test[ca]) match=0; if(match) P0=0xE7; send_confirmation(); while(1); }
This is my code for requesting firmware out of a nokia phone, now i implemented a similar code in visual C++ and works fine with my phone but with MCU and phone connection, i connected DTR to pin 2 and RTS to pin 6 of MAX 232 , and the rest RXD TXD GND accordingly, but wont work, i also connected DTR RTS from PC (while setting DTR high RTS low) into the circuit( just to provide the voltages to power up the datacable's circuitry) but wont work, i recieve nothing, my code works fine when connected mcu with pc, in Real Term or Hercules etc but wouldnt work with phone, is it a hardware problem??? my MCU circuit and Serial circuitry is working fine ... i've used both my breadboarded ckt and also the 8051 trainer i have, no hope, any help would be much appreciated!
[ Edited Mon Jan 26 2009, 05:42 pm ]
connect the DTR pin to a +3 to 12 Volt supply and RTS to a -3 to -12Volt supply. The easy way to achieve this is by using a Max232 or similar transceiver for the RS232 TX and RX pins and then connecting the DTR pin on the serial cable to the V+ pin on the Max232. Do the same for the RTS, however connect it to the V- pin on the Max232. The V+ and V- pins are derived from internal charge pumps that double the input voltage. ie. for a 5V Max232, the V+ will +10V and the V- will be -10V. I hope this clears up this issue for most people!