نوشته اصلی توسط
mohammadne
سلام ماژولهات سالمن ؟! ببین میتونی رجیسترهای داخلیشو بخونی ؟ اخه اگه تقویت شده جواب بده ماژول ساده هم حتما باید جواب بده.
ممنون که سریع پاسخ دادی.. 6تا ماژول مختلف تست کردم.. ولی خب فک کنم دقیقا مشکل همین که رجیستر هاشو نمیخونه
یه قسمت برنامه این تابع رو دارم :
کد:
while(nrf24_isSending());
که میاد رجیستر میخونه 0-1 میده که حلقه تموم شه، و همینجا برنامه گیر میوفته.. ک حدس میزنم رجیستر رو نخونده
کد:
uint8_t nrf24_isSending(){
uint8_t status;
/* read the current status */
status = nrf24_getStatus();
/* if sending successful (TX_DS) or max retries exceded (MAX_RT). */
if((status & ((1 << TX_DS) | (1 << MAX_RT))))
{
return 0; /* false */
}
return 1; /* true */
}
uint8_t nrf24_getStatus()
{
uint8_t rv;
nrf24_csn_digitalWrite(LOW);
rv = spi_transfer(NOP);
nrf24_csn_digitalWrite(HIGH);
return rv;
}
البته کتابخونش رو دانلود کردم ولی فکر کنم خوانا هست.
فکر میکنم که یا مقدار رجیستر رو کلا نخونده یا اشتباه خونده. ولی چون تقویت شده درست هست..نمیدونم مشکل از چیه