اطلاعیه

Collapse
No announcement yet.

ارسال رشته توسط ارتباط سریال USART

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

    ارسال رشته توسط ارتباط سریال USART

    سلام.
    این رشته به چه فرمی ارسال می شود؟
    "( putsf("H05 و "( putsf("H06
    منظورم صفر و یک بودنه ؟
    شکل خروجی این دو دستور یکی است؟ چرا؟
    دنيا آنقدر وسيع هست که براي همه مخلوقات جايي باشد پس به جاي آنکه جاي کسي را بگيريم تلاش کنيم جاي واقعي خود را بيابيم

    #2
    پاسخ : ارسال رشته توسط ارتباط سریال USART

    نوشته اصلی توسط seda...
    سلام.
    این رشته به چه فرمی ارسال می شود؟
    "( putsf("H05 و "( putsf("H06
    منظورم صفر و یک بودنه ؟
    برای اینکه متوجه بشی برای هر کرکتر چه کدی در نظر گرفته میشه(استاندارد ASCII) میتونی از ابزار Character map ویندوز استفاده کنی (کافیه توی Run بنویسی charmap)

    شکل خروجی این دو دستور یکی است؟ چرا؟
    منظورت چیه ؟ معلومه که فقط توی یک بیت با هم اختلاف دارند!
    "H06" از 3 کرکتر تشکیل شده:
    [glow=red,2,300]0x48 - 0x30 - 0x36[/glow]
    و "H05":
    [glow=red,2,300]0x48 - 0x30 - 0x35[/glow]

    موفق باشید
    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

    دیدگاه


      #3
      پاسخ : ارسال رشته توسط ارتباط سریال USART

      این چیزیه که خودمم انتظار دارم ولی نمی دونم چرا یکی نشون می ده !!!!
      دنيا آنقدر وسيع هست که براي همه مخلوقات جايي باشد پس به جاي آنکه جاي کسي را بگيريم تلاش کنيم جاي واقعي خود را بيابيم

      دیدگاه


        #4
        پاسخ : ارسال رشته توسط ارتباط سریال USART

        با چی خروجی را می بینید؟
        امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

        دیدگاه


          #5
          پاسخ : ارسال رشته توسط ارتباط سریال USART

          توی پرروتئوس، با اسیلوسکوپ
          خروجی سریال به صورت بیت است؟
          شکل خروجی برای مقادیر "H01" و "H02" قرار دادم ولی اصلا متوجه نمی شم چه طوری این داده را ارسال می کند.
          کر برنامه هم به صورت زیر است:
          کد:
          #include <tiny2313.h>
          #include <delay.h>
          #include <sleep.h>
          #include <stdio.h>
           
          
          
          unsigned char i,x;
          
          interrupt [EXT_INT0] void ext_int0_isr(void)
          {
          for(i=0;i<2;i++);
          i=i;
          i=i;
          PORTD.0=~PORTD.0;
          i=i;
          i=i;
          i=i;
          }
          
          
          interrupt [EXT_INT1] void ext_int1_isr(void)
          {
          if(PIND.5==0)
            x=1;
            PORTD.4=1;
           if(PIND.6==0)
            x=2; PORTD.4=1;
            
           if(PINB.0==0)
            x=3; PORTD.4=1;
           
           if(PINB.1==0)
            x=4; PORTD.4=1;
           
           if(PINB.2==0)
            x=5; PORTD.4=1;
           
           if(PINB.3==0)
            x=6; PORTD.4=1;
            
           if(PINB.4==0)
            x=7; PORTD.4=1;
           
           if(PINB.5==0)
            x=8;PORTD.4=1;   
           
           if(PINB.6==0)
            x=9; PORTD.4=1;
           
           if(PINB.7==0)
            x=10; PORTD.4=1;     
          
          }
          
          
          void main(void)
          {
          // Declare your local variables here
          
          // Crystal Oscillator division factor: 1
          #pragma optsize-
          CLKPR=0x80;
          CLKPR=0x00;
          #ifdef _OPTIMIZE_SIZE_
          #pragma optsize+
          #endif
          
          // Input/Output Ports initialization
          // Port A initialization
          // Func2=In Func1=In Func0=In 
          // State2=T State1=T State0=T 
          PORTA=0x00;
          DDRA=0x00;
          
          // Port B initialization
          // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
          // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P 
          PORTB=0xFF;
          DDRB=0x00;
          
          // Port D initialization
          // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out 
          // State6=P State5=P State4=T State3=P State2=P State1=T State0=0 
          PORTD=0x6C;
          DDRD=0B00010001;
          
          // Timer/Counter 0 initialization
          // Clock source: System Clock
          // Clock value: Timer 0 Stopped
          // Mode: Normal top=FFh
          // OC0A output: Disconnected
          // OC0B output: Disconnected
          TCCR0A=0x00;
          TCCR0B=0x00;
          TCNT0=0x00;
          OCR0A=0x00;
          OCR0B=0x00;
          
          // Timer/Counter 1 initialization
          // Clock source: System Clock
          // Clock value: Timer 1 Stopped
          // Mode: Normal top=FFFFh
          // OC1A output: Discon.
          // OC1B output: Discon.
          // Noise Canceler: Off
          // Input Capture on Falling Edge
          // Timer 1 Overflow Interrupt: Off
          // Input Capture Interrupt: Off
          // Compare A Match Interrupt: Off
          // Compare B Match Interrupt: Off
          TCCR1A=0x00;
          TCCR1B=0x00;
          TCNT1H=0x00;
          TCNT1L=0x00;
          ICR1H=0x00;
          ICR1L=0x00;
          OCR1AH=0x00;
          OCR1AL=0x00;
          OCR1BH=0x00;
          OCR1BL=0x00;
          
          // External Interrupt(s) initialization
          // INT0: On
          // INT0 Mode: Low level
          // INT1: On
          // INT1 Mode: Low level
          // Interrupt on any change on pins PCINT0-7: Off
          GIMSK=0xC0;
          MCUCR=0x00;
          EIFR=0xC0;
          
          // Timer(s)/Counter(s) Interrupt(s) initialization
          TIMSK=0x00;
          
          // Universal Serial Interface initialization
          // Mode: Disabled
          // Clock source: Register & Counter=no clk.
          // USI Counter Overflow Interrupt: Off
          USICR=0x00;
          
          // USART initialization
          // Communication Parameters: 8 Data, 1 Stop, No Parity
          // USART Receiver: Off
          // USART Transmitter: On
          // USART Mode: Asynchronous
          // USART Baud rate: 2400
          UCSRA=0x00;
          UCSRB=0x08;
          UCSRC=0x06;
          UBRRH=0x00;
          UBRRL=0x67;
          
          // Analog Comparator initialization
          // Analog Comparator: Off
          // Analog Comparator Input Capture by Timer/Counter 1: Off
          ACSR=0x80;
          
          // Watchdog Timer initialization
          // Watchdog Timer Prescaler: OSC/1024k
          // Watchdog Timer interrupt: Off
          #pragma optsize-
          WDTCR=0x39;
          WDTCR=0x29;
          #ifdef _OPTIMIZE_SIZE_
          #pragma optsize+
          #endif
          
          // Global enable interrupts
          #asm("sei")
          
          sleep_enable();  // sleep mode
           
           powerdown(); // powerdown mode
          while (1)
             {
            
              
            
              if(x==1)
               {
                putsf("H01"); // رشته ای را که در فلش است را ارسال می کند، توابع USART
                x=0; 
                PORTD.4=0;
                powerdown(); 
               }
              
              if(x==2)
               {
                putsf("H02");
                x=0;  PORTD.4=0;
                powerdown(); 
               } 
              
               
             #asm("wdr")
          };
          }
          http://upload7.ir/imgs/2014-12/94697954719465739440.png
          دنيا آنقدر وسيع هست که براي همه مخلوقات جايي باشد پس به جاي آنکه جاي کسي را بگيريم تلاش کنيم جاي واقعي خود را بيابيم

          دیدگاه


            #6
            پاسخ : ارسال رشته توسط ارتباط سریال USART

            این تصویر که شما گذاشتی بخشی از دیتا هست ، شکل درست اینه:

            موفق باشید
            امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

            دیدگاه


              #7
              پاسخ : ارسال رشته توسط ارتباط سریال USART

              این تصاویر را از شبیه سازی کدی که من گذاشتم است؟
              من فقط اون کدی خروجی که گذاشتم دیدم
              به هر حال ممنون
              دنيا آنقدر وسيع هست که براي همه مخلوقات جايي باشد پس به جاي آنکه جاي کسي را بگيريم تلاش کنيم جاي واقعي خود را بيابيم

              دیدگاه

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