اطلاعیه

Collapse
No announcement yet.

ارتباط winavr با bascom

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

    ارتباط winavr با bascom

    سلام
    من میخوام چند تا متغییر رو از یه میکرو که با بسکام نوشته شده به یه میکرو دیگه که با winavr نوشته شده انتقال بدم.
    با پروتکل spi بیشتر از یه متغییر رو نتونستم انتقال بدم (تو دریافت چند متغییر با winavr مشکل دارم) تو پروتکل i2c هم وقتی از وقفه استفاده میکنم درست کار نمیکنه!!!
    دیگه نمیدونم چیکار کنم!؟
    حالا پیشنهادتون چیه؟؟
    نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

    #2
    پاسخ : ارتباط winavr با bascom

    سلام
    کسی نیست جواب ما رو بده :read:
    چطوری میتونم چندتا متغییر رو پشت سر هم با winavr تو پروتکل spi دریافت کنم؟؟؟
    حداقل یه منبع خوب معرفی کنید که خودم برم دنبالش
    نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

    دیدگاه


      #3
      پاسخ : ارتباط winavr با bascom

      من تاحالا spi و i2c کار نکردم. (البته تو یه پروژه ای که امروز شروع کردم باید از i2c استفاده کنم. اما معلوم نیست کی به اونجا برسم...)

      اگه کدهات رو بذاری شاید بتونیم اشکالش رو پیدا کنیم. اینطوری که کاری نمیشه کرد!
      کتابخونه های avrlib رو امتحان کردی؟ (برای spi و i2c)

      راستی چرا از usart استفاده نمیکنی؟

      https://www.linkedin.com/in/mohammadhosseini69

      http://zakhar.blog.ir

      دیدگاه


        #4
        پاسخ : ارتباط winavr با bascom

        سلام
        من از avrlib و avrWiz استفاده کردم ولی هر دوشون بیشتر از یک متغییر رو دریافت نمیکنن
        usart رو نمیدونم چطور میشه تو بسکام راه انداخت :redface: باشه یه امتحانی میکنم
        اینم برنامه ای که فقط یه متغییر رو تونستم باهاش دریافت کنم.

        کد:
        //               ****slave****
        // test for spi
        // mjs
        
        #include <avr/interrupt.h>
        #include <avr/io.h>
        #include <avr/delay.h>
        #include <inttypes.h>
        #include <avr/pgmspace.h>
        //#include "ks0108.c"
        //#include "arial_bold_14.h"
        //#include "SC.h"
        
        #include "maxlib/p_font_system.c"
        #include "maxlib/p_font_zar.c"
        #include "maxlib/p_font_zeylan.c"
        #include "maxlib/persian.h"
        
        #include "config.h"
        #include "spi.c"
        
        #define SPI_USEINT
        //*************************************
        
        void initial(void){
        	
        	glcdSetDir(DIR_RTL);
        	glcdInit(); 
        }
        
        //*************************************
        
        volatile unsigned char data;
        
        SIGNAL(SIG_SPI)
        {
        	data = SPDR;
        }
        
        //*****************************************
        
        int main (void)
        {
          int i;
          while(1)
          {
            DDRA = 0xff;
               
           
        
            if (data == 25)  PORTA = 0x01;      //LEDs an
            if (data == 52)  PORTA = 0x02;      //LEDs aus
        
            
            _delay_ms(700);
            initial();
            glcdClearScreen(); 
            SetFont(PF_Zeylan);
            flushBufferedNumbers();
            glcdSetAddress(0,0);
            gpprintf("%i:%i", data, data);
            flushBufferedNumbers();
        
            _delay_ms(700);
            
             
          }
          
          return 0;
        }
        نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

        دیدگاه

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