NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4125 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 20 از 33

موضوع: مشکل با winavr(avrlib)

  1. #1
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض مشکل با winavr(avrlib)

    سلام دوستان عزیز
    من یه پروژه میخوام انجام بدم با winavr حالا یه مشکلی برام بوجود اومده که مربوط میشه به کتابخونه avrlib
    من با این کتابخونه ال سی دی کاراکتری رو راه انداختم همه چی درسته ولی وقتی یه چیزی میخوام بو ال سی دی بنویسم چرت و پرت مینویسه(تو پروتیوس)
    مشکل کجاست؟؟
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام مهندس
    اون كتابخونه سالمه. خودم ازش استفاده كردم.
    مهندس عملا مدارو ببندو تستش كن. تو پروتئوس ممكنه درست كار نكنه.
    _____________________________________
    _____________________________________

  4. تشکرها از این نوشته :


  5. #3
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

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

  6. #4
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلامی دوباره
    آقای محمدی من هنوز منتظرم ها!!
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  7. #5
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط vahidasm نمایش پست ها
    سلامی دوباره
    آقای محمدی من هنوز منتظرم ها!!
    سلام مهندس
    اين سايتا رو ببين:
    -WinAVR tool-set | WinAVR AVR-GCC Tutorial
    WinAVR : AVR-GCC for Windows
    _____________________________________
    _____________________________________

  8. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  9. #6
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلامی دوباره مهندس محمدی
    آقا من بدجوری گیر کردم رو مبدل آنالوگ به دیجیتال این کتابخونه
    این برنامه رو ببینید:
    کد:
    #include <avr/io.h>
    
    #include <util/delay.h>
    
    #include <stdlib.h>
    
    #include <string.h>
    
    #include "lcd_lib.c"
    
    #include "a2d.c"
    
    int num;
    
    char str[10];
    
    int main()
    
    {
         cbi(DDRA, 3);
         
         cbi(PORTA, 3);
    	 
    	 DDRB=0xff;
    	  
         a2dInit();
    	 
    	 LCDinit();
         
         a2dSetPrescaler(ADC_PRESCALE_DIV8);
    	   
         a2dSetReference(ADC_REFERENCE_AREF);
         
         a2dStartConvert(); 
    	 
    	 while (1)
    	 {
    	     LCDclr();
    		 
    		 num = a2dConvert8bit(ADC_CH_ADC3);
    		 
    		 PORTB=num;
    		 
    		 
    		 itoa(num, str, 10);
    		 
    		 LCDstring(str,strlen(str));
    		 
    		 _delay_ms(100);
    		 
    		 PORTB=num;
    		 
    	 }
    	 
    	 return 0;
       
    }
    مشکل این برنامه کجاست که کامپایل میشه ولی حتی به صورت عملی هم کار نمیکنه؟؟
    ضمنا مهندس اگه احیانا کتابخونه جدیدی برای آنالوگ به دیجیتال دارید ممنون میشم که برسونید
    چون قبلا که با ال سی دی مشکل داشتم یه کتابخونه پیدا کردم که کارمو راه انداخت
    ممنون
    ویرایش توسط vahidasm : 06-11-2012 در ساعت 13:36
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  10. #7
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام مهندس
    رو السيدي چي نشون ميده؟ اصلا چيزي نشون ميده؟ يا فقط مربع نشون ميده؟
    با كدوم ورژن كامپايلش ميكني؟
    تو محيط AVRstudio يا pn كامپايلش ميكني؟
    _____________________________________
    _____________________________________

  11. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  12. #8
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلام مهندس
    رو ال سی دی چیزی نمایش داده نمیشه ولی وقتی همون مدار رو یه برنامه دیگه مثل شمارش اعداد براش مینویسم عین ساعت کار میکنه(فک نمیکنم سخت افزاری مشکل داشته باشه)
    ورژن WinAVR-20100110
    من با خود وین ای وی آر (programmer's Notepad)کامپایل میکنم مشکل داره؟
    ویرایش توسط vahidasm : 06-11-2012 در ساعت 13:32
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  13. #9
    کاربر فعال pooriya آواتار ها
    تاریخ عضویت
    Nov 2008
    نام
    پوریا علیزاده
    نوشته ها
    316
    تشکر
    163
    تشکر شده 676 بار در 217 پست

    پیش فرض

    سلام ببین این به دردت می خوره.
    قبلا با این کتابخونه سنسور MQ2 را راه اندازی کردم و مشکلی نداشته.(البته با AVRSTUDIO)
    [PHP]#include <avr/io.h>
    #include <avr/pgmspace.h>
    #include <util/delay.h>
    #include "lcd_lib.h"
    #include "global.h"
    #include "a2d.h"


    #define F_CPU 1000000UL
    const uint8_t LCDwelcomeln1[] PROGMEM="POORIA";


    void program( uint8_t adc_result){

    if (adc_result>180){

    PORTD=0x3;
    }

    else {

    PORTD=0;

    };

    }

    int main(void)
    {
    uint8_t adc_result;
    LCDinit();//init LCD bit, dual line, cursor right
    LCDclr();//clears LCD
    LCDcursorOFF();
    a2dInit();
    DDRA = 0x00;
    DDRD = 0xFF;
    // make sure pull-up resistors are turned off
    PORTA = 0x00;
    // set the a2d prescaler (clock division ratio)
    // - a lower prescale setting will make the a2d converter go faster
    // - a higher setting will make it go slower but the measurements
    // will be more accurate
    // - other allowed prescale values can be found in a2d.h
    a2dSetPrescaler(ADC_PRESCALE_DIV8);

    // set the a2d reference
    // - the reference is the voltage against which a2d measurements are made
    // - other allowed reference values can be found in a2d.h
    a2dSetReference(ADC_REFERENCE_AVCC);
    a2dSetChannel(0);
    a2dStartConvert();

    LCDGotoXY(1,0);
    LCDstring("POORIA_A",8);
    LCDGotoXY(1,1);
    LCDstring("MAGID_BA",8);
    _delay_ms(2000);
    LCDclr();//clears LCD

    while(1)
    {

    LCDGotoXY(0,0);
    LCDstring("L ",8);
    LCDGotoXY(8,0);
    LCDstring("M",1);
    LCDGotoXY(15,0);
    LCDstring("D",1);

    LCDGotoXY(0,1);
    LCDprogressBar(a2dConvert8bit(0),255,16);
    adc_result=a2dConvert8bit(0); // Read Analog value from channel-0
    //LCDGotoXY(2,0);
    //LCDWriteInt(adc_result,4); //Print the value in 4th column second line
    program(adc_result);

    _delay_ms(100);

    }

    }[/PHP]

  14. تشکرها از این نوشته :


  15. #10
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    نقل قول نوشته اصلی توسط pooriya نمایش پست ها
    سلام ببین این به دردت می خوره.
    قبلا با این کتابخونه سنسور mq2 را راه اندازی کردم و مشکلی نداشته.(البته با avrstudio)
    [php]#include <avr/io.h>
    #include <avr/pgmspace.h>
    #include <util/delay.h>
    #include "lcd_lib.h"
    #include "global.h"
    #include "a2d.h"


    #define f_cpu 1000000ul
    const uint8_t lcdwelcomeln1[] progmem="pooria";


    void program( uint8_t adc_result){

    if (adc_result>180){

    portd=0x3;
    }

    else {

    portd=0;

    };

    }

    int main(void)
    {
    uint8_t adc_result;
    lcdinit();//init lcd bit, dual line, cursor right
    lcdclr();//clears lcd
    lcdcursoroff();
    a2dinit();
    ddra = 0x00;
    ddrd = 0xff;
    // make sure pull-up resistors are turned off
    porta = 0x00;
    // set the a2d prescaler (clock division ratio)
    // - a lower prescale setting will make the a2d converter go faster
    // - a higher setting will make it go slower but the measurements
    // will be more accurate
    // - other allowed prescale values can be found in a2d.h
    a2dsetprescaler(adc_prescale_div8);

    // set the a2d reference
    // - the reference is the voltage against which a2d measurements are made
    // - other allowed reference values can be found in a2d.h
    a2dsetreference(adc_reference_avcc);
    a2dsetchannel(0);
    a2dstartconvert();

    lcdgotoxy(1,0);
    lcdstring("pooria_a",8);
    lcdgotoxy(1,1);
    lcdstring("magid_ba",8);
    _delay_ms(2000);
    lcdclr();//clears lcd

    while(1)
    {

    lcdgotoxy(0,0);
    lcdstring("l ",8);
    lcdgotoxy(8,0);
    lcdstring("m",1);
    lcdgotoxy(15,0);
    lcdstring("d",1);

    lcdgotoxy(0,1);
    lcdprogressbar(a2dconvert8bit(0),255,16);
    adc_result=a2dconvert8bit(0); // read analog value from channel-0
    //lcdgotoxy(2,0);
    //lcdwriteint(adc_result,4); //print the value in 4th column second line
    program(adc_result);

    _delay_ms(100);

    }

    }[/php]
    مهندس شما اینو رو پروتیوس هم تونستید تست کنید؟؟
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  16. #11
    کاربر فعال pooriya آواتار ها
    تاریخ عضویت
    Nov 2008
    نام
    پوریا علیزاده
    نوشته ها
    316
    تشکر
    163
    تشکر شده 676 بار در 217 پست

    پیش فرض

    بله مهندس مشکلی نداره
    کل فایلو میزارم با پروتئوس.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar main.rar (64.8 کیلو بایت, 84 نمايش)

  17. کاربران : 2 تشکر کرده اند از شما pooriya برای ارسال این پست سودمند:


  18. #12
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

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

  19. #13
    کاربر فعال pooriya آواتار ها
    تاریخ عضویت
    Nov 2008
    نام
    پوریا علیزاده
    نوشته ها
    316
    تشکر
    163
    تشکر شده 676 بار در 217 پست

    پیش فرض

    اون حالت فقط یکی از توابع کتابخونه lcd هست که با پر کردن پیکسل های lcd به صورت طولی عمل می کنه.اگه به تابعش نگاه کنید در lcd_lib.c همه چی مشخصه.
    فقط باید در تنظیمات این تابع دقت داشته باشین که متغییر شما نباید بیشتر از 8 بیتی باشه.
    و طول lcd تون را داخل تابع مشخص کنید.
    در برنامه بالا adc در مد 8 بیتی پیکر بندی شده و مقدار خوانده شده توسط adc داخل این تابع قرار می گیره .
    [PHP]LCDprogressBar(a2dConvert8bit(0),255,16);[/PHP]
    در تابع بالا 16 همان طول lcd
    255 حداکثر مقدار متغییر(که گفتیم باید 8 بیتی باشه)
    و a2dConvert8bit(0) مقدار خوانده شده از Adc .

  20. کاربران : 2 تشکر کرده اند از شما pooriya برای ارسال این پست سودمند:


  21. #14
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلام مهندس
    آقا یه سوال دیگه پیش اومد
    من برنامه ای که شما نوشتین رو بردم آنالیز کردم یکم دستکاری کردم
    با قسمت ال سی دی بیشتر کار کردم و ....
    از همه اینا جواب گرفتم ولی متاسفانه قسمت آنالوگ به دیجیتال باز هم گیر میده به یه سری چیزاش
    حالا سوالم اینه که آیا winavr ای که من نصب کردم مشکل داره یا اینکه مشکل از برنامه یه چیز دیگس؟؟
    ممنون
    اینم برنامه ای که نوشتم:
    [PHP]#include <avr/io.h>

    #include <util/delay.h>

    #include "lcd_lib.c"

    #include <stdlib.h>

    #include <string.h>

    #include "global.h"

    #include "a2d.h"

    #include <avr/pgmspace.h>

    #define F_CPU 1000000UL

    uint8_t a=0;

    char str[3];

    int main()
    {
    DDRA = 0x00;

    LCDinit();

    a2d init();

    a2dSetPrescaler(ADC_PRESCALE_DIV8);

    a2dSetReference(ADC_REFERENCE_AVCC);

    a2dSetChannel(0);

    a2dStartConvert();

    while (1)
    {
    LCDclr();

    a=a2dConvert8bit(0);

    LCDGotoXY(0,0);

    LCDstring("temp:",5);

    LCDGotoXY(5,0);

    LCDprogressBar(a,255,11);

    _delay_ms(10);

    itoa(a,str,10);

    LCDGotoXY(0,1);

    LCDstring(str,3);
    }
    }[/PHP]

    ضمنا ارورهایی که میگیره به صورت زیره:

    کد:
    Compiling C: main.c
    avr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=1000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst  -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o 
    In file included from lcd_lib.c:15,
                     from main.c:5:
    lcd_lib.h:44:19: warning: extra tokens at end of #ifdef directive
    lcd_lib.h:69:17: warning: extra tokens at end of #ifdef directive
    In file included from main.c:11:
    global.h:34:1: warning: "F_CPU" redefined
    <command-line>: warning: this is the location of the previous definition
    main.c:24: warning: function declaration isn't a prototype
    main.c: In function 'main':
    main.c:29: error: 'a2d' undeclared (first use in this function)
    main.c:29: error: (Each undeclared identifier is reported only once
    main.c:29: error: for each function it appears in.)
    main.c:29: error: expected ';' before 'init'
    main.c:47: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
    main.c:59: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
    make.exe: *** [main.o] Error 1
    
    > Process Exit Code: 2
    > Time Taken: 00:00
    ویرایش توسط vahidasm : 08-11-2012 در ساعت 03:43
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  22. #15
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    آقا ممنون درست شد.
    فقط یه سوال باقی میمونه.
    تابع زیر:
    [PHP] a2dSetChannel(0);[/PHP]

    نشون میده که ما باید قیل از تبدیل مشخص کنیم که میخوایم از کدوم کانال نمونه برداری کنیم درسته؟؟
    حالا اگه من بخوام از 3 یا 4 تا کانال با هم نمونه برداری کنم چطو میشه؟؟
    ممنون
    ویرایش توسط vahidasm : 08-11-2012 در ساعت 13:42
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  23. تشکرها از این نوشته :


  24. #16
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

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

    [PHP]
    #include<avr/io.h>

    #include<avr/interrupt.h>

    #include<util/delay.h>


    ISR(INT0_vect)
    {
    PORTA=!(PORTA);
    }

    int main()
    {
    DDRA=0xff;

    PORTA=0x00;

    sei();

    while(1)
    {

    }
    }
    [/PHP]

    دوستان مکل این کد کجاست؟؟میخوام وقفه خارجی 0 رو راه بندازم ولی ناموفق بودم
    ممنون
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  25. #17
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام مهندس
    برنامه كامپايل نميشه يا درست اجرا نميشه؟
    ظاهرا كه درست نوشته شده.
    _____________________________________
    _____________________________________

  26. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  27. #18
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلام مهندس
    برنامه درست شد
    با کلی سر و کله زدن بلاخره مشکل حل شد
    اگه مشکلشو بگم شاید بخندید
    خلاصه میگم-مشکل این بود که رجیسترها رو مقدار دهی نکرده بودم
    برنامه درست:
    [PHP]
    #include<avr/io.h>

    #include<avr/interrupt.h>

    #include<util/delay.h>


    ISR(INT0_vect)
    {
    PORTA=!(PORTA);
    }

    int main()
    {
    DDRA=0xff;

    PORTA=0x00;

    GICR=0x40;

    MCUCR=0x02;

    GIFR=0x40;

    sei();

    while(1)
    {

    }
    }
    [/PHP]

    حالا غیر از این یه سوال برام پیش اومده
    اونم اینه که من توبرنامه مشخص کردم که تمام پورت A تاگل شه
    ولی تو پروتیوس که اجرا میکنم میبینم که فقط پایه 0 از پورت A تاگل میشه چرا؟؟؟؟؟؟
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  28. تشکرها از این نوشته :

    KHM

  29. #19
    کاربر فعال pooriya آواتار ها
    تاریخ عضویت
    Nov 2008
    نام
    پوریا علیزاده
    نوشته ها
    316
    تشکر
    163
    تشکر شده 676 بار در 217 پست

    پیش فرض

    سلام

    مهندس به این صورت بنویس.
    [PHP]ISR(INT0_vect)
    {
    PORTA=~(PORTA);
    }[/PHP]

  30. کاربران : 2 تشکر کرده اند از شما pooriya برای ارسال این پست سودمند:


  31. #20
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلام دوستان
    یه سوال دیگه:
    [PHP]ISR(INT0_vect)[/PHP]

    میدونید که برای اجرای روتین هر وقفه باید دستوری مثل بالا بنویسیم و بعد از اون به جای INT0_vect اسم وقفه مورد نظر رو بنویسیم
    حالا سوالم اینه که من اگه بخوام از وقفه های دیگه ای مث سرریز تایمر و .... تو winavr استفاده کنم باید این اسم ها رو از کجا پیدا کنم؟؟
    میشه یه لیستی چیزی در صورت امکان بذارید؟؟
    ممنون
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

صفحه 1 از 2 12 آخرینآخرین

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

  1. مشکل با winavr
    توسط piremard در انجمن AVR
    پاسخ: 11
    آخرين نوشته: 07-03-2013, 15:25
  2. نرم افزار winavr
    توسط M3R در انجمن در خواست نرم افزارو كرك
    پاسخ: 7
    آخرين نوشته: 04-10-2010, 23:16
  3. پاسخ: 9
    آخرين نوشته: 23-05-2010, 14:18
  4. ارتباط کتابخانه AVRLIB با Eclipse
    توسط mahmoudARM در انجمن AVR
    پاسخ: 2
    آخرين نوشته: 06-03-2009, 15:45
  5. کامپایلر WinAvr برای دانلود(12 قسمت )
    توسط kavir در انجمن پرسش و پاسخ (نرم افزارهای تخصصی)
    پاسخ: 3
    آخرين نوشته: 28-11-2007, 20:30

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

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