Микроконтроллеры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Микроконтроллеры » RA » nrf51822


nrf51822

Сообщений 31 страница 58 из 58

31

dosikus написал(а):

Кстати хорошая штука PPI и GPIOE в связке например с таймером  можно дергать лапкой без прерываний.


А еще можно лапкой CS в SPI аппаратно дергать...

https://a.radikal.ru/a25/1809/5f/45e8fe927df5.png

https://b.radikal.ru/b09/1809/f6/b876997b5fc5.png

https://d.radikal.ru/d31/1809/da/1edcdfa00d84.png

32

А я вот в глубь radio полез. Так получается у 51-х блютуз на уровне софта, а не аппаратный. а весь BLE заключается в включении на момент передачи и выключении по окончании передачи, "передатчика". и все... неужели изменение частоты тоже софтово? банально каналы на каждом пакете меняются?

33

Немного попозже присоеденюсь.

34

мне больше интересно радио разное у 51/52?
ppi интересно/дельная вещ(стч)ь.

35

Гы, назрел первый вопрос.
В мануале для каждого модуля периферии указана конфигурация пинов в GPIO - а надо ли?
Что в сниппетсах , что вживую делаю , пины не конфигурятся и все работает.
Или это для лишь для исключения влияния побочных эффектов?

36

А они совместимы с NRF24L01+ или нужны два nrf52?

37

Я выше давал ссылки где сниппетсы bare_metall , как раз есть работа с nrf24.

38

dosikus написал(а):

Гы, назрел первый вопрос.
В мануале для каждого модуля периферии указана конфигурация пинов в GPIO - а надо ли?
Что в сниппетсах , что вживую делаю , пины не конфигурятся и все работает.
Или это для лишь для исключения влияния побочных эффектов?

думается мне, что это для страховки, как пины использовались до, использования в качестве пинов модулей периферии, никто не знает... хотя эт все гадания, даташит еще до дырки не зачитан.

39

MasterElectric написал(а):

А они совместимы с NRF24L01+ или нужны два nrf52?

Код:
    // Radio address config
    NRF_RADIO->PREFIX0 = 
        ((uint32_t)swap_bits(0xC3) << 24) // Prefix byte of address 3 converted to nRF24L series format
      | ((uint32_t)swap_bits(0xC2) << 16) // Prefix byte of address 2 converted to nRF24L series format
      | ((uint32_t)swap_bits(0xC1) << 8)  // Prefix byte of address 1 converted to nRF24L series format
      | ((uint32_t)swap_bits(0xC0) << 0); // Prefix byte of address 0 converted to nRF24L series format
  
    NRF_RADIO->PREFIX1 = 
        ((uint32_t)swap_bits(0xC7) << 24) // Prefix byte of address 7 converted to nRF24L series format
      | ((uint32_t)swap_bits(0xC6) << 16) // Prefix byte of address 6 converted to nRF24L series format
      | ((uint32_t)swap_bits(0xC4) << 0); // Prefix byte of address 4 converted to nRF24L series format

    NRF_RADIO->BASE0 = bytewise_bitswap(0x01234567UL);  // Base address for prefix 0 converted to nRF24L series format
    NRF_RADIO->BASE1 = bytewise_bitswap(0x89ABCDEFUL);  // Base address for prefix 1-7 converted to nRF24L series format

40

dosikus написал(а):

В смысле шум эфира?
А интересно на нем сниффер/сканер получится?

https://lesson.iarduino.ru/page/skaner- … bluetooth/

41

RA написал(а):

https://lesson.iarduino.ru/page/skaner- … bluetooth/

А есть ли подобное на stm32, а не на ардуино?

42

vt написал(а):

А есть ли подобное на stm32, а не на ардуино?

Так тут спич о том что ни стм ни аурдунья ни nRF24L01 не нужны, все сляпать на NRF52 ...
И ты меня пугаешь, перетащить с ардуньи на стм дело получаса..

43

Меня больше интересует не техническая сторона [как перетащить], а социальная [почему никто не перетащил] )

44

vt,  а оно надо кому? Вот мне приспичило...

45

dosikus написал(а):

а оно надо кому?

Вот этот вопрос меня и беспокоит больше всего )

46

vt написал(а):

Вот этот вопрос меня и беспокоит больше всего )

:offtop:  а беспокойство относится к dosikus, или RA, или вселенная? и вообще откуда оно Х беспокойство Ъ, какие так сказать истоки оного?
мне так думается, что все тоже самое можно любым вифишным роутером проделать, или блютузным модулем ноута, вопрос лишь в том насколько можно влезть в драйвер. там ведь тоже приемник есть на те же частоты,  те же каналы... пока инфу рою, читаю.
o.O  https://2ch.hk/ra/arch/2017-12-26/res/220817.html

