اطلاعیه

Collapse
No announcement yet.

ارتباط سریال تا عدد کمتراز 9 !!!

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

    ارتباط سریال تا عدد کمتراز 9 !!!

    سلام.
    ببخشید میشه بگید مشکل این کد چیه ؟ اگه بجای 9 عدد 8 یا کنتر رو بفرستم اون طرف میگیره ولی از 8 به بالا چیزی دریافت نمیشه :
    قالب اطلاعات هم میخاستم به این شکل باشه : 8 بیت اطلاعات 1 بیت توقف و بیت توازن زوج
    کد میکرو ARM : at91sam7s64 :

    کد:
    #include<Atmel/ioat91sam7s64.h>
    
    void main()
    {
     AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS;
     AT91C_BASE_RSTC->RSTC_RMR = 0XA5000001;
     
     AT91C_BASE_CKGR->CKGR_MOR = 0XF01;
     AT91C_BASE_CKGR->CKGR_PLLR = 0X2903FFC;
     AT91C_BASE_PMC->PMC_MCKR = 0X3;
     AT91C_BASE_PMC->PMC_SCER = 0X1;
     
     AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_US1);
     
     AT91C_BASE_PIOA->PIO_PDR = (1<<21 | 1<<22);
     AT91C_BASE_PIOA->PIO_MDER = (1<<21 | 1<<22);
     AT91C_BASE_PIOA->PIO_ASR = (1<<21 | 1<<22);
     AT91C_BASE_US1->US_CR = 0X08;
     AT91C_BASE_US1->US_MR = 0XD0;
     AT91C_BASE_US1->US_BRGR = 0X27;
     AT91C_BASE_US1->US_CR = 0X40;
     
     while(1)
     {
      while((AT91C_BASE_US1->US_CSR&0X02)!=0X02);
      AT91C_BASE_US1->US_THR = 0X09;
      
     
     }
    }
    کد میکرو AVR :
    کد:
    /*****************************************************
    This program was produced by the
    CodeWizardAVR V2.05.3 Standard
    Automatic Program Generator
    © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
    http://www.hpinfotech.com
    
    Project : 
    Version : 
    Date  : 05/31/2014
    Author : Techno-Electro
    Company : If You Like This Software,Buy It
    Comments: 
    
    
    Chip type        : ATmega32A
    Program type      : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model      : Small
    External RAM size    : 0
    Data Stack size     : 512
    *****************************************************/
    
    #include <mega32a.h>
    #include <delay.h>
    
    
    #ifndef RXB8
    #define RXB8 1
    #endif
    
    #ifndef TXB8
    #define TXB8 0
    #endif
    
    #ifndef UPE
    #define UPE 2
    #endif
    
    #ifndef DOR
    #define DOR 3
    #endif
    
    #ifndef FE
    #define FE 4
    #endif
    
    #ifndef UDRE
    #define UDRE 5
    #endif
    
    #ifndef RXC
    #define RXC 7
    #endif
    
    #define FRAMING_ERROR (1<<FE)
    #define PARITY_ERROR (1<<UPE)
    #define DATA_OVERRUN (1<<DOR)
    #define DATA_REGISTER_EMPTY (1<<UDRE)
    #define RX_COMPLETE (1<<RXC)
    
    // Get a character from the USART Receiver
    #ifndef _DEBUG_TERMINAL_IO_
    #define _ALTERNATE_GETCHAR_
    #pragma used+
    char getchar(void)
    {
    char status,data;
    while (1)
       {
       while (((status=UCSRA) & RX_COMPLETE)==0);
       data=UDR;
       if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
         return data;
       }
    }
    #pragma used-
    #endif
    
    // Standard Input/Output functions
    #include <stdio.h>
    
    
    #define LED_DDR DDRA.0
    #define LED_PORT PORTA.0
    void main(void)
    {
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T 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=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTB=0x00;
    DDRB=0x00;
    
    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTC=0x00;
    DDRC=0x00;
    
    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTD=0x00;
    DDRD=0x00;
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 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;
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer2 Stopped
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // USART initialization
    // Communication Parameters: 8 Data, 1 Stop, Even Parity
    // USART Receiver: On
    // USART Transmitter: Off
    // USART Mode: Asynchronous
    // USART Baud Rate: 9600
    UCSRA=0x00;
    UCSRB=0x10;
    UCSRC=0x26;
    UBRRH=0x00;
    UBRRL=0x33;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    // ADC initialization
    // ADC disabled
    ADCSRA=0x00;
    
    // SPI initialization
    // SPI disabled
    SPCR=0x00;
    
    // TWI initialization
    // TWI disabled
    TWCR=0x00;
    
    LED_DDR = 1;
    LED_PORT = 0;
    
    while (1) 
       {  
        int data = 0; 
        int i=0;         
         delay_ms(1000); 
        
        data = getchar();
        for(i=0; i<data; i++)
        {
          LED_PORT = 1;
          delay_ms(250);
          LED_PORT = 0;
          delay_ms(250);
          
        }
        delay_ms(1000); 
        
       }
    }
    غفلت از یار, گرفتار شدن هم داد
    از شما دور شدن, زار شدن هم دارد
    هرکه از چشم بی افتاد, محلش ندهند
    عبد آلوده شدن, خوار شدن هم دارد
    عیب از ماست, که هر سال نمی بینیمت چشم بیمار شده, تار شدن هم دارد ...
لطفا صبر کنید...
X