آذر میکرو ( دنیای میکروکنترلرها )

آذر میکرو ( دنیای میکروکنترلرها )

برنامه نویس میکروکنترل ها
آذر میکرو ( دنیای میکروکنترلرها )

آذر میکرو ( دنیای میکروکنترلرها )

برنامه نویس میکروکنترل ها

ریجسترهای lpc1768


ضمن تشکر خواهشمندم با نظرات و پیشنهادات خود ودر صورتی که مایل باشید مقالات خود در هرچه پر بار شدن مطالب یاری فرمایید  shapour608@gmail.com



میکروکنترلرهای ARM دارای هسته های مختلفی هست که در نسل های مختلف ارایه شده از جمله ی این هسته ها 
 ARM7 - ARM9 - ARM11...

 ARM7 - ARM9 - ARM11...و Cortex هستند که هر کدام دارای زیر مجموعه هایی هستند.
 

 

خصوصیات سری LPC17xx(Cortex-M3) :


LPC1763/64/65/66/67/68/69

پردازنده Cortex-M3 با حداکثر سرعت 100مگاهرتز و 120 مگاهرتز برای LPC1769

معماری Harvard

حافظه ی برنامه:

حداکثر 512 کیلو بایت حافظه ی برنامه داخلی و قابلیت برنامه ریزی داخل سیستم.
حداکثر 32 کیلو بایت حافظه ی SRAM

واحد های جانبی:

باس پر سرعت AHB

باس جداگانه ی AHB برای دسترسی به حافظه SRAM,FLASH و CPU
دو باس محلی پیشرفته با کارایی بالا (AHB)برای دسترسی به واحد های ETHERNET و USB به DMA و اجرای برنامه ها از حافظه ی FLASH بدون نیاز به تبادل داده بین این دو قسمت

 

رابط های سریال:

اترنت یا سرعت 100/10 مگا بیت بر ثانیه
ارتباط USB پر سرعت 
 4
رابط  UART
دو کانال کنترل کننده ی CAN
یک واحد کنترل کننده ی   SPI
دو واحد کنترل کننده ی SSP 
سه رابط   I2C

دیگر ادوات جانبی:


70
الی 100 پین ورودی و خروجی
یک واحد   ADC 12بیتی با سرعت 4.5 میلیون نمونه بر ثانیه میباشد
یک مبدل دیجیتال به انالوگ 10 بیتی (DAC)
 4
تایمر کانتر همه منظوزه با 8 ورودی و 10 خروجی
یک واحد PWM با قابلیت کنترل موتور سه فاز
یک واحد ساعت RTC با تغذیه ی جداگانه
تایمر WDT
ارتباط استاندارد تست و خطا یابی برای ایجاد تطبیق با ابزار های موجود.
واحد ردیابی شبیه ساز یا پشتیبانی از دریابی زمان وقعی
4
 حالت کاهش مصرف توان
4
  ورودی وقفه خارجی
ریست داخلی

ولتاژ عملیاتی:

تغذیه 3.3 ولت ( 2.4 تا 3.6 )

فرکانس های کاری:

نوسان ساز خارجی با رنج کاری 1 مگا هرتر تا 25 مگا هرتز
نوسان ساز داخلی 4 مگا هرتز

 

ابتدا به بررسی رجیستر های قسمت System Control سری LPC17xx می پردازیم درابتدا کل رجیستر های این بخش بصورت فهرست و سپس به بررسی اونها میپردازیم

تعیین منبع ریست :  RSID
تعیین منبع کلاک  CLKSRCSEL :
رجیستر وضعیت و کنترل سیستم : SCS
_______
این قسمت از رجیستر ها در بخش System control مربوط به قسمت PLL0 هست
رجیستر کنترل  PLL0 :ا PLL0CON
رجیستر وضعیت  PLL0:ا PLL0STAT
رجیستر تایید مقدار ها : : PLL0FEED
________
این قسمت از رجیستر ها مربوط به تنظیم کردن کلاک CPU و ادوات جانبی هست
رجیستر تنظیم کلاک CPU : اCCLKCFG 
رجیستر تنظیم کلاک USB :ا USBCLKCFG
رجیستر سایر ادوات جانبی (ADC,Timer,DAC...): اPCLKSEL0 & PCLKSEL1 
_______
این قسمت مربوط به رجیستر های کنترل توان هست:
رجیستر کنترل توان اصلی  PCON
رجیستر کنترل توان ادوات جانبیPCONP :
رجیستر کنترل حالت کم مصرف (هم نیاز رجیتسر های بالا ) : SCR
_______
رجیستر خود راه انداز مجدد (Self Reset) :ا AIRCR
_______
رجیستر جهت اننقال کلاک داخلی به خارج از تراشه :  CLKOUTCFG


