اطلاعیه

Collapse
No announcement yet.

مشکل با SRF08

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با SRF08

    سلام اقا من با SRF08 مشکل دارم .حتتی عدد 0 هم نمی گیرم .این هم کدمه .لطفا کمک کنین .
    کد:
    char data1;
    void read_srf08(char srf08_address,char srf08_bus_address)
    {  
       char data;
       i2c_start();
       i2c_write(srf08_address);
       i2c_write(srf08_bus_address);
       i2c_start();
       i2c_write(srf08_address|1);
       data=i2c_read(0);
       i2c_stop();
       return data;
       
    }
    void write_srf08(char srf08_address,char srf08_bus_address,char value)
    {  
       i2c_start();
       i2c_write(srf08_address);
       i2c_write(srf08_bus_address);
       i2c_write(value);
       i2c_stop();
       
    }
    این هم با TWI
    کد:
    void srf08_write(char address,char reg_address,char data)
    {
    	TWCR=0XA4;
    	while (!(TWCR & 0x80));
    	TWDR=address;
    	TWCR=0X84;
    	while (!(TWCR & 0x80));
    	TWDR=reg_address;
    	TWCR=0X84;
    	while(!(TWCR & 0x80));
    	TWDR=data;
    	TWCR=0x84;
    	while(!(TWCR & 0x80));	
    	TWCR=0x94;
    }
    int srf08_read(int address,int reg_address)
    {	
    	int data=2;
    	TWCR=0XA4;
    	while(!(TWCR & 0x80));
    	TWDR=address;
    	TWCR=0x84;
    	while(!(TWCR & 0x80));
    	TWDR=reg_address;
    	TWCR=0x84;
    	while(!(TWCR & 0x80));
    	TWCR=0xA4;
    	while(!(TWCR & 0x80));
    	TWDR=address+1;
    	TWCR=0xC4;
    	while(!(TWCR & 0x80));
    	data=TWDR;
    	TWCR=0x94;
    	return data;
    	
    	
    	
    
    }

    #2
    پاسخ : مشکل با SRF08

    جهت اطلاع کتاب 11 پروژه پروژه رو به صورت عملی و به همراه سورس بسکام و کدویژن داره

    دیدگاه


      #3
      پاسخ : مشکل با SRF08

      نوشته اصلی توسط Rezash86
      جهت اطلاع کتاب 11 پروژه پروژه رو به صورت عملی و به همراه سورس بسکام و کدویژن دار :cry2:ه
      اقا من این کتاب رو ندارم میشه یه راهنمایی بکنن اساتیدسه چار رو زه الافشم خواهش میکنننم :angry:

      دیدگاه


        #4
        پاسخ : مشکل با SRF08

        سلام این برنامه 100% جواب میده فقط چند نکته :
        1. ID را درست بنویس .
        2. مقاومت پول پ هم بگذار .

        [code=c]
        unsigned char distanceLowByte=0,distanceHighByte=0;
        unsigned char out_read_rej;

        i2c_start();
        i2c_write(ID_SRF08);
        i2c_write(0x00);
        i2c_write(0x51);
        i2c_stop();

        _delay_ms(100);

        i2c_start();
        i2c_write(ID_SRF08);
        i2c_write(0x02);
        i2c_rep_start(ID_SRF08+1);
        distanceLowByte=i2c_read(0);
        i2c_stop();

        i2c_start();
        i2c_write(ID_SRF08);
        i2c_write(0x03);
        i2c_rep_start(ID_SRF08+1);
        distanceHighByte=i2c_read(0);
        i2c_stop();
        out_read_rej=(distanceHighByte<<8)+distanceL owByte;
        [/code]
        باد می وزد ...
        میتوانی در مقابلش هم دیوار بسازی ، هم آسیاب بادی
        تصمیم با تو است ...

        دیدگاه


          #5
          پاسخ : مشکل با SRF08

          نوشته اصلی توسط ATROBOT
          سلام این برنامه 100% جواب میده فقط چند نکته :
          1. ID را درست بنویس .
          2. مقاومت پول پ هم بگذار .

          [code=c]
          unsigned char distanceLowByte=0,distanceHighByte=0;
          unsigned char out_read_rej;

          i2c_start();
          i2c_write(ID_SRF08);
          i2c_write(0x00);
          i2c_write(0x51);
          i2c_stop();

          _delay_ms(100);

          i2c_start();
          i2c_write(ID_SRF08);
          i2c_write(0x02);
          i2c_rep_start(ID_SRF08+1);
          distanceLowByte=i2c_read(0);
          i2c_stop();

          i2c_start();
          i2c_write(ID_SRF08);
          i2c_write(0x03);
          i2c_rep_start(ID_SRF08+1);
          distanceHighByte=i2c_read(0);
          i2c_stop();
          out_read_rej=(distanceHighByte<<8)+distanceL owByte;
          [/code]
          ممنون .
          با این که میدونم ج نمی ده ولی شنبه امتحان میکنم .باز هم ممنون که وقت گذاشتین ویه نکته ی دیگه ...باز هم ممنون

          دیدگاه


            #6
            پاسخ : مشکل با SRF08

            سلام جواب گرفتی ؟
            باد می وزد ...
            میتوانی در مقابلش هم دیوار بسازی ، هم آسیاب بادی
            تصمیم با تو است ...

            دیدگاه


              #7
              پاسخ : مشکل با SRF08

              نوشته اصلی توسط ATROBOT
              سلام جواب گرفتی ؟
              دادا ممنون ولی ج نمی ده به من srf اگه ممکنه مشکل تابعه خودمو بزرسی کنین . یه امتحان بکنین ممنون خیلی ضروریه :cry:

              دیدگاه


                #8
                پاسخ : مشکل با SRF08

                نوشته اصلی توسط bigest
                کد:
                char data1;
                void read_srf08(char srf08_address,char srf08_bus_address)
                {  
                   char data;
                   i2c_start();
                   i2c_write(srf08_address);
                   i2c_write(srf08_bus_address); 
                i2c_stop();
                   i2c_start();
                   i2c_write(srf08_address|1);
                   data=i2c_read(0);
                   i2c_stop();
                   return data;
                   
                }
                void write_srf08(char srf08_address,char srf08_bus_address,char value)
                {  
                   i2c_start();
                   i2c_write(srf08_address);
                   i2c_write(srf08_bus_address);
                   i2c_write(value);
                   i2c_stop();
                اینو ی تست بزن

                دیدگاه


                  #9
                  پاسخ : مشکل با SRF08

                  نوشته اصلی توسط h.torabi
                  اینو ی تست بزن
                  ممنون از ایتکه وققت گذاشتتی و جواب دادی ولی مشکل من اینه که تو قسمت i2c_write از تابع write گیر میکنه

                  دیدگاه


                    #10
                    پاسخ : مشکل با SRF08

                    نوشته اصلی توسط bigest
                    ممنون از ایتکه وققت گذاشتتی و جواب دادی ولی مشکل من اینه که تو قسمت i2c_write از تابع write گیر میکنه
                    بجای char از int استفاده کن ببین جواب میده؟؟

                    دیدگاه


                      #11
                      پاسخ : مشکل با SRF08

                      برنامه ای که دادم 100 درصد درست است مدار یا ماژول شما مشکلی دارد .
                      باد می وزد ...
                      میتوانی در مقابلش هم دیوار بسازی ، هم آسیاب بادی
                      تصمیم با تو است ...

                      دیدگاه


                        #12
                        پاسخ : مشکل با SRF08

                        نوشته اصلی توسط ATROBOT
                        برنامه ای که دادم 100 درصد درست است مدار یا ماژول شما مشکلی دارد .
                        دادا من برنامه رو تو کدویژن مینویسم برانامه شما واسه کجاست؟

                        دیدگاه


                          #13
                          پاسخ : مشکل با SRF08

                          مال من هم مال کدویژن هست .
                          وقتی از برنامه استفاده می کنید SRF08 چراغ آن چشمک می زند ؟
                          باد می وزد ...
                          میتوانی در مقابلش هم دیوار بسازی ، هم آسیاب بادی
                          تصمیم با تو است ...

                          دیدگاه


                            #14
                            پاسخ : مشکل با SRF08

                            نوشته اصلی توسط ATROBOT
                            مال من هم مال کدویژن هست .
                            وقتی از برنامه استفاده می کنید SRF08 چراغ آن چشمک می زند ؟
                            نه داداش چشمک نمیزنه

                            دیدگاه


                              #15
                              پاسخ : مشکل با SRF08

                              بچه ها مشکل حل شد .نشکل از یه جایه دیگه بود ینی از فراخوانی تابلپع بود من بجای اینکه یه مقدلری رو ب رجیستر فرمان بدم یه جای دیگه میریختمش :applause: :wow:

                              دیدگاه

                              لطفا صبر کنید...
                              X