سلام.بنده قصد دارم srf08 رو راه بندازم و فاصله جسمی که مقابلشه رو تو ال سی دی نشون بدم .تو راه اندازیش مشکلی ندارم ولی عددی که نشون میده بی ربط و ثابته!برنامش رو میذارم در ضمن عددی که نشون میده756است:
i2c_start ();
i2c_write (226); //srf adress
i2c_write (0);
i2c_write (0x51); // unit=cm
i2c_stop ();
i2c_start ();
i2c_write (226); // srf adress
i2c_write (2); // data request
i2c_start ();
i2c_write (227); // srf adress +1
bit1=i2c_read (1); // high value data reg
bit2=i2c_read (0); // low value data reg
i2c_stop ();
ultra=bit1;
ultra=bit1*2+bit2;
sprintf(str,"%d",ultra);
lcd_puts(str);
lcd_clear();
به نظرتون چی کنم؟
i2c_start ();
i2c_write (226); //srf adress
i2c_write (0);
i2c_write (0x51); // unit=cm
i2c_stop ();
i2c_start ();
i2c_write (226); // srf adress
i2c_write (2); // data request
i2c_start ();
i2c_write (227); // srf adress +1
bit1=i2c_read (1); // high value data reg
bit2=i2c_read (0); // low value data reg
i2c_stop ();
ultra=bit1;
ultra=bit1*2+bit2;
sprintf(str,"%d",ultra);
lcd_puts(str);
lcd_clear();
به نظرتون چی کنم؟
دیدگاه