*
علامت " ا " به خاطر بهم نریخت فونت گذاشته شده.

رجیستر ها به صورت 32 بیتی هستند
حالت کلی نوشتن رجیستر ها در قسمت System Control در برنامه به شکل زیر هستند

 = 0xXXXXXXXX;رجیستر->  LPC_SC

هر X نماد 4 بیت هست .
 0x
به معنی نوشتن اعـداد در مبنای هگز هست.

SC =System Control 

تعیین منبع ریست:


نوع نوشتن در برنامه: 

LPC_SC->RSID=0xXXXXXXXX;


توصیف بیت های رجیستر تعیین کننده ی منبع ریست :
Bit 0
  قطع و وصل شدن ولتاژ تغذیه به ریست شدن تراشه منجر می شود.تراشه تا زمانی که ولتاژ تغذیه و اسیلاتور پایدار نشود،در این وضعیت باقی بماند

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

  Bit 2
در صورتی که تایمر Watchdog فعال شده باشد،با شمارش تعداد پالس مشخصی، میکرو ریست می شود.

Bit 3
  اگر تغییرات ولتاژ تغذیه از حد خاصی بیشتر شود، میکرو ریست خواهد شد،(حالتی که توسط مبتدیان اتفاق می افتد، به کار بردن قطعاتی مانند رله و مونور و استفاده از منبع تغذیه و روش راه اندازی نا مناسب میباشد ؛ که با روشن شدن رله،ولتاژ تغذیه افت کرده و باعث ریست شدن میکرو می شود)

  Bit 4 ta 31
این بیت ها به صورت رزور شده هستند و استفاده نمیشوند.

 

تعیین منبع کلاک:

نوع نوشتن در برنامه:

LPC_SC->CLKSRCSEL=0xXXXXXXXX;

انتخاب منبع کلاک برای  PLL0


توصیف بیت ها:


  00
نوسان ساز داخلی ) پیش فرض): فرکانس این منبع   4Mhz می باشد. پس از ریست شدن سیستم، میکرو از این منبع استفاده می نماید. به این ترتیب این امکان فراهم تا هنگام راه اندازی میکرو، تراشه بدون نیاز به نوسان ساز خارجی به کار خود ادامه دهد. همچنین این امکان فراهم می شود که برنامه ی Bootloader با این منبع کار خود را ادامه دهد.
به دلیل دقت پایین فرکانس این منبع کلاک نمی توان از آن به منظور راه اندازی واحد های USB و CAN استفاده نمود.

01 
  نوسان ساز اصلی : این بخش با استفاده از کریستال خارجی با فرکانس   1Mhz تا   24Mhz کار می کند و با استفاده از  PLL داخلی فرکانس آن چند برابر افزایش می یابد. 

  10
نوسان ساز  RTC : در این حالت، تراشه از کریستال خارجی 32.768 Khz استفاده می کند و کلاک خروجی آن برای راه اندازی بلوک   RTC   مورد استفاده قرار می گیرد.
  11
این حالت به صورت رزرو شده است و کاربرد ندارد

Bit 2 : 31
  این بیت ها رزرو شده هستند و کاربرد ندارند.

بعد از تعیین منبع کلاک توسط رجیستر CLKSRCSEL جهت استفاده از نوسان ساز اصلی تراشه، لازم است تا بیت های رجیستر SCS طبق توضیحات زیر تنظیم شوند.

 

رجیستر وضعیت و کنترل سیستم :


نوع نوشتن در برنامه
:

LPC_SC->scs=0xXXXXXXXX;


توصیف بیت های رجیستر وضعیت و کنترل سیستم:

 Bit 0 : 3
این بیت ها به صورت رزرو شده هستند و استفاده نمیشوند

 Bit 4 
