اطلاعیه

Collapse
No announcement yet.

یه سوال ساده در مورد پروگرمینگ آرم با سی

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

    یه سوال ساده در مورد پروگرمینگ آرم با سی

    من 2 تا button و 2 تا led دارم که میخوام به اینصورت برنامه شو بنویسم..
    اگه button 1 فشرده شد led 2 روشن بشه و روشن بمونه حتی اگه من دستم و از روی button 1 بردارم.
    رجیستر باتن 1 = پورت شماره 19
    led 2 = شماره 17

    برای وقتی که با فشردن باتن 1, led شماره 2 روشن بشه و با برداشتن دستم از روی باتن led خاموش بشه رو تونستم بنویسم اما برای اینکه با یه بار فشردن باتن 1 همچنان led 2 روشن بمونه چیزی به ذهنم نمیرسه :(((

    #2
    پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

    سلام
    برنامتو بذار تا اشکالشو برطرف کنم ولی به نظرم بعد حلقه if دستور خاموش شدن LED رو بهش دادی! که اشتباهه!

    دیدگاه


      #3
      پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

      سلام دوست عزیز
      کار خیلی راحتیه... با چه میکرویی کار میکنی؟ و با چه کامپایلری؟

      دیدگاه


        #4
        پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

        چطوری میتونم کد برنامه رو add کنم؟ وقتی paste میکنم اینجا پس و پیش میشه و تقریبآ غیر قابل فهم..

        دیدگاه


          #5
          پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

          نوشته اصلی توسط negin-bahadori
          چطوری میتونم کد برنامه رو add کنم؟ وقتی paste میکنم اینجا پس و پیش میشه و تقریبآ غیر قابل فهم..
          بعد از این که کدت رو پست کردی انتخابش کن و توی اون شکلک ها # رو بزن!
          اگه روش اون شکله نگه داری مینویسه درج کد!
          انجام پروژه های برنامه نویسی اندروید
          [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
          http://cafebazaar.ir/app/?id=com.atxdroid

          دیدگاه


            #6
            پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

            [/code]
            کد:
            #include "AT91SAM7S256.h"
            #include "usart.h"
            
            void Config_Ports(void){
            
            	// pointer to PIO data structure
            	volatile AT91PS_PIO pPIO = AT91C_BASE_PIOA;
            
            	// PIO Enable Register - allow PIO to control pins
            	pPIO->PIO_PER = ((1<<19) | (1<<20) | (1<<17) | (1<<18));  // port 17, 18, 19, and 20
            
            	// PIO Output Enable Register
            	pPIO->PIO_OER = ((1<<17) | (1<<18)); // port 17 and 18
            }
            
            int	main (void) {
            
            	volatile AT91PS_PIO pPIO = AT91C_BASE_PIOA ;
            
            	LowLevelInit();	//(watchdog, PLL clock, default interrupts, IO-ports ,etc.)
            	USART0Setup(); // baudrate 115200 // no parity // 8-bit characters
            	Enable_IRQ();// enable interrupts
            
            	Config_Ports();
            
            	while (1) {
            //		Do something
            		if (pPIO->PIO_PDSR & (1<<19))  //check if not pressed
            	    (pPIO->PIO_SODR = ((1<<17)));
            
            		else
            			(pPIO->PIO_CODR = ((1<<17))); //turn on the led
            	}
            }

            دیدگاه


              #7
              پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

              این رو تست کن


              #include "AT91SAM7S256.h"
              #include "usart.h"

              void Config_Ports(void){

              // pointer to PIO data structure
              volatile AT91PS_PIO pPIO = AT91C_BASE_PIOA;

              // PIO Enable Register - allow PIO to control pins
              pPIO->PIO_PER = ((1<<19) | (1<<20) | (1<<17) | (1<<18)); // port 17, 18, 19, and 20

              // PIO Output Enable Register
              pPIO->PIO_OER = ((1<<17) | (1<<18)); // port 17 and 18
              }

              int main (void) {

              char state;
              volatile AT91PS_PIO pPIO = AT91C_BASE_PIOA ;


              LowLevelInit(); //(watchdog, PLL clock, default interrupts, IO-ports ,etc.)
              USART0Setup(); // baudrate 115200 // no parity // 8-bit characters
              Enable_IRQ();// enable interrupts

              Config_Ports();

              while (1) {
              // Do something
              if (pPIO->PIO_PDSR & (1<<19)) //check if not pressed
              {
              if(state) state=0;
              else(state) =1;
              while( pPIO->PIO_PDSR & (1<<19) );
              }

              pPIO->PIO_SODR = (state<<17) & 0x20000);


              }
              }
              انجام پروژه های برنامه نویسی اندروید
              [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
              http://cafebazaar.ir/app/?id=com.atxdroid

              دیدگاه


                #8
                پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

                من متوجه نشدم دقیقا میخاین چکار کنید برای همین اولین چیزی به ذهنم رسید نوشتم!
                اساس کار این هست که هر بار کلید رو فشار بدی باید ال ای دی تغیر وضعیت بده!
                انجام پروژه های برنامه نویسی اندروید
                [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
                http://cafebazaar.ir/app/?id=com.atxdroid

                دیدگاه


                  #9
                  پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

                  ای بابا...مرسی از کدی که فرستادین....حالا یه مشکل دیگه پیدا کردم :(( میخوام کد رو run کنم توی eclipse همش این error و میده:

                  "this selection can not be launched and there are no recent launches"

                  دیدگاه


                    #10
                    پاسخ : یه سوال ساده در مورد پروگرمینگ آرم با سی

                    کامپایل یا ران اخه تا اونجای من میدونم ایکلیپس برای ارم شبیه ساز نداره!
                    انجام پروژه های برنامه نویسی اندروید
                    [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
                    http://cafebazaar.ir/app/?id=com.atxdroid

                    دیدگاه

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