اطلاعیه

Collapse
No announcement yet.

یه مشکل با کدویژن

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

    یه مشکل با کدویژن

    من بالاخره تونستم با mmc و lcd رنگی یک عکس کوچیک نمایش بدم!
    اینم لینک عکس کوچیک:
    عکس
    اندازه این تصویر 2x2 هستش!
    اما برنامه ای که نوشتم توش چهارتا دستور کشیدن مستطیل نوشتم برای چهار تا پیکسل!
    نمیتونم که یه حلقه for بزارم تا با یه دستور کشیدن مستطیل کار تموم شه!!
    اگر for رو بزارم lcd هیچی نمیاره!!!
    اینم برنامه:
    [code=c]#include <mega32a.h>
    #include <delay.h>
    #include <ff.h>
    #include <stdlib.h>
    #define xtal 20000000

    #define T1_OVF_FREQ 100
    #define T1_PRESC 1024L
    #define T1_INIT (0x10000L-(_MCU_CLOCK_FREQUENCY_/(T1_PRESC*T1_OVF_FREQ)))

    //================================ LCD CONFIGURATIONS =======================================
    #define PORTRAIT

    #define LCD_CONTROLPORT_DDR DDRC
    #define LCD_CONTROLPORT_PORT PORTC
    #define LCD_CONTROLPORT_PIN PINC

    #define LCD_RST_DDR DDRC
    #define LCD_RST_PORT PORTC
    #define LCD_RST_PIN 4

    #define LCD_RS_DDR DDRC
    #define LCD_RS_PORT PORTC
    #define LCD_RS_PIN 1

    #define LCD_CS_DDR DDRC
    #define LCD_CS_PORT PORTC
    #define LCD_CS_PIN 0

    #define LCD_RD_DDR DDRC
    #define LCD_RD_PORT PORTC
    #define LCD_RD_PIN 3

    #define LCD_WR_DDR DDRC
    #define LCD_WR_PORT PORTC
    #define LCD_WR_PIN 2

    #define LCD_DATAPORT_MSB_DDR DDRD
    #define LCD_DATAPORT_MSB_PORT PORTD
    #define LCD_DATAPORT_MSB_PIN PIND

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



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

    #include <tftlcd_functions.h>
    unsigned char buffer[255];
    FRESULT res;
    unsigned int nbytes;
    FATFS drive;
    FIL file;


    interrupt [TIM1_OVF] void timer_comp_isr(void)
    {
    TCNT1H=T1_INIT>>8;
    TCNT1L=T1_INIT&0xFF;
    disk_timerproc();
    }
    char a[64];
    int x,i,j;
    void main(void)
    {
    TCCR1A=0x00;
    TCCR1B=(1<<CS12)|(1<<CS10);
    TCNT1H=T1_INIT>>8;
    TCNT1L=T1_INIT&0xFF;
    TIMSK=1<<TOIE1;

    #asm("sei&quot

    lcd_init();
    r:
    if ((res=f_mount(0,&drive))==FR_OK)
    if ((res=f_open(&file,"0:/pic1.bmp",FA_READ))==FR_OK)
    if ((res=f_read(&file,buffer,sizeof(buffer),& nbytes))!=FR_OK) goto r;

    lcd_draw_rectangle(0,11,10,21,1,RGB2COL(buffer[56],buffer[55],buffer[54]));
    lcd_draw_rectangle(11,11,21,21,1,RGB2COL(buffer[59],buffer[58],buffer[57]));
    lcd_draw_rectangle(0,0,10,10,1,RGB2COL(buffer[64],buffer[63],buffer[62]));
    lcd_draw_rectangle(11,0,21,10,1,RGB2COL(buffer[67],buffer[66],buffer[65]));


    } [/code]
    معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

    #2
    پاسخ : یه مشکل با کدویژن

    حتما می پرسید که چرا از دستور کشیدن مستطیل استفاده کردم؟
    چون که تصویر 2x2 خیلی کوچیکه و نمیشه درس اونو توی lcd دید
    اینم یه تصویر از کار کرد مدار:


    مشکل اصلی من اینه که چرا کد های lcd توی for اجرا نمیشوند؟؟
    معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

    دیدگاه


      #3
      پاسخ : یه مشکل با کدویژن

      سلام مشکل قبلیم حل شد
      حالا اگر ما دو متغیر داشته باشیم:
      X=26
      Y=12
      بخواهیم هردوی اینها ترکیب شوند و درون متغیر دیگر قرار بگیرند مثلا:
      R=2612
      از چه دستوری باید استفاده کنیم؟؟؟؟
      معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

      دیدگاه


        #4
        پاسخ : یه مشکل با کدویژن

        کسی نیست؟؟؟؟؟؟؟؟؟؟؟؟؟ :cry:
        معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

        دیدگاه


          #5
          پاسخ : یه مشکل با کدویژن

          واجبه :cry2:
          معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

          دیدگاه


            #6
            پاسخ : یه مشکل با کدویژن

            الووووووووووووووو
            معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

            دیدگاه


              #7
              پاسخ : یه مشکل با کدویژن

              نوشته اصلی توسط alidehghan288
              الووووووووووووووو
              x*100+y
              یا تبدیل به کارکتر کنید و بعد به هم متصل کنید و بعد از اون دوباره به عدد تبدیل کنید

              دیدگاه


                #8
                پاسخ : یه مشکل با کدویژن

                ممنون :mrgreen:
                معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

                دیدگاه

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