اطلاعیه

Collapse
No announcement yet.

یه برنامه ساده!

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

    یه برنامه ساده!

    سلام
    من الان تقریبا 1 ماهه دارم با ARM ورمیرم ولی حتی نتونستم یه LED چشمک زن بنویسم!!!
    البته باعث شرمه ولی خب نتونستم...
    میشه یه لطفی بکنین و یه برنامه LED چشمک زن ساده با KEIL واسم بذارین؟؟
    با ساده ترین فرمت برنامه نویسی...(آخه تو ARM یکم تازه کارم ..... )
    اگه میشه سورس واسم بذارین نه متن برنامه .. آخه نمیدونم مشکل تنظیمات اولیه دارم یا برنامه نویسی!!!
    با LPC1768 کار میکنم
    ممنون
    تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
    علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

    #2
    پاسخ : یه برنامه ساده!

    از کد آماده همین جا استفاده کن.
    http://www.eca.ir/forum2/index.php?topic=75448.0

    دیدگاه


      #3
      پاسخ : یه برنامه ساده!

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

      دیدگاه


        #4
        پاسخ : یه برنامه ساده!

        کد:
        #include <lpc17xx.h>
        
        void delay(void) {
        int i;
        for (i=0;i<3000000;i++);
        }
        
        int main(){
        	SystemInit();
        	LPC_GPIO2->FIODIR = 0x000000ff;
        	LPC_GPIO1->FIODIR = 0x00000000;
        	while(1)
        		{
        			LPC_GPIO2->FIOPIN = 0x55;
        			delay();
        			LPC_GPIO2->FIOPIN = 0xaa;
        			delay();
         }
        }

        دیدگاه


          #5
          پاسخ : یه برنامه ساده!

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

          دیدگاه


            #6
            پاسخ : یه برنامه ساده!

            نوشته اصلی توسط vahid_22002
            کد:
            #include <lpc17xx.h>
            
            void delay(void) {
            int i;
            for (i=0;i<3000000;i++);
            }
            
            int main(){
            	SystemInit();
            	LPC_GPIO2->FIODIR = 0x000000ff;
            	LPC_GPIO1->FIODIR = 0x00000000;
            	while(1)
            		{
            			LPC_GPIO2->FIOPIN = 0x55;
            			delay();
            			LPC_GPIO2->FIOPIN = 0xaa;
            			delay();
             }
            }
            سلام . میشه بگید تابع SystemInit(); چیه؟ آخه من بدون اون تابع هم برنامه رو امتحان کردم کار کرد. نوشتن اون ضرورتی داره؟

            دیدگاه


              #7
              پاسخ : یه برنامه ساده!

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

              دیدگاه


                #8
                پاسخ : یه برنامه ساده!

                systeminit() j
                تابعیه که تنظیمات کلاک و PCONP رو انجام می ده احتمالا شما دستی این کارو کردین.

                دیدگاه


                  #9
                  پاسخ : یه برنامه ساده!

                  سلامچ
                  وقتی من دقیقا همون برنامه ای رو که اول اول دوستمون زحمت کشیدن و گذاشتن ، عینا کپی میکنم تو کامپایلر ، error میده ..
                  نمیدونم دردش کجاست.
                  ممنون میشم اگه کمکم کنین...
                  تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                  علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                  دیدگاه


                    #10
                    پاسخ : یه برنامه ساده!

                    نوشته اصلی توسط vahid_22002
                    systeminit() j
                    تابعیه که تنظیمات کلاک و PCONP رو انجام می ده احتمالا شما دستی این کارو کردین.
                    من از وایزارد استفاده میکنم. اما این تابع آخه هیچ ورودی نداره. مثلا چطوری کلاک cpu رو تعیین کردید؟ M و N رو چطوری بهش دادید؟؟ میدونید! همچین یخورده برام سواله!!!! :rolleyes:

                    دیدگاه


                      #11
                      پاسخ : یه برنامه ساده!

                      احتمالا به تابع Systeminit() گیر می ده.
                      برای این که تابع کار بده، دو تا فایل رو باید اضافه کنین یکی system_LPC17xx.c و یکی هم startup_LPC17xx.s که این دوتا تو تمام پروژه های آماده سایت هست.

                      دیدگاه


                        #12
                        پاسخ : یه برنامه ساده!

                        نوشته اصلی توسط majidshahrouzi
                        من از وایزارد استفاده میکنم. اما این تابع آخه هیچ ورودی نداره. مثلا چطوری کلاک cpu رو تعیین کردید؟ M و N رو چطوری بهش دادید؟؟ میدونید! همچین یخورده برام سواله!!!! :rolleyes:
                        این دوتا فایلی که گفتم جفتشون ویزارد دارن.
                        برای تنظیم کلاک باید از system_LPC17xx.c استفاده کنین.
                        در ضمن دقت کنین که صرف کپی کردن این دوتا تو پوشه پروژه کافی نیست و باید به پروژه اضافه بشن.

                        دیدگاه


                          #13
                          پاسخ : یه برنامه ساده!

                          آقا من این دوتا فایلی که میگین رو به پروژه اضافه کردم ..ولی بازم کامپایل نشد.............
                          تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                          علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                          دیدگاه


                            #14
                            پاسخ : یه برنامه ساده!

                            نوشته اصلی توسط vahid_22002
                            احتمالا به تابع Systeminit() گیر می ده.
                            برای این که تابع کار بده، دو تا فایل رو باید اضافه کنین یکی system_LPC17xx.c و یکی هم startup_LPC17xx.s که این دوتا تو تمام پروژه های آماده سایت هست.
                            ببخشید دو زاریم نمیفته! مثلا کدهای زیر رو ببینید. برای چشمک زدن led ونمایش شمارنده روی LCD نوشتم و کار هم میکنه اما تابع Systeminit رو نداره!
                            کد:
                            #include"LPC17xx.h"
                            #define family_lpc17xx          /* TFTLCD definition */
                            #define TFTLCD_DATA_MSB_Nibble_Port_0
                            #define LCD_MSB_Nibble_OFFSET     15
                            #define TFTLCD_DATA_LSB_Nibble_Port_0
                            #define LCD_LSB_Nibble_OFFSET     4
                            #define TFTLCD_CONTROLPORT_2
                            #define TFTLCD_CS           8
                            #define TFTLCD_RS           9
                            #define TFTLCD_WR           10
                            #define TFTLCD_RD           11
                            #define TFTLCD_RST           13
                            
                            #include "lcd.h"
                            // #include "Touch.h"
                            
                            int main(void){
                              //unsigned int i;
                              LPC_GPIO2->FIODIR=(0x0f); //set p2.1 to p2.3 as output
                              LPC_SC->PCONP|=(1<<22);  //power on timer2  
                              LPC_TIM2->TCR=0X02; //reset and stop timer
                              LPC_TIM2->PR=0X04;  //set prescaler=4
                              LPC_TIM2->MR0=6250000; //set match value for compare
                              LPC_TIM2->MCR=0X1;  //interrupt on match(TC=MR0)
                              LPC_TIM2->TC=0X0;  //timer-counter=0
                              NVIC_EnableIRQ(TIMER2_IRQn); //enable TIMER2 Interrupt in NVIC
                              LPC_TIM2->TCR=0X01;   //enable timer2
                              
                              LCD_Init();
                              LCD_Clear (BLUE);
                            //  LCD_ShowNum(100,150,100,4,16);
                              LCD_Fill(0,100,239,150,BLUE);
                              
                              LPC_GPIO2->FIOSET=(0x01);
                              
                              while(1){
                              
                               //if(LPC_TIM2->TC>=4500000){
                                // LPC_TIM2->TCR=0X02;
                                // LPC_TIM2->TC=0X0;
                                // LPC_TIM2->TCR=0X01;
                                 //LPC_GPIO0->FIOSET=(1<<26);
                                 //for(i=0;i<2880000;i++);
                                 //LPC_GPIO2->FIOCLR=(1<<0);
                               //}
                              }
                            }
                            
                             TIMER2_IRQHandler(void){
                              static unsigned int j=0;
                              float s ;
                              LPC_TIM2->IR=0X01;  // clear MR0 interrupt flag
                              LPC_TIM2->TCR=0X02; //reset TC and PC register and stop timer??
                              LPC_TIM2->TC=0X0;  //timer-counter=0
                              LPC_TIM2->TCR=0X01; //enable timer2
                              j++;
                             
                              LCD_ShowNum(100,150,j,4,16);
                             
                              s=j%2;
                              
                              if(s==0)
                               LPC_GPIO2->FIOSET=(0x02);
                              else 
                               LPC_GPIO2->FIOCLR=(0x02);
                            
                              //LPC_GPIO2->FIOSET=(1<<0);
                              //for(j=0;j<43200000;j++);
                              //LPC_GPIO2->FIOCLR=(1<<0);
                              return j;
                            }

                            دیدگاه


                              #15
                              پاسخ : یه برنامه ساده!

                              نوشته اصلی توسط pars_paya
                              آقا من این دوتا فایلی که میگین رو به پروژه اضافه کردم ..ولی بازم کامپایل نشد.............
                              به چی گیر می ده؟
                              کدتونو بذارین.

                              دیدگاه

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