سلام!

یه مطلب جالب رو یادگرفتم!

گفتم با شما هم به اشتراک بگذارم!

درباره اعداد رندوم توی زبان سی و میکروکنترلر هاست!

برای مطالعه به ادامه مطلب برید

خوب این مطلبی رو که میخوام بگم توی سایتا ندیدم!

الحمدلله توی ARM از این قابلیت میتونیم استفاده کنیم! (من AVR رو تست نکردم - شاید بشه)!

خوب این کد خیلی کاربرد داره!

رندوم یعنی تصادفی در واقع شما میتونید با این کد اعداد تصادفی بسازید و از اون ها استفاده کنید!

به هرحال اگه میخواید یه برنامه نویسی حرفه ای بشید باید اینو بلد باشید!

این قابلیت توی زبان سی هست!


اول باید کتاب خانه مورد نیاز رو اضافه کنیم که با کد زیر این کار رو انجام میدیم!


#include <stdlib.h>

خوب کد زیر اصل مطلب ما هست!


int a;
a = (rand()%(255));

هر جا میتونید از این کد استفاده کنید!

مثلا سورس زیر LED ها رو به صورت تصادفی روشن میکنه!


#include <LPC17xx.H>
#include <stdlib.h>

void delay (void){
int i;
for (i=0;i<7000000;i++);
}
int a;
int main ()
{

SystemInit();
LPC_GPIO2->FIODIR0=0XFF; //LED
LPC_GPIO2->FIODIR1 = 0x00;   //KEY
while (1)
{
  a = (rand()%(255)) ;

LPC_GPIO2->FIOPIN =a;
delay();

}}

یه کد دیگه هم هست که خیلی کاربرد داره!
در واقع این کد یک جور if هست که به صورت ساده هست!

a = 5==0 ? 64:1;

در مثال بالا میگیم ما یه متغییر داریم که اسمش a هست!

بعد (CPU) میگه خوب که چی!

میگیم اگه ۵ مساوی شد با ۰ (که هیچوقت نمیشه!)

میگه خوب

میگیم متغییر a رو برابر با ۶۴ کن

میگه خوب دیگه چی!

میگیم اگه نشد a رو برابر با ۱ کن!

میگه آهان پس من الان باید a رو 1 کنم! چون 5 هیچوقت مساوی با 0 نیست!

میگیم : آفرین!


امیدوارم فهمیده باشید!


فعلا

 یا علی مدد...!