اطلاعیه

Collapse
No announcement yet.

راهنمایی در مورد برنامه مدباس با RS458

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

    راهنمایی در مورد برنامه مدباس با RS458

    سلام دوستان من مدباس و rs4585 رو میدونم چیه و باهاش کار کردم .اما واسه تجربه و ازمایش میخوام با AVR یه برنامه مدباس بنویسم و این ارتباط رو پیاده کنم . لطف راهمایی کنید یا اگه سورس دارید خواهشا بذارید تا همه استفاده کنند و دعاشون پشت سرتون باشه.مرسی

    #2
    پاسخ : راهنمایی در مورد برنامه مدباس با RS458

    واقعا کسی نیست کمک کنه!!؟؟
    لطفـــــــــــــــــــــا

    دیدگاه


      #3
      پاسخ : راهنمایی در مورد برنامه مدباس با RS458

      با سلام
      خب دوست عزیر شکر خدا شما هم با rs485 اشنایید هم مدباس، اگر مشکلی ندارین که خودتون کد بزنین من پیشنهادم اینه که تجربه خوبی خواهد بود اگه خودتون پیاده کنید. حداقل چند تا از فانکشن های اصلی رو پیاده کنید برای شروع همه رو نه. پیاده کردن مدباس اون قدرا هم سخت نیست نسبت به پروتکل های دیگه و کد زنیش دست گرمی خوبیه واسه پروتکل های پیچیده تر.
      The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

      دیدگاه


        #4
        پاسخ : راهنمایی در مورد برنامه مدباس با RS458

        سلام من یه کاربر تازه واردم نمیتونم سورس بزارم این برنامه رو با کد ویژن بنویس .
        #include <mega32.h>
        #include <stdio.h>
        unsigned char i;


        void main(void)
        {

        PORTA=0x00;
        DDRA=0xFF;


        PORTB=0x00;
        DDRB=0x00;


        PORTC=0x00;
        DDRC=0x00;


        PORTD=0x00;
        DDRD=0x00;


        TCCR0=0x00;
        TCNT0=0x00;
        OCR0=0x00;


        TCCR1A=0x00;
        TCCR1B=0x00;
        TCNT1H=0x00;
        TCNT1L=0x00;
        ICR1H=0x00;
        ICR1L=0x00;
        OCR1AH=0x00;
        OCR1AL=0x00;
        OCR1BH=0x00;
        OCR1BL=0x00;


        ASSR=0x00;
        TCCR2=0x00;
        TCNT2=0x00;
        OCR2=0x00;


        MCUCR=0x00;
        MCUCSR=0x00;


        TIMSK=0x00;


        UCSRA=0x00;
        UCSRB=0x18;
        UCSRC=0x86;
        UBRRH=0x00;
        UBRRL=0x33;


        ACSR=0x80;
        SFIOR=0x00;


        ADCSRA=0x00;


        SPCR=0x00;


        TWCR=0x00;

        while (1)
        {
        i=getchar();
        switch(i){
        case '1':
        PORTA.0=~PORTA.0;
        break;
        case '2':
        PORTA.1=~PORTA.1;
        break;
        case '3':
        PORTA.2=~PORTA.2;
        break;}


        }
        }

        دیدگاه


          #5
          پاسخ : راهنمایی در مورد برنامه مدباس با RS458

          این برنامه بالایی uart بود با rs 485 تو تنظیمات کد ویژن تو تب usart یه دونه receiver هست برای اینه که شما میخوای دیتا بگیری یه دونه هم transmitter هست برای اینه که شما دیتا بفرستی اگه هم میخولی دیتا بدی وهم بفرستی باید تیک هر دو رو بزنی فقط نرخ باند ریت 9600 باشه comunication parameters روی 8data,1stop ,noparity باشه ولی برنامه یه مشکلی داره که یه جا گیر میکه تو کد i=get char میکنه تازمانی که دیتا بیاد که خوب نیست باید از uart مدل اینتراپتی استفاده کنی که تو تاپیک بعدی میزارم

          دیدگاه


            #6
            پاسخ : راهنمایی در مورد برنامه مدباس با RS458

            اینم uart مدل اینتراپتی

            #include <mega32.h>
            #include <delay.h>
            unsigned char i,d[10];

            interrupt [USART_RXC] void usart_rx_isr(void)
            {
            d[i]=UDR;
            }


            #include <stdio.h>


            void main(void)
            {

            PORTA=0x00;
            DDRA=0x00;


            PORTB=0x00;
            DDRB=0x00;

            /
            PORTC=0x00;
            DDRC=0x00;


            PORTD=0x00;
            DDRD=0x00;


            TCCR0=0x00;
            TCNT0=0x00;
            OCR0=0x00;


            TCCR1A=0x00;
            TCCR1B=0x00;
            TCNT1H=0x00;
            TCNT1L=0x00;
            ICR1H=0x00;
            ICR1L=0x00;
            OCR1AH=0x00;
            OCR1AL=0x00;
            OCR1BH=0x00;
            OCR1BL=0x00;


            ASSR=0x00;
            TCCR2=0x00;
            TCNT2=0x00;
            OCR2=0x00;


            MCUCR=0x00;
            MCUCSR=0x00;


            TIMSK=0x00;

            // USART initialization
            // Communication Parameters: 8 Data, 1 Stop, No Parity
            // USART Receiver: On
            // USART Transmitter: Off
            // USART Mode: Asynchronous
            // USART Baud Rate: 9600
            UCSRA=0x00;
            UCSRB=0x90;
            UCSRC=0x86;
            UBRRH=0x00;
            UBRRL=0x33;


            ACSR=0x80;
            SFIOR=0x00;


            ADCSRA=0x00;


            SPCR=0x00;


            TWCR=0x00;


            #asm("sei&quot

            while (1)
            {
            if (i==10){
            PORTA=1;
            delay_ms(500);
            i=0;}

            }
            }


            فقط بگم پروتوس UART مدل اینتراپتی ساپورت نمیکنه

            تو تب USART تیک اینتراپت بزن



            من تو این اندازه بلد بودم امیدوارم به دردت بخوره سوالی داشتی در خدمتیم

            دیدگاه

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