انتخاب محدوده ی نوسان ساز خارجی

 = 0
در صورت استفاده از رنج فرکانسی(کریستال) 1Mhz تا 20Mhz ،مقدار این بیت صفر در نظر گرفته می شود.
 = 1
در صورت استفاده از رنج فرکانسی (کریستال) 15Mhz تا 24Mhz ،مقدار این بیت یک در نظر گرفته می شود.

  Bit 5
فعال سازی نوسان ساز اصلی( کریستال خارجی )

 = 0
غیر فعال ساختن نوسان ساز خارجی
 = 1
فعال سازی نوسان ساز خارجی

 ) Bit 6
فقط خواندنی) تعیین وضعیت نوسان ساز خارجی

0
 = صفر بودن این بیت نشان دهنده ی آماده نبودن نوسان ساز اصلی برای استفاده به عنوان منبع کلاک می باشد.
 = 1
نوسان ساز اصلی برای استفاده به عنوان منبع کلاک آماده است.

 = Bit 7 : 31
این بیت ها رزرو شده هستند و استفاده نمی شوند.

 


رجیستر های مربوط به بلوک
 PLL0


قبل از شروع توضیحاتی درباره ی بلوکPLL0 میگم تا هیچ ابهامی وجود نداشته باشه :

کار اصلی PLL0 ضرب و تقسیم فرکانس منبع نوسان کننده ی متصل به تراشه می یاشد 

مشخصات این واحد:

1
  فرکانس ورودی آن از 32k الی 50Mhz می باشد.
  2
در بخش ورودی این واحد یک ضرب کننده وجود دارد که فرکانس ورودی را در عددی بین 6 تا 512 ضرب میکند.(M)
  3
