Перейти к содержанию

Странность в работе модуля nRF24L01


Рекомендуемые сообщения

Всем привет

Столкнулся со странным поведением модуля: когда посылаю ему байт, он генерирует прерывание на линии IRQ, в регистре STATUS (0x07) выставляет байт RX_DR (байт принят), но при этом все три байта RX_P_NO == 1 (ничего не принято), очередь FIFO пуста (при попытке считать модуль посылает в SPI 0x00), в регистре FIFO_STATUS (0x17) байт RX_EMPTY выставлен в единичку. То есть прерывание срабатывает, а самого байта как будто и не было. Никто с таким не сталкивался?

В настройках отправка без подтверждения и без CRC

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Сам разобрался. Оказалось, мало просто включить приёмник и разрешить приём на нужных каналах, необходимо ещё в регистрах 0x11-0x16 задать длину принимаемого пакета для, соответственно, каналов 0-5. Если в регистре записан 0, то приёмник работать будет, будет генерировать прерывание IRQ по приёму, но сами данные принимать не будет. Если что - вот непричёсанная инициализация:


void Init_nRF24L01(void)
{
  Write_nRF24L01_register(0x11, 1);               // data length
  Write_nRF24L01_register(0x01, 0x00);            // CRC disable
  Write_nRF24L01_register(0x02, 0x07);            // All RX channels
  Write_nRF24L01_register(0x04, 0x00);            // Auto retry disable
  Write_nRF24L01_register(0x05, 0x02);            // Radio channel
  Write_nRF24L01_register(0x06, 0x08);            // Speed, power
  Write_nRF24L01_register(0x11, 0x01);            // Channel 0 data length
  Write_nRF24L01_register(0x12, 0x01);            // Channel 1 data length
  Write_nRF24L01_register(0x13, 0x01);            // Channel 2 data length
  Write_nRF24L01_register(0x14, 0x01);            // Channel 3 data length
  Write_nRF24L01_register(0x15, 0x01);            // Channel 4 data length
  Write_nRF24L01_register(0x16, 0x01);            // Channel 5 data length
  Write_nRF24L01_register(0x1D, 0x01);            // Nack enable
  Write_nRF24L01_5b_register(0x0A, master_addr);  // Channel 0 addr
  Write_nRF24L01_5b_register(0x0B, slave_addr);   // Channel 1 addr
  Write_nRF24L01_5b_register(0x10, master_addr);  // Remote addr
  Write_nRF24L01_register(0x00, 0b00000010);      // config. Power up, mode: transmitter
  Delay_ms(2);
  Write_nRF24L01_register(0x00, 0b00000011);      // config. Power up, mode: receiver
  CE_ON();
  Delay_ms(4);
}

 

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Спасибо, asvetp. Вы меня правильно поняли. Буду ждать прошивку.
    • Тянет он , проверено и на 32 Ом проверено, но я бы лично ушной усилитель без буфера не стал делать, это у меня товарищ(уже покойный к сожалению, пить надо меньше) развлекался.
    • Мне показалось, что я ответил на Ваш вопрос... но видимо не убедительно... хорошо, беру такой LOGO! 12/24RC   (6ED1 052-1MD00-OBA5), последний раз на него питание подавали в году так эдак в 2010_м... достал его из закромов, подал питание и программа стартанула в штатном режиме... единственно как и писал ранее часы сброшены до заводской установки... надеюсь теперь Вас убедит то, что девайс если сохранил программу 14 лет, то особых поводов у него нет, чтобы её сбрасывать в дальнейшем.  Не совсем... ПО версии 8 поддерживает и старые устройства, а я спрашивал не про ПО, а про сами устройства какой версии будете использовать... впрочем уже и неважно...  Удачи в начинаниях. От темы отписался, более не потревожу. 
    • Точно не могу сказать, не разбирал я не разу Лого, по факту должна сохраниться. Много чего разбирал, не было проблем при рассоединении этажерок.
    • Это только по одному плечу? По второму плечу нормально?
    • а ответ на вопрос темы от Вас будет? Т.е. сохранится ли рабочая программа при разъединении верхней и нижней плат?  Потому как если ответ однозначно положительный, то этот геморрой с самопальным шнурком мне нафиг не нужен. 
    • Всем привет, комрады!  Пользуюсь данным усилителем чуть больше 13 лет, все устраивает. Питается от ТС-180-2. Понадобилось заменить этот трансформатор на другой поменьше, думаю на торе заказать, а какой именно по характеристикам - пытаюсь разобраться. Стыдно признаться, ни разу не смотрел какие напряжения, какие токи в усилителе... собрал - включил и забыл. Сейчас придется разбираться.  Правильно ли понимаю что общая мощность транса = токи и напряжения каждой лампы, + накалы?  Тогда судя по даташитам, 6н1п на два канала - (250в*0,0075мА)*2 + (6,3в*0,6А)=3,75Вт+ 3,8Вт=~7,5Вт.  А 6п14п=(250в*0,048А+250В*0,005А+6,3В*0,76А) * 2 = (12Вт+1,25Вт+4,8Вт ) * 2 лампы = 18Вт * 2  = 36Вт. Хотя две лампы 6п14п питаются от одной обмотки 6,3в.  Итого меньше 50 Вт, ну и с запасом небольшим 60-80Вт.  А вот как указать в заказе? Схема питается 275в, то есть вторичку делать 200в, а ток?  То есть две выходных лампы уже 100мА, запас если делать как правило 10-20%, то примерно 200в * 120мА ?  НУ с накалом тут проще) Задача в том что нужно как можно менее габаритный трансформатор, увы, ТС-180 не влезает в новую конструкцию. Ну и для понимания, сейчас начну усилитель для наушников собирать, пригодится.    
  • Похожий контент

×
×
  • Создать...