اطلاعیه

Collapse
No announcement yet.

کانفیک fat در کد ویژن

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

    کانفیک fat در کد ویژن

    قبلا میکرو رو با یه sd کارت الیته با اون کتابخونه ژاپنی راه انداختم اما الان برای نمایش عکس از میکرو از کتابخانه خود codevision استفاده کردم(از برنامه های که تو سایت بود استفاده کردم)
    الان کد ویژن میگه باید fat رو کانفیک کنم -کردم نمی دونم درست کردم یا نه (کار نمیکنه)
    کل پایه های لازم چهار پایه است که پایه های پورتb وصل میشه اما کد ویژن میگه دو سه پایه دیگه هم باید کانفیک کنم -کسی تا الان این مشگل رو داشته یه راهنمایی کنید :nerd:

    #2
    پاسخ : کانفیک fat در کد ویژن

    سلام

    من هم واسه پروژم واسه ارتباط با mmc اول خواستم از کد ویژن استفاده کنم ولی خوب جواب نداد .. بیخیالش شدم

    راستی اینم بگم که کد ویژن هم توابع mmc رو از توایع متن باز Fatfs داره استفاده میکنه... به نظر بنده واسه انجام پروژه ها کلا اگه بتونین از Atmel Studio 6.1 به بالا استفاده کنید اطمینان بیشتری هست


    راستی من هم یک مشکل دارم مشکلم هم اینکه من با atmel studio یک برنامه واسه mmc نوشتم که توی پروتئوس به خوبی شبیه سازی میشه و جواب داده ولی همون برنامه روی برد جواب نمیده... میخواستم بدونم شما واسه ارتباط بین avr و mmc چیکار کردین... اگه بشه یک نقشه کاربری از مدار بین avr و mmc در اینجا قرار بدین ممنون میشم...

    شاید بتونیم با هم پروژه هامون رو انجام بدیم :icon_razz:

    دیدگاه


      #3
      پاسخ : کانفیک fat در کد ویژن

      اخر دیشب تونستم یه عکس از میکرو اتمگا16 بالا بیارم :wow: :wow:
      میکرو هام اتمگا32 بود اما همه بخاطر فیوزبیت های لعنتی به فنا رفتنند -رفتم مغازه و گفتم یه اتمگا 32 بده گفت تمام کردم و من هم سریع گفتم 16 بده سریتون رو درد نیارم یه برنامه از همین سایت که بچه ها باfat کدویژن نوشتند گرفتم اما از شانس بدم حافظه میکرو کم بود
      امدم با تغییر متغیرها از کد نوشته شده اون ژاپنی استفاده کردم و خیلی خوب جواب داد.

      #include <mega16.h>
      #include "SD_Driver/mmc.c"
      #include "SD_Driver/pff.c"
      #include <delay.h>
      #define xtal 8000000
      #define PORTRAIT

      #define LCD_CONTROLPORT_DDR DDRD
      #define LCD_CONTROLPORT_PORT PORTD
      #define LCD_CONTROLPORT_PIN PIND

      #define LCD_RST_DDR DDRD
      #define LCD_RST_PORT PORTD
      #define LCD_RST_PIN 6

      #define LCD_RS_DDR DDRD
      #define LCD_RS_PORT PORTD
      #define LCD_RS_PIN 4

      #define LCD_CS_DDR DDRD
      #define LCD_CS_PORT PORTD
      #define LCD_CS_PIN 5

      #define LCD_RD_DDR DDRD
      #define LCD_RD_PORT PORTD
      #define LCD_RD_PIN 2

      #define LCD_WR_DDR DDRD
      #define LCD_WR_PORT PORTD
      #define LCD_WR_PIN 3


      #define LCD_DATAPORT_MSB_DDR DDRC
      #define LCD_DATAPORT_MSB_PORT PORTC
      #define LCD_DATAPORT_MSB_PIN PINC

      #define LCD_DATAPORT_LSB_DDR DDRA
      #define LCD_DATAPORT_LSB_PORT PORTA
      #define LCD_DATAPORT_LSB_PIN PINA



      //================================================== ==============

      #include "tftlcd_functions.h"
      // Declare your global variables here
      //#define BUFFER_SIZE 16
      FATFS Fs;
      WORD w_br;
      ////

      FRESULT res;
      //FATFS drive;
      //FIL file;
      char buffer [58];
      unsigned int nbytes;

      ////////
      void main(void)
      {
      unsigned long int r=0,g=0,b=0,tcolor=0,color=0,ADDR;
      char i=0;
      #asm("sei&quot
      lcd_init();
      lcd_background_color(BLUE);
      // f_mount(0,&drive);
      while(disk_initialize()!=FR_OK) delay_ms(100);
      while(pf_mount(&Fs)!=FR_OK) delay_ms(100);
      /// f_open(&file,path,FA_READ);
      while(pf_open("pic.bmp&quot!=FR_OK) delay_ms(100);
      // f_lseek(&file,0x0A);
      pf_lseek(0x0A);
      // f_read(&file,&buffer,4,&nbytes);//Finding offset place
      pf_read(&buffer,4,&nbytes);
      ADDR=(long)buffer[3]*512+(long)buffer[2]*64+(long)buffer[1]+(long)buffer[0];
      pf_lseek(ADDR);//jumping to offset
      lcd_page();

      while (1)
      {
      if ((res=pf_read(&buffer,30,&nbytes))==FR_OK)
      {
      if (nbytes<30)
      {
      // pf_close();
      pf_mount(0);
      break;
      }
      else
      {
      i=0;
      while(i<29)
      {
      r=buffer[i];
      g=buffer[i+1];
      b=buffer[i+2];
      i=i+3;

      color=r>>3;
      color<<=6;
      tcolor=g>>2;
      color+=tcolor;
      color<<=5;
      tcolor=b>>3;
      color+=tcolor;

      lcd_write_wdr(color);
      }
      }
      }


      }
      }

      دیدگاه

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