ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 11 12345678910 ... آخرین
نمایش نتایج: از 1 به 10 از 104
  1. #1
    2011/12/22
    کرمان
    2,954
    114

    کتابخانه ff.h در Codevision

    سلام به همه دوستان
    و با تشکر از اساتید گرامی آقایان اسدی ، صرامی و دیگر دوستانی که برای تاپیک

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    زحمت کشیدند
    من این تاپیک رو زدم که مطالب گفته نشده راجع به کتابخونه ff.h آقای چان رو اینجا بیشتر بررسی کنیم

    خب من از 0 شروع میکنم به پرسیدن
    تا اینجای کار من فایل های زیر رو دانلود کردم :
    1 -

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    در این لینک تمامی فایل های مورد نیاز کتابخانه ff.h می باشد
    2 -

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    در این لینک نمونه مثال هایی هست که آقای چان جان قرار دادن
    در این فایل پوشه <avr_complex> وجود دارد که برای پلتفرم Atmel AVR multiple drive (ATmega64) نوشته شده

    منبع : فایل 00readme.txt موجود در لینک ffsample.zip

    خب تا اینجا هرچی فایل نیاز بود رو دانلود کردیم
    یه پوشه برای پروژه ایجاد میکنیم AT128 MMC prj و داخل آن پوشه دیگری به اسم FF_Lib میسازیم
    فایل هایی که در پوشه scr داخل ff10a.zip است را طبق گفته آقای اسدی عزیز :

    diskio.c
    diskio.h
    ff.c
    ff.h
    ffconf.h
    integer.h
    داخل پوشه FF_Lib کپی میکنیم
    حالا میمونه یک فایل دیگه که ارتباط میکرو با MMC و تنظیمات SPI داخل آن است
    آقای اسدی فرمودند از mmc_avr.c میتوان استفاده کرد ( که فعلا طبق گفته ایشون پیش میریم تا بعدا سوالاتی رو راجع به این فایل بپرسم )
    الان چیزایی داریم اینطوری شد :


    حالا Codevision رو باز میکنیم و یه پروژه برای ATMega128A میسازیم که فقط Char LCD برای اون فعال شده :
    کریستال 8 مگ داخلی ( فعلا برای تست )

    تنظیمات LCD 2*16
    کد:
    // Alphanumeric LCD initialization
    // Connections are specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS - PORTA Bit 0
    // RD - PORTA Bit 1
    // EN - PORTA Bit 2
    // D4 - PORTA Bit 4
    // D5 - PORTA Bit 5
    // D6 - PORTA Bit 6
    // D7 - PORTA Bit 7
    // Characters/line: 16
    خب همه نوشته های main.c رو پاک میکنیم تا فقط اینا بمونه :

    کد:
    /*****************************************************
    Project : AT128 MMC Prj
    Version : 
    Date  : 4/10/2014
    Author : HoaXB0Y
    Company : HoaXB0Y
    Comments: 
    
    Chip type        : ATmega128A
    Program type      : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model      : Small
    External RAM size    : 0
    Data Stack size     : 1024
    *****************************************************/
    
    #include <mega128a.h>
    #include <alcd.h>
    
    
    void main(void)
    {
    
    lcd_init(16);
    
    while (1)
       {
       // Place your code here
    
       }
    }
    خب تا اینجا هم که مشکلی نیست
    الان میمونه چه فایل هایی از پوشه FF_Lib رو باید اول برنامه Include کنیم؟!!
    و چه تغییراتی رو انجام بدیم تا بتونیم یه SD رو Init کنیم؟!!

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

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  2. #2
    2010/01/26
    شبستر گونئی
    688
    302

    پاسخ : کتابخانه ff.h در Codevision

    با سلام مجدد

    چون ما هيچ تغييري در سخت افزار نداديم پس پينها و روش اتصال مموري به ميکرو هموني هست که اقاي چان انجام دادن
    يعني فايل avr_mmc.png در پوشه avr_complex

    حالا اول فايل mmc_avr.c رو در main انکلود کنيد
    سپس در فايل فوق انکلود avr/io.h رو به io.h تغيير بديد يعني"/avr" رو حذف کنيد و بعد اين ديفاين ها رو اظافه کنيد


    کد:
    #define _BV(pin)		(1<<pin)
    #define sbi(sfr,pin)			(sfr |= _BV(pin))
    #define cbi(sfr,pin)			(sfr &= ~_BV(pin))
    #define bis(sfr, bit)			(sfr & _BV(bit))
    #define bic(sfr, bit)			(!(sfr & _BV(bit)))
    #define loop_until_bit_is_set(sfr, bit)			  do { } while (bic(sfr, bit))
    #define loop_until_bit_is_reset(sfr, bit)			do { } while (bis(sfr, bit))

    حتما از فايل diskio.h داخل پوشه avr_complex استفاده کنيد نه اوني که داخل پوشه src هست
    تا اينجا اگه کامپايل کنيد نبايد اروري باشه

    حالا به ابتداي main فايل ff.c رو انکلود کنيد
    بعد بايد تابع get_fattime رو به main اضافه کنيم
    اگر RTC نداريد بايد مقادير زمان رو دستي جايگزين کنيد در غير اينصورت مقدار زمان واقعي رو بديد
    به اين صورت


    کد:
    DWORD get_fattime (void)
    {
    	/* Returns current time packed into a DWORD variable */
    	return	 ((DWORD)(2014 - 1980) << 25)	/* Year 2014 */
    			| ((DWORD)4 << 21)				/* Month 4 */
    			| ((DWORD)10<< 16)				/* Mday 10 */
    			| ((DWORD)0 << 11)				/* Hour 0 */
    			| ((DWORD)0 << 5)				/* Min 0 */
    			| ((DWORD)0 >> 1);				/* Sec 0 */
    }

    حالا اگر باز کامپايل کنيد نبايد اروري داشته باشيد

    حالا دوتا متغير سراسري تعريف ميکنيم يکي از نوع FATFS با نام fs براي مشخصات فت و ديگري از نوع FIL با نام fl براي مشخصات فايل
    قبلا يه سوالي در مورد اينکه چرا نميشه متغير FATFS رو به نام FatFs تعريف کرد پرسيده بوديد اين براي اينکه کدويژن ما چون اين لايبري رو به صورت پيشفرض توي خودش داره اين متغير رو خودش تعريف کرده لذا از کلمات رزرو شده کدويژن هست.
    بعد دو متغير در داخل main تعريف ميکنيم از نوع UINT با نام br براي ديتاي خونده شده و ديگري bw براي ديتاي نوشته شده و يکي ديگه از نوع FRESULT براي دريافت خروجيهاي توابع يعني ارور ها با نام res

    و بعد اولين تابعمونو براي mount و initial ديسک فراخاني ميکنيم و مساوي متغر res قرار ميديم
    يعني اينشکلي

    ;(res = f_mount(&fs, "", 0

    حالا بايد فايل main شما اينشکلي باشه


    کد:
    #include <io.h>
    #include <alcd.h>
    
    #include "ff_lib/mmc_avr.c"
    #include "ff_lib/ff.c"
    
    FATFS fs;
    FIL fl;
    
    DWORD get_fattime (void)
    {
      /* Returns current time packed into a DWORD variable */
      return   ((DWORD)(2014 - 1980) << 25)  /* Year 2014 */
          | ((DWORD)4 << 21)        /* Month 4 */
          | ((DWORD)10<< 16)        /* Mday 10 */
          | ((DWORD)0 << 11)				/* Hour 0 */
    			| ((DWORD)0 << 5)				/* Min 0 */
    			| ((DWORD)0 >> 1);				/* Sec 0 */
    }
    
    void main(void)
    {
    UINT br,bw;
    FRESULT res;
    
    lcd_init(16);
    
    while (1)
       {
       res = f_mount(&fs, "", 0);
        
        
       }
    }

    در ضمن چون توي تابع f_mount تابع disk_initialize وجود داره ديگه به فراخاني اين تابع نيازي نيست.
    حالا توابع ديگرو به برنامه اضافه کنيد و لذت ببريد.

    به همين سادگي :nice:
    تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
    به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.
  3. #3
    2011/12/22
    کرمان
    2,954
    114

    پاسخ : کتابخانه ff.h در Codevision

    نقل قول نوشته اصلی توسط POLESTAR
    با سلام مجدد

    چون ما هيچ تغييري در سخت افزار نداديم پس پينها و روش اتصال مموري به ميکرو هموني هست که اقاي چان انجام دادن
    يعني فايل avr_mmc.png در پوشه avr_complex

    حالا اول فايل mmc_avr.c رو در main انکلود کنيد
    سپس در فايل فوق انکلود avr/io.h رو به io.h تغيير بديد يعني"/avr" رو حذف کنيد و بعد اين ديفاين ها رو اظافه کنيد


    کد:
    #define _BV(pin)		(1<<pin)
    #define sbi(sfr,pin)			(sfr |= _BV(pin))
    #define cbi(sfr,pin)			(sfr &= ~_BV(pin))
    #define bis(sfr, bit)			(sfr & _BV(bit))
    #define bic(sfr, bit)			(!(sfr & _BV(bit)))
    #define loop_until_bit_is_set(sfr, bit)			  do { } while (bic(sfr, bit))
    #define loop_until_bit_is_reset(sfr, bit)			do { } while (bis(sfr, bit))

    حتما از فايل diskio.h داخل پوشه avr_complex استفاده کنيد نه اوني که داخل پوشه src هست
    تا اينجا اگه کامپايل کنيد نبايد اروري باشه
    با تشکر فراوان از آقای اسدی
    خب تا اینجا من کامپایل کردم و مشکلی نبود ممنون
    فقط یه توضیح بدم که این دیفاین ها باید در فایل mmc_avr.c اضافه بشن
    خب حالا اینجا 2 تا سوال :
    1 - این دیفاین ها رو شما از کجا آوردید؟! و چی هستن اینا اصلا؟! منی که بلد نیستم و اگر شما نبودید چیکار میبایست بکنم؟!!!
    2 - آقای اسدی عزیز من این فایل mmc_avr.c رو قبلا با فایل شما mmc.c که همراه پروژه mega32 گذاشته بودید مقایسه کردم
    اول فایل شما اینا بود :

    کد:
    #define SCK_DDR     DDRB
    #define SCK_PRT     PORTB
    #define SCK_BIT     7
    
    #define MISO_DDR    DDRB
    #define MISO_PRT    PORTB
    #define MISO_BIT    6
    
    #define MOSI_DDR    DDRB
    #define MOSI_PRT    PORTB
    #define MOSI_BIT    5
    
    #define SD_CS_DDR    DDRB
    #define SD_CS_PRT    PORTB
    #define SD_CS_BIT    4
    
    #define SD_DE_DDR    DDRB
    #define SD_DE_PRT    PORTB
    #define SD_DE_PIN    PINB
    #define SD_DE_BIT    3
    که خب خیلی راحت میکرد تنظیم پایه های SPI برای هر میکرو ولی توی mmc_avr.c ندیدم همچین چیزی
    آیا این همونه؟!!

    کد:
    static
    void power_on (void)
    {
    	{	/* Remove this block if no socket power control */
    		PORTE &= ~_BV(7);	/* Socket power on (PE7=low) */
    		DDRE |= _BV(7);
    		for (Timer1 = 2; Timer1; );	/* Wait for 20ms */
    	}
    
    	PORTB |= 0b00000101;	/* Configure SCK/MOSI/CS as output */
    	DDRB |= 0b00000111;
    
    	SPCR = 0x52;			/* Enable SPI function in mode 0 */
    	SPSR = 0x01;			/* SPI 2x mode */
    }
    اگه شما فایل رابط SD دارید مشابه mmc.c که فکر میکنید بهتره و راحت تره کار کردن باهاش ، آموزشو بر اساس اون ادامه بدید چون به نظر من توی mmc_avr.c یکم تنظیم کردن پایه های SPI گنگه :sad:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  4. #4
    2011/12/22
    کرمان
    2,954
    114

    پاسخ : کتابخانه ff.h در Codevision

    نقل قول نوشته اصلی توسط POLESTAR
    حالا به ابتداي main فايل ff.c رو انکلود کنيد
    بعد بايد تابع get_fattime رو به main اضافه کنيم
    اگر RTC نداريد بايد مقادير زمان رو دستي جايگزين کنيد در غير اينصورت مقدار زمان واقعي رو بديد
    به اين صورت


    کد:
    DWORD get_fattime (void)
    {
    	/* Returns current time packed into a DWORD variable */
    	return	 ((DWORD)(2014 - 1980) << 25)	/* Year 2014 */
    			| ((DWORD)4 << 21)				/* Month 4 */
    			| ((DWORD)10<< 16)				/* Mday 10 */
    			| ((DWORD)0 << 11)				/* Hour 0 */
    			| ((DWORD)0 << 5)				/* Min 0 */
    			| ((DWORD)0 >> 1);				/* Sec 0 */
    }

    حالا اگر باز کامپايل کنيد نبايد اروري داشته باشيد
    من همه کارارو که تا اینجا گفته بودید مو به مو انجام دادم ولی 5 تا خطا میده
    این کد برنامم :

    کد:
    /*****************************************************
    Project : AT128 MMC Prj
    Version : 
    Date  : 4/10/2014
    Author : HoaXB0Y
    Company : HoaXB0Y
    Comments: 
    
    Chip type        : ATmega128A
    Program type      : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model      : Small
    External RAM size    : 0
    Data Stack size     : 1024
    *****************************************************/
    
    #include <mega128a.h>
    #include <io.h>
    #include <alcd.h>
    
    
    #include <FF_Lib\mmc_avr.c>
    #include <FF_Lib\ff.c>
    
    
    DWORD get_fattime (void)
    {
    	/* Returns current time packed into a DWORD variable */
    	return	 ((DWORD)(2014 - 1980) << 25)	/* Year 2014 */
    			| ((DWORD)4 << 21)				/* Month 4 */
    			| ((DWORD)10<< 16)				/* Mday 10 */
    			| ((DWORD)0 << 11)				/* Hour 0 */
    			| ((DWORD)0 << 5)				/* Min 0 */
    			| ((DWORD)0 >> 1);				/* Sec 0 */
    }
    
    
    void main(void)
    {
    
    lcd_init(16);
    
    while (1)
       {
       // Place your code here
    
       }
    }
    و این هم خطاهایی که میده :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    حتی کل main شما که گذاشتید هم کلا توی پروژم کپی کردم دقیقا همون خطا ها رو داد

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  5. #5
    2008/07/03
    865
    26

    پاسخ : کتابخانه ff.h در Codevision

    خيلي از دوستان عذر ميخوام؛ نميتونم دائماً آنلاين باشم و به سوالات پاسخ بدم :redface:
    ---------------------------------
    همون مثالي که قبلاً قرار داده ام همه موارد براي پشتيباني کدويژن لحاظ شده ( http://uplod.ir/mw6fjirxw95u/ff10a_Codevision.rar.htm )

    فکر ميکنم يک مورد را بايد حتماً توضيح بدم:
    اين فايل هاي هدري هستند که include شده اند:
    کد:
    #include "FF_Files/diskio.h"
    #include "FF_Files/ff.h"
    #include "FF_Files/integer.h"
    حالا فايل C (سورس) اين ها را بايد به اين گونه به پروژه اضافه کرد:
    -از منوي Project گزينه Configure را انتخاب کنيد تا پنجره Configure Project باز شود
    -در تب Files زير تب Input Files را باز کنيد (پيشفرض باز ميشود)
    -با زدن Add فايل هاي ff.c - mmc_avr.c را انتخاب کنبد
    -با زدن OK پنجره را ببنديد.

    خوب ؛ با گذراندن مراحل بالا، فايلهاي سورس به پروژه اضافه شده
    -----------------------------------------------------------
    درضمن ، ماکرو هاي مهم در فايل integer.h اضافه شده و نيازي به نوشتن مجدد نيست

    موفق باشيد
    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است
  6. #6
    2011/12/22
    کرمان
    2,954
    114

    پاسخ : پاسخ : کتابخانه ff.h در Codevision

    نقل قول نوشته اصلی توسط Abbas Sarami
    خيلي از دوستان عذر ميخوام؛ نميتونم دائماً آنلاين باشم و به سوالات پاسخ بدم :redface:
    ---------------------------------
    همون مثالي که قبلاً قرار داده ام همه موارد براي پشتيباني کدويژن لحاظ شده ( http://uplod.ir/mw6fjirxw95u/ff10a_Codevision.rar.htm )

    فکر ميکنم يک مورد را بايد حتماً توضيح بدم:
    اين فايل هاي هدري هستند که include شده اند:
    کد:
    #include "FF_Files/diskio.h"
    #include "FF_Files/ff.h"
    #include "FF_Files/integer.h"
    حالا فايل C (سورس) اين ها را بايد به اين گونه به پروژه اضافه کرد:
    -از منوي Project گزينه Configure را انتخاب کنيد تا پنجره Configure Project باز شود
    -در تب Files زير تب Input Files را باز کنيد (پيشفرض باز ميشود)
    -با زدن Add فايل هاي ff.c - mmc_avr.c را انتخاب کنبد
    -با زدن OK پنجره را ببنديد.

    خوب ؛ با گذراندن مراحل بالا، فايلهاي سورس به پروژه اضافه شده
    -----------------------------------------------------------
    درضمن ، ماکرو هاي مهم در فايل integer.h اضافه شده و نيازي به نوشتن مجدد نيست

    موفق باشيد
    آهان الان درست شد و تونستم یه پروژه که از اول خودم ساختمو با روش شما بدون خطا کامپایل کنم
    ممنون واقعا از شما عزیزان که وقت میذارید میدونم چقد کار سختیه ( چنتا تاپیک کوچیک تو قسمت پروتل زدم )

    ولی میدونید بیشتر دلم میخواد همین مواردی که لحاظ میکنید رو بفرمایید تا مثلا حالا میکر AVR نبود یا یه کتابخونه دیگه بود هم بشه استفاده کرد
    منظورتون از ماکروهای مهمی که اضافه شده چییه؟! دقیقا کدوم خط ها اضافه شده؟!
    یعنی اگر ورژن جدید تری بیاد این ماکرو ها رو نداره؟! و اگر نداشت باید چیکار کنیم؟!!

    -----------------------------

    البته من همچنان دنبال پاسخ سوالاتی که از آقای اسدی کردم هستم
    سعی میکنم هر دو روش آقای صرامی و آقای اسدی رو توی فایل آموزشی بیارم
    ممنون از هر دوی شما

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  7. #7
    2011/12/22
    کرمان
    2,954
    114

    پاسخ : کتابخانه ff.h در Codevision

    آقای صرامی
    همونطور که توی تاپیک قبلی هم گفته بودید که شما فقط کامپایل کردید
    و فرمودید من تست کنم توی شبیه ساز تست کردم
    کار نمیکنه و به نظرم پایه های SPI برای Mega128 درست تنظیم نشده عکسو ببینید :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    پایه ها فکنم الکی 1 شدن و پایه های مربوط به SPI کلا تعریف نشدن
    طبق گفته های آقای اسدی باید توی فایل mmc.c باشه که در پروژه شما از mmc_avr.c استفاده شده

    همونطو که در پست قبل هم دیدید من نتونستم تنظیمات دقیق مربوط به SPI رو در mmc_avr.c پیدا کنم
    ممنون میشم راهنمایی کنید

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  8. #8
    2010/01/26
    شبستر گونئی
    688
    302

    پاسخ : کتابخانه ff.h در Codevision

    نقل قول نوشته اصلی توسط بسطام بيرامي
    خب حالا اينجا 2 تا سوال :
    1 - اين ديفاين ها رو شما از کجا آورديد؟! و چي هستن اينا اصلا؟! مني که بلد نيستم و اگر شما نبوديد چيکار ميبايست بکنم؟!!!
    2 - آقاي اسدي عزيز من اين فايل mmc_avr.c رو قبلا با فايل شما mmc.c که همراه پروژه mega32 گذاشته بوديد مقايسه کردم
    1- اين ديفاينها به صورت پيشفرض در gcc هست لذا اقاي چان بهشون نياز نداشته که بنويسه
    حالا کارشون چيه فکر ميکنم اينجا بايد يه کمي به عقب برگرديم و کمي زياضي و سي ياد بگيريم
    BV_ کارش اينه که شماره بيتي که در وروديش قرار داديد رو در يک بايت يک ميکنه مثلا اگه مقدار 4 بهش بديد خروجيش ميشه 0B00010000
    sbi بيت "ورودي دوم" متناظر در بايت "ورودي اول" رو يک ميکنه
    cbi بيت "ورودي دوم" متناظر در بايت "ورودي اول" رو صفر ميکنه
    bis يک بودن بيت "ورودي دوم" متناظر در بايت "ورودي اول" رو چک ميکنه
    bic صفر بودن بيت "ورودي دوم" متناظر در بايت "ورودي اول" رو چک ميکنه
    loop_until_bit_is_set يا lbis تا يک شدن بيت "ورودي دوم" متناظر در بايت "ورودي اول" منتظر ميمونه
    loop_until_bit_is_reset يا lbic تا صفر شدن بيت "ورودي دوم" متناظر در بايت "ورودي اول" منتظر ميمونه

    شما فقط در کامپايلر کدويژن هست که متغير بيت داريد در ديگر کامپايلرها و کلا در سي متغير بيتي وجود ندارد وبراي اين کار از ديفاينهاي فوق استفاده ميشه البته لازمه که بگم در تعداد اندکي از ميکرو ها هم اين امکان وجود دارد که AVR از اون جمله هست که پورتهاي F , G اين امکان رو هم ندارن
    اين کدويژن خيلي از اصول سي رو زير پا گزاشته که اين يکي از ساده ترين اونهاست

    2 - اين تغييرات رو خود بنده براي راحتي کار دادم ولي اقاي چان اين کار رو به صورت مستقيم همونطوري که شما اشاره کرديد در تابع power_on انجام داده

    به همين سادگي :nice:
    تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
    به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.
  9. #9
    2011/12/22
    کرمان
    2,954
    114

    پاسخ : کتابخانه ff.h در Codevision

    واقعا الانه که باید بگم استاد اسدی

    اگه شما فایل رابط SD دارید مشابه mmc.c که فکر میکنید بهتره و راحت تره کار کردن باهاش ، آموزشو بر اساس اون ادامه بدید چون به نظر من توی mmc_avr.c یکم تنظیم کردن پایه های SPI گنگه
    خب نمیشه همین فایل های ff10a رو استفاده کنیم ولی mmc.c از شما باشه؟!
    خب به هرحال شما از چان واردترید ( اگر ممکنه کلا آموزشتونو بر اساس فایل mmc.c خودتون پیش ببرید )

    ببخشید اگر من پنتا پست پشت سر هم میزنم
    برای اینه که میخوام دقیقا سوالات جدا باشن از هم و اساتیدی که جواب میدن دقیقا بدونن و بتونن تک تک سوالاتو جواب بدن

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  10. #10
    2010/01/26
    شبستر گونئی
    688
    302

    پاسخ : کتابخانه ff.h در Codevision

    يه مورد مهم ديگه در مورد اين توابع اين هست که بايد يکي از تايمرها رو با پريود 100 هرتز تنظيم کنيد و در داخل تابع تايمر تابع disk_timerproc رو فراخاني کنيد
    در غير اين صورت توابع خروجي نخواهند داشت
    لذا کدهاي زير رو هم به مين اظافه کنيد

    کدهاي زير رو به ابتداي برنامه بعد از انکلود فايلها

    کد:
    #define F_CPU  8000000UL
    #define sei()  #asm("sei")
    #define cli()  #asm("cli")
    
    interrupt [TIM2_COMP] void timer2_comp_isr(void)
    {
      disk_timerproc();
    }

    و کدهاي زير در مين برنامه بعد از تعريف متغير هاتون براي اينيشيال تايمر براي فرکامس 100 هرتز

    کد:
    OCR2 = F_CPU / 1024 / 100 - 1;
    TCCR2 = 0b00001101;
    TIMSK |= _BV(OCIE2);
    sei();


    به همين سادگي :nice:
    تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
    به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.
صفحه 1 از 11 12345678910 ... آخرین
نمایش نتایج: از 1 به 10 از 104

موضوعات مشابه

  1. کتابخانه SD/MMC Card در CodeVision avr V2.04.4a
    توسط ehsan_akbari در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2014/05/08, 15:18
  2. کتابخانه اي متفاوت براي کي پد در Codevision
    توسط TDAxx در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2014/02/24, 09:08
  3. مشکل استفاده از کتابخانه ff در Codevision
    توسط naeemafar در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2012/04/17, 13:13
  4. کمک در ایجاد کتابخانه CodeVision
    توسط h.afgahi در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2011/07/30, 10:02
  5. استفاده از یک کتابخانه در main و کتابخانه های دیگر (codevision)
    توسط sazesh در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2010/11/02, 19:00

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •