PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نحوه مقدار دهی به رجیسترها



mehdi_nxp
27-07-2012, 19:19
سلام به همگی :hi:
در مورد lpc1313 میخاستم بدونم چه جوری با ید به رجیستر هاش تو keil مقدار دهی کنم؟
مثلا برای کنترل پین pio0_3 تو دیتاشیت نوشته :IOCON_PIO0_3
ولی تو keil با ید اینجوری نوشت: LPC_IOCON->PIO0_3
حالا سوال اینجاست که نحوه نوشتن رجیستر ها رو از کجا باید بفهمم؟
مثلا این چه جوریه؟
SSP0CLKDIV

agape
27-07-2012, 19:56
سلام دایی جان - خوب کاری نداره
برو تو هدر LPC13xx.h توی اون اومده تمام رجیستر ها رو نوسته به صورت استراکچر اونجا به راحتی میتونی لیست تمام رجیستر ها رو ببینی

mehdi_nxp
27-07-2012, 20:06
میشه برای این رجیستر یک مثال بزنید.با تشکر.
Ssp0clkdiv

agape
27-07-2012, 20:29
خوب دایی جان دو تا راه داری اول خود این عبارت رو تو فایلی که قبلا گفتم جستجو میکنی و میبینی آیا هست یا نه اگر بود که هست البته - و تحت ساختار LPC_SYSCON_TypeDef هست


__IO uint32_t SSP0CLKDIV; /*!< Offset: 0x094 (R/W) SSP1 clock divider Register */

که مشخص کرده به مقدار 32 بیتی داره و قابل خوندن و نوشتن هست و اگر دقت کنی باید با حرف بزرگ بنویسیش خودت میدونی دیگه زبان سی حساس به کوچک و بزرگ بودن حروفه
حالا میبینی که این استراکچر کجا استفاده شده که میبینیم


#define LPC_SYSCON ((LPC_SYSCON_TypeDef *) LPC_SYSCON_BASE)

پس برای دست رسی به این رجیستر اینطوری عمل میکنی


LPC_SYSCON->SSP0CLKDIV

به همین راحتی

saeedmo
13-08-2012, 14:12
با سلام یه سوال داشتم .در lpc1768 برای راه اندازی adc در مد 10 بیتی باید کدوم رجیسترو تغییر داد ممنون میشم یک مثال بزنید