PDA

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



saeed210
01-03-2014, 00:21
سلام مهندسین و محققین عزیز
من یک مقدار راجعبه NRF24L01 مطالعه کردم و چند تا برنامه و کتابخونه که براش نوشته شده بود رو دیدم از جمله کد های Brennen Ball
حالا خواستم برای شروع مقدار یک رجیستر رو بخونم که از درستی نحوه ارتباط میکرو با ماژول مطمئن بشم
طبق چیزهایی که من فهمیدم برای خواندن رجیستر config باید 0 رو به ماژول بفرستم و مقدار اولیه این رجیستر طبق دیتاشیت 0x08 هست بعنی من باید 8 رو دریافت کنم
من برای مگا16 این کد ها رو نوشتم و پایه csn رو به portb.0 و ce رو به زمین و IRQ رو هم بدون اتصال گذاشتم


SPCR=0x7f;
lcd_init(16);

PORTB.0=1;
lcd_init(16);

PORTB.0=0;
get1=spi(00);
get2=spi(00);
get3=spi(00);
PORTB.0=1;

itoa(get1,buff1);
lcd_gotoxy(1,1);
lcd_puts(buff1);

itoa(get2,buff2);
lcd_gotoxy(6,1);
lcd_puts(buff2);

itoa(get3,buff3);
lcd_gotoxy(13,1);
lcd_puts(buff3);

while (1)
{
// Place your code here

}

حالا مشکل اینه که توی get1 من همیشه 56 دریافت میکنم ولی توی get2 و get3 بعضی وقت ها 8 و بعضی وقت ها 0 دریافت میکنم که 90 درصد مواقع 0 هستش

به نظر شما مشکل از کدهای منه یا ماژول با 2تا ماژول هم امتحان کردم همینجوریه
راستی فرکانس میکرو 4مگ هست و فرکانس spi رو روی 31KHz و مود رو روی mode4 و LSB first گذاشتم

saeed210
02-03-2014, 23:20
دوستانی که با این ماژول کارکردن یک راهنمایی کوچولو ممنون می شم ها
من خودم تا کلی کار کردم ولی جواب نگرفتم ممنون می شم کمک کنید

saeed210
03-03-2014, 20:09
حل شد دوستان
آخه یکی نیست بگه تو اول دیتاشیت رو خوب بخون و عکساش رو هم نگاه کن بعد برنامه بنویس
مشکل این بود که spi باید روی مود 0 و MSB باشه که من رعایت نکرده بودم
یعنی باید رجیستر SPCR=0x50 باشه

agape
04-03-2014, 09:54
بسیار عالی دوست عزیز که خودتون تونسید مشکل رو حل کنید

morteza_rk
04-03-2014, 22:08
سلام

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

ممنون

saeed210
04-03-2014, 23:47
ممنون از لطفتون دوستان ولی از اون موقع هنوز نتونستم یک بایت send و receive بین دوتا ماژول داشته باشم دارم چندباره دیتاشیت رو می خونم ببینم چی میشه

saeed210
05-03-2014, 12:01
سلام این یکی روهم حل کردم:o
بالاخره موفق شدم یک بایت بفرستم و بگیرم
مشکل از تغذیه ماژول بود که قطع وصل میشد و اینکه باید power up میکردم ماژول رو

salamlora1
19-05-2014, 10:40
آقا کسی میدونه ماکسیمم فاصله ای که ایم ماژول میتونه توش کار کنه چقدره

yasaminP
19-09-2015, 13:31
سلام
من سعی دارم این ماژول رو راه اندازی کنم، برای power up کردنش مشکل دارم، میشه مراحل کارتون رو بدونم؟
درواقع کلن هیچ کدوم از register هاشو نمیتونم تغییر بدم .