اطلاعیه

Collapse
No announcement yet.

lpc1768

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

    lpc1768

    سلام دوستان.من جدیدا باتوجه به پیشنهاد دوستان برای خوندن دیتا شیتlpc1768برای یادگیری اقدام کردم اما برام گنگ هستش ازدوستان که اینکارو کردن تقاضای راهنمایی جهت خواندن دیتا شیت دارمو نیازمند چندتا برنامه ساده برای نمونه که کمکم کنه
    انگیزه زیادی واسه این یادگیری دارم تا منصرف نشدم کمک کنید خیلی سخته اینجوری یادگرفتن :angry: :angry: :angry:

    #2
    پاسخ : lpc1768

    تا دلت بخواد برنامه نمونه واسه LPC هست. کامپایلر انتخابیتون چیه؟
    من توصیم اینه که شما اول AVR رو خوب یاد بگیر(و خصوصا کدنویسی) بعد از یه مدت کار کردن با AVR بیا سراغ ARM
    الان اینجوری که اومدید خیلی اذیت میشید.

    من توصیه میکنم کتاب آموزش ARM که توی فروم هست و اگه ذهنم درست یاری کنه با LPC بود رو دانلود کن و شروع کن. نمی خواد دیتا شیت رو بخونی.

    دیدگاه


      #3
      پاسخ : lpc1768

      نوشته اصلی توسط rozeh
      تا دلت بخواد برنامه نمونه واسه LPC هست. کامپایلر انتخابیتون چیه؟
      من توصیم اینه که شما اول AVR رو خوب یاد بگیر(و خصوصا کدنویسی) بعد از یه مدت کار کردن با AVR بیا سراغ ARM
      الان اینجوری که اومدید خیلی اذیت میشید.

      من توصیه میکنم کتاب آموزش ARM که توی فروم هست و اگه ذهنم درست یاری کنه با LPC بود رو دانلود کن و شروع کن. نمی خواد دیتا شیت رو بخونی.
      تشکر بابت پاسختون.avrرو کارکردم .ازkeilاستفاده میکنم زبان برنامه نویسیمم سی هستش.منظور از کدنویسی چیه؟
      گشتم چیزی واسه دانلود گیرم نیومد

      دیدگاه


        #4
        پاسخ : lpc1768

        نوشته اصلی توسط morteza7090
        سلام دوستان.من جدیدا باتوجه به پیشنهاد دوستان برای خوندن دیتا شیتlpc1768برای یادگیری اقدام کردم اما برام گنگ هستش ازدوستان که اینکارو کردن تقاضای راهنمایی جهت خواندن دیتا شیت دارمو نیازمند چندتا برنامه ساده برای نمونه که کمکم کنه
        انگیزه زیادی واسه این یادگیری دارم تا منصرف نشدم کمک کنید خیلی سخته اینجوری یادگرفتن :angry: :angry: :angry:
        سری آرم بر خلاف میکرو های دیگه و برخلاف حتی میکرو پروسسور ها یک کانفیگ یا ساختار مشخص نداره . و این ساختارش حین عمرش هی عوض میشه . 100 دلیل باعث این کار شده . یکی از علت هاش مثلا بهینه سازی مصرف توان است .اگه با قسمتی کار میکنی اول کلاک اونو روشن کن . حتی کلاک اصلی خود پروسسور را . بعدا کلاکش رو خاموش کن ( فیلسوف ناشناس این انجمن میگه : با چیزی که باتو کار نداره باهاش کار نداشته باش ) این اصل در معماری آرم رعایت شده .

        پس بنا براین اینکه داری دیتا شیت رو میخونی شرط هم لازم و کافی است برا یادگیریش .

        واما اینی که میگی گنگ هست 100 البته .

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

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

        دیدگاه


          #5
          پاسخ : lpc1768

          نوشته اصلی توسط aliila
          پس بنا براین اینکه داری دیتا شیت رو میخونی شرط هم لازم و کافی است برا یادگیریش .
          ولی واسه اونایی که دنبال LPC هستن راه خیلی بازه! ساید لازم باشه قسمت کوچیکی از دیتاشیت رو یه نگاهی بندازن.

          دیدگاه


            #6
            پاسخ : lpc1768

            تشکر بابت جواباتون آقایaliilaراهکار شما چیه؟
            آقای rozeh نگفتید کد نویسی رو؟

            دیدگاه


              #7
              پاسخ : lpc1768

              نوشته اصلی توسط morteza7090
              آقای rozeh نگفتید کد نویسی رو؟
              ببینید روزانه خیلی از دوستان میان اینجا و سوال دارن. سوالات واقعا خنده دار!
              بیشترشون مثلا بلد نیستن با عملگرها کار کنن. ببینید اینجا دیگه کدویژن نیست که خیلی راحت به یه پین/پورت دسترسی داشته باشین. با توجه به تنوع میکروهای بیس ARM شما باید مثلا حداقل توانایی این رو داشته باشید که بتونید مثلا یه کتابخونه رو واسه کارتون تغییر بدید. یه سری چیزهای دیگه هم هست که الان ذهنم متاسفانه یاری نمیکنه.

              دیدگاه


                #8
                پاسخ : lpc1768

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


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

                پریفرال UART رو مثال میزنم.
                نگاهی به این توابع بنداز:
                کد:
                /* UART Init/DeInit functions --------------------------------------------------*/
                void UART_Init(LPC_UART_TypeDef *UARTx, UART_CFG_Type *UART_ConfigStruct);
                void UART_DeInit(LPC_UART_TypeDef* UARTx);
                void UART_ConfigStructInit(UART_CFG_Type *UART_InitStruct);
                
                /* UART Send/Receive functions -------------------------------------------------*/
                void UART_SendByte(LPC_UART_TypeDef* UARTx, uint8_t Data);
                uint8_t UART_ReceiveByte(LPC_UART_TypeDef* UARTx);
                uint32_t UART_Send(LPC_UART_TypeDef *UARTx, uint8_t *txbuf,
                		uint32_t buflen, TRANSFER_BLOCK_Type flag);
                uint32_t UART_Receive(LPC_UART_TypeDef *UARTx, uint8_t *rxbuf, \
                		uint32_t buflen, TRANSFER_BLOCK_Type flag);
                
                /* UART FIFO functions ----------------------------------------------------------*/
                void UART_FIFOConfig(LPC_UART_TypeDef *UARTx, UART_FIFO_CFG_Type *FIFOCfg);
                void UART_FIFOConfigStructInit(UART_FIFO_CFG_Type *UART_FIFOInitStruct);
                
                /* UART get information functions -----------------------------------------------*/
                uint32_t UART_GetIntId(LPC_UART_TypeDef* UARTx);
                uint8_t UART_GetLineStatus(LPC_UART_TypeDef* UARTx);
                
                /* UART operate functions -------------------------------------------------------*/
                void UART_IntConfig(LPC_UART_TypeDef *UARTx, UART_INT_Type UARTIntCfg, \
                				FunctionalState NewState);
                void UART_TxCmd(LPC_UART_TypeDef *UARTx, FunctionalState NewState);
                FlagStatus UART_CheckBusy(LPC_UART_TypeDef *UARTx);
                void UART_ForceBreak(LPC_UART_TypeDef* UARTx);
                
                /* UART Auto-baud functions -----------------------------------------------------*/
                void UART_ABClearIntPending(LPC_UART_TypeDef *UARTx, UART_ABEO_Type ABIntType);
                void UART_ABCmd(LPC_UART_TypeDef *UARTx, UART_AB_CFG_Type *ABConfigStruct, \
                				FunctionalState NewState);
                
                /* UART1 FullModem functions ----------------------------------------------------*/
                void UART_FullModemForcePinState(LPC_UART1_TypeDef *UARTx, UART_MODEM_PIN_Type Pin, \
                							UART1_SignalState NewState);
                void UART_FullModemConfigMode(LPC_UART1_TypeDef *UARTx, UART_MODEM_MODE_Type Mode, \
                							FunctionalState NewState);
                uint8_t UART_FullModemGetStatus(LPC_UART1_TypeDef *UARTx);
                
                /* UART RS485 functions ----------------------------------------------------------*/
                void UART_RS485Config(LPC_UART1_TypeDef *UARTx, \
                		UART1_RS485_CTRLCFG_Type *RS485ConfigStruct);
                void UART_RS485ReceiverCmd(LPC_UART1_TypeDef *UARTx, FunctionalState NewState);
                void UART_RS485SendSlvAddr(LPC_UART1_TypeDef *UARTx, uint8_t SlvAddr);
                uint32_t UART_RS485SendData(LPC_UART1_TypeDef *UARTx, uint8_t *pData, uint32_t size);
                
                /* UART IrDA functions-------------------------------------------------------------*/
                void UART_IrDAInvtInputCmd(LPC_UART_TypeDef* UARTx, FunctionalState NewState);
                void UART_IrDACmd(LPC_UART_TypeDef* UARTx, FunctionalState NewState);
                void UART_IrDAPulseDivConfig(LPC_UART_TypeDef *UARTx, UART_IrDA_PULSE_Type PulseDiv);
                /**
                 * @}
                 */
                اینا مربوط میشه به توابع CMSIS برای کار با این پریفرال.
                به نظر من تا طرف رجیستر هارو بلد نباشه کار کردن با این توابع و استفاده حرفه ای و کامل از پریفرال غیر ممکنه.



                تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                دیدگاه


                  #9
                  پاسخ : lpc1768

                  تشکر بابت پاسخ تمام دوستان/من avrهم که کارمیکنم سعیم براین بود از رجیسترها استفاده کنم خیلی کم پیش میومد از کدویزارد استفاده کنم.هرچی دنبال آموزش واسه lpcگشتم چیزی پیدانکردم مجبورشدم برم دنبال دیتاشیت.راهکار شما واسه استفاده بهینه از دیتاشیت؟ویادگیری بهتر چیه؟

                  دیدگاه


                    #10
                    پاسخ : lpc1768

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

                    پریفرال UART رو مثال میزنم.
                    نگاهی به این توابع بنداز:
                    کد:
                    /* UART Init/DeInit functions --------------------------------------------------*/
                    void UART_Init(LPC_UART_TypeDef *UARTx, UART_CFG_Type *UART_ConfigStruct);
                    void UART_DeInit(LPC_UART_TypeDef* UARTx);
                    void UART_ConfigStructInit(UART_CFG_Type *UART_InitStruct);
                    
                    /* UART Send/Receive functions -------------------------------------------------*/
                    void UART_SendByte(LPC_UART_TypeDef* UARTx, uint8_t Data);
                    uint8_t UART_ReceiveByte(LPC_UART_TypeDef* UARTx);
                    uint32_t UART_Send(LPC_UART_TypeDef *UARTx, uint8_t *txbuf,
                    		uint32_t buflen, TRANSFER_BLOCK_Type flag);
                    uint32_t UART_Receive(LPC_UART_TypeDef *UARTx, uint8_t *rxbuf, \
                    		uint32_t buflen, TRANSFER_BLOCK_Type flag);
                    
                    /* UART FIFO functions ----------------------------------------------------------*/
                    void UART_FIFOConfig(LPC_UART_TypeDef *UARTx, UART_FIFO_CFG_Type *FIFOCfg);
                    void UART_FIFOConfigStructInit(UART_FIFO_CFG_Type *UART_FIFOInitStruct);
                    
                    /* UART get information functions -----------------------------------------------*/
                    uint32_t UART_GetIntId(LPC_UART_TypeDef* UARTx);
                    uint8_t UART_GetLineStatus(LPC_UART_TypeDef* UARTx);
                    
                    /* UART operate functions -------------------------------------------------------*/
                    void UART_IntConfig(LPC_UART_TypeDef *UARTx, UART_INT_Type UARTIntCfg, \
                    				FunctionalState NewState);
                    void UART_TxCmd(LPC_UART_TypeDef *UARTx, FunctionalState NewState);
                    FlagStatus UART_CheckBusy(LPC_UART_TypeDef *UARTx);
                    void UART_ForceBreak(LPC_UART_TypeDef* UARTx);
                    
                    /* UART Auto-baud functions -----------------------------------------------------*/
                    void UART_ABClearIntPending(LPC_UART_TypeDef *UARTx, UART_ABEO_Type ABIntType);
                    void UART_ABCmd(LPC_UART_TypeDef *UARTx, UART_AB_CFG_Type *ABConfigStruct, \
                    				FunctionalState NewState);
                    
                    /* UART1 FullModem functions ----------------------------------------------------*/
                    void UART_FullModemForcePinState(LPC_UART1_TypeDef *UARTx, UART_MODEM_PIN_Type Pin, \
                    							UART1_SignalState NewState);
                    void UART_FullModemConfigMode(LPC_UART1_TypeDef *UARTx, UART_MODEM_MODE_Type Mode, \
                    							FunctionalState NewState);
                    uint8_t UART_FullModemGetStatus(LPC_UART1_TypeDef *UARTx);
                    
                    /* UART RS485 functions ----------------------------------------------------------*/
                    void UART_RS485Config(LPC_UART1_TypeDef *UARTx, \
                    		UART1_RS485_CTRLCFG_Type *RS485ConfigStruct);
                    void UART_RS485ReceiverCmd(LPC_UART1_TypeDef *UARTx, FunctionalState NewState);
                    void UART_RS485SendSlvAddr(LPC_UART1_TypeDef *UARTx, uint8_t SlvAddr);
                    uint32_t UART_RS485SendData(LPC_UART1_TypeDef *UARTx, uint8_t *pData, uint32_t size);
                    
                    /* UART IrDA functions-------------------------------------------------------------*/
                    void UART_IrDAInvtInputCmd(LPC_UART_TypeDef* UARTx, FunctionalState NewState);
                    void UART_IrDACmd(LPC_UART_TypeDef* UARTx, FunctionalState NewState);
                    void UART_IrDAPulseDivConfig(LPC_UART_TypeDef *UARTx, UART_IrDA_PULSE_Type PulseDiv);
                    /**
                     * @}
                     */
                    اینا مربوط میشه به توابع CMSIS برای کار با این پریفرال.
                    به نظر من تا طرف رجیستر هارو بلد نباشه کار کردن با این توابع و استفاده حرفه ای و کامل از پریفرال غیر ممکنه.
                    :rolleyes:
                    قبول دارم.
                    اگه اینجوری به قضیه نگاه کنیم همین طوره. واقعا واسه عمقی یاد گرفتن باید دیتاشیت رو بخوری!

                    دیدگاه


                      #11
                      پاسخ : lpc1768

                      نوشته اصلی توسط morteza7090
                      تشکر بابت پاسخ تمام دوستان/من avrهم که کارمیکنم سعیم براین بود از رجیسترها استفاده کنم خیلی کم پیش میومد از کدویزارد استفاده کنم.هرچی دنبال آموزش واسه lpcگشتم چیزی پیدانکردم مجبورشدم برم دنبال دیتاشیت.راهکار شما واسه استفاده بهینه از دیتاشیت؟ویادگیری بهتر چیه؟
                      الان که هر سه تاییمون داشتیم بهت میگفتیم چی رو باید بخونی، هر سه تامون یه سوتی دادیم که هواسمون نبود. البته خوندن دیتاشیت میکرو واقها توصیه میشه ولی منظور ما یوزر مانوال بود.
                      این زندگی هواس واسه من یکی که نذاشته.

                      آها، فقط یه چیز میگم امیدوارم شما ناراحت نشید.
                      یادگرفتن ARM در کل کار هر کس نیست(منظورم این نیست که خدایی نکرده شما مال این حرفا نیستید، منظورم اینه که شما قبل از وارد شدن به ARM باید یه سری چیزها رو از قبل بلد باشید که این چیزها هم با تجربه زیاد به دست میاد). به عبارتی، ARMها مثل هشت بیتیها نیستن که بچه ها بهشون میگم میکرو واسه بازی. تازه همین هشت بیتی ها هم در روز شونصد نفر دارن میان توی قسمت AVR و میگن مشکل دارن.

                      دیدگاه


                        #12
                        پاسخ : lpc1768

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

                        دیدگاه


                          #13
                          پاسخ : lpc1768

                          نوشته اصلی توسط morteza7090
                          انگیزه زیادی واسه این یادگیری دارم تا منصرف نشدم کمک کنید خیلی سخته اینجوری یادگرفتن :angry: :angry: :angry:
                          سلام
                          ای بابا الان که دیگه یادگیری آرم کورتکس 1768 خیلی راحت تر شده با منابع آموزشی موجود
                          فيلم آموزشي ميکروکنترلر LPC1768
                          فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
                          فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
                          فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...

                          دیدگاه


                            #14
                            پاسخ : lpc1768

                            نوشته اصلی توسط mzarkoob
                            سلام
                            ای بابا الان که دیگه یادگیری آرم کورتکس 1768 خیلی راحت تر شده با منابع آموزشی موجود
                            چه منابعی میشه معرفی کنید؟

                            دیدگاه


                              #15
                              پاسخ : lpc1768

                              نوشته اصلی توسط morteza7090
                              چه منابعی میشه معرفی کنید؟
                              فیلم آموزشی هم حتی هست.
                              جناب زرکوب تهیه کردن(همین دوستمون).

                              دیدگاه

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