در این مرحله فرکانس خروجی مرحله قبل به عددی بین 1 تا 32 تقسیم میشود(این فرکانس باید در محدوده ی 275 تا 550Mhz باشد.(N)
  4
رابطه ی فرکانس ورودی و خروجی از فرمول زیر پیروی می کند systemCLk=(2*F osc * (M+1))/(N+1)i


رجیستر کنترل  PLL0 :

نوع نوشتن در برنامه:

LPC_SC->PLL0CON=0xXXXXXXXX;


فقط دو بیت از این رجیستر32بیتی برای کنترل بلوک PLL0 مورد استفاده قرار میگیرد.

اولین بیت برای فعال سازی PLL0 و قفل شدن روی فرکانس مورد نظر استفاده می شود.
دومین بیت برای اتصال خروجی PLL0 به عنوان منبع کلاک بلوک های داخلی میکرو به کار میرود

بیت های 2 تا 31 رزرو شده میباشند


رجیستر تنظیمات PLL0 :

این رجیستر 32بیتی نگهدارنده ی ضرایب ضرب و تقسیم PLL0 می باشد. این ضرایب باید به گونه ای تنظیم گردند که فرکانس خروجی PLL عددی صحیح باشد

نوع نوشتن در برنامه:


LPC_SC->PLL0CON=0xXXXXXXXX

 

 توصیف بیت های رجیستر تنظیماتPLL0 :


Bit 0 : 14 = ضریب ضرب کننده که در واحد PLL0 که عددی بین 6 تا 512 می باشد.پس از کسریک واحد از این ضریب مقدار آن ذخیره می شود.

Bit 15 = این بیت به صورت رزرو شده می باشد

Bit 16 : 23 = ضریب تقسیم کننده در واحد PLL0 که عددی بین 1 تا 32 در ان قرار می گیرد. نتیجه ی این ضرب و تقسیم باید به گونه ای باشد که فرکانس خروجی عددی صحیح باشد.پس لز کسر یک واحد از این ضریب مقدار آن ذخیره می شود

Bit 24 : 31 = این بیت ها به صورت رزرو شده هستند.

رجیستر وضعیت  PLL0 :


این رجیستر ضرایب و حالت هایی را که بربلوک PLL0 تاثیر میگذارند را به اطلاع میرساند.
(
این رجیستر به صورت خواندنی می باشد)

نوع نوشتن در برنامه :


a=LPC_SC->PLL0STAT

 

PLL0 توصیف بیت های رجیستر وضعیت  :

 

Bit 0 : 14  نمایش ضریب ضرب کننده که در واحد PLL0 یک واحد کمتر از مقدار واقعی آن می باشد.

 Bit 15
این بیت به صورت رزرو شده می باشد

Bit 16 : 23
 نمایش ضریب تقسیم کننده در واحد PLL0 یک واحد کمتر از مقدار واقعی آن می باشد.

  Bit 24 نگامی که این بیت یک باشد بدین معناست که PLL0 فعال می باشد. پس از خاموشی PLL0 این بیت به صورت  خودکار صفر می شود.

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

 Bit 26
اگر این بیت یک باشد PLL0 روی فرکانس مورد نظر قفل شده است.

Bit 27 :31
این بیت ها به صورت رزرو شده هستند



رجیستر PLL0FEED :



این رجیستر فقط 8 بیت اول آن مورد استفاده قرار می گیرد.پس از اعمال هر تغییری در رجیستر های PLL0CON و     PLL0CFG   ابتدا باید عدد   0xAAو پس از آن عدد 0x55  را در این رجیستر نوشت.

LPC_SC->PLL0FEED=0xXXXXXXXX;

 

رجیستر های مربوط به تنظیم کلاکCPU و ادوات جانبی


کلاک های داخلی میکرو به سه گروه اصلی زیر تقسیم می شوند :


=> CPU Clock(Cclk) i

=> USB CLK

=>Peripheral CLK(Pclk) i

Cclk :

نوع نوشتن در برنامه:


LPC_SC->CCLKCFG=0xXXXXXXXX;


از این کلاک برای راه انداری هسته ی میکروکنترلر و ادوات متصل به باس AHB مانند کنترل کننده Ethernet و بلوک  DMA   استفاده می گردد. برای این منظور کلاک خروجی  PLL0 ، بر عددی که در بیت های 7:0 از رجیستر ( CPU CLK CONFIG) ا CCLKCFG قرار دارد تقسیم می شود. (طبق رابطه ی زیر


(Cclk=PLL0clk / (CCLKSEL+1)

مقدار این بخش باید عددی فرد در بازه ی 1 تا 255 باشد.

توصیف بیت های رجیستر وضعیت

 

bit 0:7  انتخاب ضریب تقسیم فرکانس خروجی PLL برای تهیه کلاک CPU
( این 8 بیت برای مشخص کردن عدی بین 1 تا 255 می باشد
(

عدد0= فرکانس خروجی PLL را بر 1 تقسیم کرده و در اختیار CPU قرار میدهد.
عدد1= فرکانس خروجی PLL را بر 2 تقسیم کرده و در اختیار CPU قرار میدهد.
عدد2= فرکانس خروجی PLL را بر 3 تقسیم کرده و در اختیار CPU قرار میدهد.
.
عدد  255 =  فرکانس خروجی PLL را بر 256 تقسیم کرده و در اختیار CPU قرار میدهد.

8:31 Bit
  این بیت ها به صورت رزرو شده هستند.

نکته : حداکثر فرکانس مجاز پردازنده برای میکروکنترلر های سری LPC17xx برابر 100 Mhz و برای LPC1769 برابر   120Mhz میباشد.


USB CLK :

نوع نوشتن در برنامه:

LPC_SC->USBCLKCFG=0xXXXXXXXX


یک بخش از میکروکنترلر که باید کلاک متصل به آن ، فرکانس   48Mhz داشته باشد، بلوک USB میباشد.برای ایجاد یک فرکانس پایدار که بخش های دیگر نیز محدودیت ایجاد نکند از یک تقسیم کننده ی فرکانس مستقل و قابل برنامه ریزی برای این بخش استفاده شده است که ضریب تقسیم آن توسط 4 بیت کم ارزش از رجیستر USBCLKCFG تعیین می شود.

با استفاده از این مقسم فرکانس میتوان هر فرکانسی که مضربی از   48Mhz باشد، تقسیم نمود.
رابطه ی مورد استفاده برای تهیه ی این فرکنس در زیر مشاهده میگردد:


USBclk=PLL0clk / (USBSEL+1) i

توصیف بیت های رجیستر وضعیت

Bit 0:3  انتخاب ضریب تقسیم برای تهیه کلاک بلوک USB از خروجی PLL0 توسط 4بیت از رجیستر ذکر شده صورت می گیرد. فرکانس خروجی PLL0 باید مضربی از 48 باشد.

5
Bit   با انتخاب این عدد، فرکانس خروجی PLL0 بر 6 تقسیم می شود. فرکانس خروجی PLL0 در این حالت باید مساوی   288Mhz باشد.
Bit 7
  با انتخاب این عدد، فرکانس خروجی PLL0 بر 8 تقسیم می شود. فرکانس خروجی PLL0 در این حالت باید مساوی      384Mhz باشد.
Bit 9
  با انتخاب این عدد، فرکانس خروجی PLL0 بر10 تقسیم می شود. فرکانس خروجی PLL0 در این حالت باید مساوی    480Mhz باشد.


Bit 4:31
  این بیت ها به صورت رزرو شده هستند.

نکته:  هنگامی که می خواهید از بلوک USB استفاده نمایید، نباید به هیچ عنوان نوسان ساز RC داخلی را به عنوان منبع کلاک بکار ببرید.


Pclk :


نوع نوشتن در برنامه:

LPC_SC->PCLKSEL0=0xXXXXXXXX;
  LPC_SC->PCLKSEL1=0xXXXXXXXX;


این کلاک برای راه اندازی بلوک های که به باس APB متصل می باشند استفاده می شود. 
پورت سریال، تایمر، پورت های ورودی/خروجی،ADC،DAC و ... برخی از این ادوات هستند.

به منظور کنترل فرکانس متصل به هر یک از این ادوات، دو رجیستر 32بیتی در نظر گرفته شده است. با توجه به این که برای کنترل فرکانس هر بلوک 2 بیت اختصاص یافته است، می توان کلاک متصل به حداکثر 32 بلوک را کنترل نمود. نام این دو رجیستر PCLKSEL0 و PCLKSEL1 می باشد.

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


00: Pclk=CPUclk/4
 
01: Pclk=CPUclk
 
10: Pclk=CPUclk/2
 
11: Pclk=CPUclk/8  

هنـگام انتـخاب این گـزینه برای بلـوک های CAN1 ,CAN2 وا CAN Filtering این رابطه صحیح مـیباشد  Pclk=CPUclk/6 



ساختار رجیستر های PCLKSEL0 و PCLKSEL1 جهت تعیین فرکانس بلوک های جانبی :

PCLKSEL0 


  0:1 Bit
تعیین کلاک بلوک Quadrate Encoder Interface (QEI)i 
2:3 Bit
  تعیین کلاک بلوک GPIO Interrupts
4:5 Bit
  تعیین کلاک بلوک Pin connect block(PCB)i
6:7 Bit
  تعیین کلاک بلوک I2C1
8:9 Bit
  غیر فعال (NA)
  10:11 Bit
تعیین کلاک بلوک SSP0
  12:13 Bit
تعیین کلاک بلوک TIMER2
  14:15 Bit
تعیین کلاک بلوک TIMER3
  16:17 Bit
تعیین کلاک بلوک UART2
  18:19 Bit
تعیین کلاک بلوک UART3 
  20:21 Bit
تعیین کلاک بلوک I2C2
  22:23 Bit
تعیین کلاک بلوک I2S
  24:25 Bit 
این بیت ها رزرو شده هستند
26:27 Bit
  تعیین کلاک بلوک Repetitive Interrupt Timer(RIT)i
28:29 Bit
  تعیین کلاک بلوک System Control (SYSCON or SC)i
30:31 Bit
  تعیین کلاک بلوکMotor Control PWM (MC)i

PCLKSEL1

  0:1 Bit =
تعیین کلاک بلوکWatch dog timer(WDT)i
  2:3 Bit =
تعیین کلاک بلوکTIMER0
  4:5 Bit =
تعیین کلاک بلوکTIMER1
  6:7 Bit =
تعیین کلاک بلوک UART0
  8:9 Bit =
تعیین کلاک بلوک UART1
  10:11 Bit =
غیر فعال (NA)
  12:13 Bit =
تعیین کلاک بلوک PWM1
  14:15 Bit =
تعیین کلاک بلوک I2C0
  16:17 Bit =
تعیین کلاک بلوک SPI
  18:19 Bit =
غیر فعال (NA)
  20:21 Bit =
تعیین کلاک بلوک SSP1
  22:23 Bit =
تعیین کلاک بلوک DAC
  24:25 Bit =
تعیین کلاک بلوک ADC
  26:27 Bit =
تعیین کلاک بلوک CAN1
  28:29 Bit =
تعیین کلاک بلوک CAN2
  30:31 Bit =
تعیین کلاک بلوک Acceptance CAN Filtering(ACF)i

 

مراحل تنظیم PLL0: 


کلاک های داخلی میکرو به س0ه گروه اصلی زیر تقسیم می شوند :

 

·           PLL0 را با قرار دادن کد صفر در رجیستر PLL0CON و مقدار دهی PLL0FEED غیر فعال و جدا نمایید.

·         منتظر بمانید تا نوسان ساز پایدار شود. این کار با بررسی بیت 6 از رجیستر SCS امکان پذیر است.

·         منبع کلاک متصل به PLL0 را با مقدار دهی رجیستر CLKRCSEL انتخاب نمایید.

·         ضرایب ضرب (M) و تقسیم (N) کننده را توسط رجیستر PLL0CFG تعیین کنید. البته این ضرایب پس از مقدار دهی رجیستر PLL0FEED تاثیر گذار خواهد بود.



*با قرار دادن کد یک درPLL0CON,PLL0 را فعال کرده اید اما همچنان از بلوک های دیگر جدا میباشد. این دستور پس از مقدار دهی PLL0FEED انجام میشود.
*
ضریب تقسیم کننده ی مربوط به کلاکِ CPU را مقدار دهی کنید.
#
نکته:ضرایب مربوط به تقسیم کننده ی کلاک CPU و دیگر بخش ها را فقط باید قبل از اتصال PLL0 به بلوک های دیگر تغییر داد.
*
تا قفل شدن PLL0 روی فرکانس مورد نظر منتظر بمانید.
*
پس از قفل شدن PLL0 , رجیستر PLL0CON را با کد دو OR کرده و آن را به بلوک های دیگر متصل کنید.

>>
مثال: با توجه به مطالب بالا، فرکانس کلاک CPU را برای 88MHZ ، کلاک USB را 48 MHZ ، کلاک بلوک ارتباط سریال را 12 MHZ و کلاک GPIO را روی 44MHZ تنظیم کنید. فرض کنید فرکانس
کریستال متصل به میکرو 18MHZ باشد.

#include<LPC17xx.h>

...

main(){

...

LPC_SC->SCS=0x30;

LPC_SC->PLL0CON=0;

LPC_SC->PLL0FEED=0xaa;

LPC_SC->PLL0FEED=0x55;

while(!(LPC_SC->SCS & 0x40));

LPC_SC->CLCSRCSEL=1;

LPC_SC->CFG=0x13;

LPC_SC->PLL0FEED=0xaa;

LPC_SC->PLL0FEED=0x55;

LPC_SC->PLL0CON=1;

LPC_SC->PLL0FEED=0xaa;

LPC_SC->PLL0FEED=0x55;

LPC_SC->CCLKCFG=4;

LPC_SC->USBCLKCFG=0x09;

LPC_SC->PCLKSEL0=0x03c0;

LPC_SC->PCLKSEL1=0x00000008;

while(LPC_SC->PLL0STAT & 0x04000000);

LPC_SC->PLL0CON |=2;

LPC_SC->PLL0FEED=0xaa;

LPC_SC->PLL0FEED=0x55;

...

   while(1){

   ...

  }

}

 

نظرات 5 + ارسال نظر

با سلام
مطلب مفیدی بود

با تشکر

ali شنبه 4 بهمن 1393 ساعت 23:11

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

آرمان یکشنبه 14 اردیبهشت 1393 ساعت 18:04

سلام ممنون از مطلبتون اگه می شه دستورات فعال کردن کلاک CAN و USB رو بزارید

احسان پنج‌شنبه 14 شهریور 1392 ساعت 01:02 http://bargh-2.blogfa.com

ممنون استفاده بردیم!

[ بدون نام ] یکشنبه 3 شهریور 1392 ساعت 17:16

بسیار بسیار عالی امیدوارم ادامه بدین . واقعا استفاده می کنیم از مطالبتون

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد