اطلاعیه

Collapse
No announcement yet.

مشکل در عدم ذخیره داده ها

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

    مشکل در عدم ذخیره داده ها

    سلام یک برنامه نوشتم که دیتا های پورت سریال و روی mmc ذخیره کنه اما متاسفانه داده ها ذخیره نمیشن کسی میتونه ایرادشو بگه؟؟؟؟!!!
    کد:
    #include <mega32a.h>
    #define xtal 1000000
    #include <alcd.h>
    #include <sdcard.h>
    #include <ff.h>
    #include <delay.h>
    #include <stdio.h>
    
    FRESULT res;
    char path[]="0:/sepehr.txt";
    char text[]="I like CodeVisionAVR!";
    char textt[];
    char rx_buffer[24];
    unsigned char rx_index;
    
    unsigned int nbytes;
    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    {
    TCNT0=0xB2;
    disk_timerproc(); 
    }
     interrupt [USART_RXC] void usart_rx_isr(void)
    {
    char data;
    data=UDR;
    rx_buffer[rx_index]=data;
    if(++rx_index==24) rx_index=0;
    }
    
    void main(void)
    {
    FATFS drive;
    FIL file;
    int i;
    //unsigned char status;
    char buffer[50];
    
    // Timer Period: 9.984 ms
    TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (1<<CS02) | (0<<CS01) | (1<<CS00);
    TCNT0=0xb2;
    OCR0=0x00;
    TIMSK=0x01;
    // USART initialization
    // Communication Parameters: 8 Data, 1 Stop, No Parity
    // USART Receiver: On
    // USART Transmitter: Off
    // USART Mode: Asynchronous
    // USART Baud Rate: 2400
    UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
    UCSRB=(1<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
    UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
    UBRRH=0x00;
    UBRRL=0xCF;
    #asm("sei")
    
    while (1)
       {
    
    lcd_init(20);
    lcd_clear();
    lcd_puts(rx_buffer);
    delay_ms(100);
    lcd_putsf("Init fat");
    while(f_mount(0,&drive)!=FR_OK) delay_ms(100);
    lcd_putsf("  OK");
    delay_ms(2000);
    lcd_clear();
    lcd_putsf("open file");
    delay_ms(1000);
    lcd_clear();
    
    if ((res=f_open(&file,"0:/sepehr2.txt",FA_CREATE_ALWAYS | FA_WRITE))==FR_OK)
      lcd_putsf("File created OK");
    else
     lcd_putsf("File created ERROR");
    delay_ms(1000);
    lcd_clear();
    
    if ((res=f_write(&file,rx_buffer,sizeof(rx_buffer)-1,&nbytes))==FR_OK)
      lcd_putsf(" bytes written ok ");
    else
     
      lcd_putsf(" ERROR");
    
    
    delay_ms(1000);
    lcd_clear();
    
    f_close(&file);
    
    while ((f_open(&file,"sepehr2.txt", FA_READ ))!=FR_OK) ;
    lcd_putsf("  OK");
    delay_ms(2000);
    lcd_clear();
    lcd_putsf("read file");
    while (f_read(&file, buffer, 20, &i)!=FR_OK) ;
    lcd_putsf("  OK");
    delay_ms(100);
    lcd_clear();
    lcd_puts(buffer);
    f_close(&file);
       }
    }
لطفا صبر کنید...
X