47

Относится к вопросу, а вернее к ответу на него

48

dosikus у тебя есть результат какой нибудь, до радио дошли? не поделитесь?(коды интересно, но можно и на слОвАх) у меня пока вообще все встало. времени цука нет, а ведь интересно...

49

50

Все что успел в выходные -сляпать проекты по образцу a5021, На nrf24l01 приемник и передатчик и на nrf52 приемник. 24е между собой общаются , 52ой  молчит...
Сейчас на работе разверну, если время будет...

51

Не не так, по конфигурации a5021 вообще не работают даже nrf24l01.
У меня перед этим были прошиты рабочие варианты при прошивке его конфигом, если не сбросит питание nrf24 вроде работает, а после сброса питания облом... Что-то он там намудрил..

52

Эх, вот цепляли бы вы nrf24l01 к ch552, я бы к вам может и присоединился )
[И получился бы красивый девайс - китайский модуль + платочка в том же габарите с ch552 и микро-usb]

53

Вот когда придут...

54

Так'с вроде бы прием заработал...
Не работал как оказалось передатчик, заработал после того как включил строку :

Код:
   /* Enable dynamic payload for pipe 1 */
  nrf_write_register(NRF24_DYNPD_REG, 1);

Странно все это, ибо у него же в коде писано что сие лишь для приемника.

Код:
  /* Set the address width: 0 = Illegal, 1 = 3 bytes, 2 = 4 bytes, 3 = 5 bytes */
//  nrf_write_register(NRF24_SETUP_AW_REG,  1);
//    /* Disable 'Auto Acknowledgment' */
//  nrf_write_register(NRF24_EN_AA_REG, 0);
//    /* Set the channel */
//  nrf_write_register(NRF24_RF_CH_REG, NRF24_RF_CHANNEL);
    /* Set options */
  nrf_write_register(NRF24_FEATURE_REG, 
    1 * NRF24_FEATURE_EN_DYN_ACK  |  /* enable W_TX_PAYLOAD_NOACK command     */
	  0 * (1 << 1)     |               /* Disable Payload with ACK           */ 
    1 * NRF24_FEATURE_EN_DPL         /* enable dynamic payload                */
  );
    /* Enable dynamic payload for pipe 1 */
  nrf_write_register(NRF24_DYNPD_REG, 1);
//    /* Clear status bits */
//  nrf_write_register(NRF24_STATUS_REG, 
//    1 * NRF24_STATUS_MAX_RT       |
//    1 * NRF24_STATUS_TX_DS        |
//    1 * NRF24_STATUS_RX_DR
//  );
    /* Clear RX/TX FIFOs */
//  nrf_write_cmd(FLUSH_RX);           /* Flush RX FIFO                         */
//  nrf_write_cmd(FLUSH_TX);           /* Flush TX FIFO                         */
//    /* Power transeiver ON */
  nrf_write_register(NRF24_CONFIG_REG,
    0 * NRF24_CONFIG_PRIM_RX      |  /* Mode control: 0 - TX, 1 - RX;         */
    1 * NRF24_CONFIG_PWR_UP       |  /* Power control: 0 - OFF, 1 - ON;       */
    1 * NRF24_CONFIG_EN_CRC       |  /* CRC control: 0 - disable, 1 - enable; */
    1 * NRF24_CONFIG_CRCO         |  /* CRC encoding scheme: 0 - 1 byte, 1 – 2 bytes                       */
    1 * NRF24_CONFIG_MAX_RT       |  /* MAX_RT interrupt reflection on the IRQ pin: 0 - enable, 1 - disable; */
    1 * NRF24_CONFIG_TX_DS        |  /* TX_DS interrupt reflection on the IRQ pin: 0 - enable, 1 - disable;  */
    1 * NRF24_CONFIG_RX_DR           /* RX_DR interrupt reflection on the IRQ pin: 0 - enable, 1 - disable;  */
  );

  CE_HIGH;                      /* Start receiving */	

55

Ик, всплыл маленький такой жОп...
Easy DMA не работает с ROM, придется завтра запускать просто UART...

56

не забываем про кондер на питании, лучше питать отдельно, питальником 3.3в и чтоб току давал хотя бы 20мА.

57

Зачем ему 200ма?

58

a5021 написал(а):

Зачем ему 200ма?

:blush:  ноликом ошибся. исправил. по факту - лучше чутка по-больше. если использовать только радио.


Вы здесь » Микроконтроллеры » RA » nrf51822