цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Как запрограммировать радиомодуль NRF24LE1

Как запрограммировать радиомодуль NRF24LE1

Автор: Mike(admin) от 17-11-2016, 07:55

Модуль NRF24LE1 производства компании Nordic Semiconductors можно использовать не только в качестве дополнительного устройства для передачи данных по радиоканалу, но и полноценно программировать и применять в качестве автономного устройства без необходимости добавления в проект управляющего микроконтроллера. Такая возможность в некоторых проектах делает из NRF24LE1 замену ESP8266, который также можно программировать и использовать автономно.


Как запрограммировать радиомодуль NRF24LE1

NRF24LE1 построен на основе ядра 8051, поэтому его можно программировать как микроконтроллер с гарвардской архитектурой 8051. Помимо радиочастотного приемопередатчика, поддерживающего модуляцию GFSK и передающего данные на расстояние до 100 метров, в составе NRF24LE1 есть АЦП, ШИМ, UART, I2C линии ввода/вывода общего назначения (GPIO), которыми можно управлять, правильно их запрограммировав.


Как запрограммировать радиомодуль NRF24LE1

Программировать NRF24LE1 будем на языке C в среде KEIL IDE. Для работы с модулем потребуются специальные библиотеки, которые можно найти на сайте Nordic Semiconductors или скачать здесь. Загрузка прошивки в данном случае будет осуществляться с помощью программатора Mpro Burner. Для этого программатора будет следующее соответствие выводов:


Как запрограммировать радиомодуль NRF24LE1

Учтите, что напряжение питания модуля составляет 3.3 В, а не 5 В. Поэтому будьте внимательны при подключении линий питания. Программирование модуля NRF24LE1, то есть загрузка в него hex-файла, осуществляется с помощью утилиты для Mpro Burner, которая также представлена в архиве по ссылке выше. Ниже приведем простой пример, который позволит мигать светодиодом, подключенным к линии GPIO модуля NRF24LE1. Схема подключения:


Как запрограммировать радиомодуль NRF24LE1

В коде мы используем регистр PnDIR (где n номер порта), чтобы изменить направление (вход или выход) конкретной линии порта (в данном случае порта 0). Запись значения 0 означает, что линия порта настроена на выход, а запись 1 – на вход. Например, запись P1DIR = 0x01 значит, что линия 0 порта 1 настроена на вход, а остальные линии 1 этого же порта настроены на выход. Для выбора типа линий порта (аналоговые или цифровые) служит регистр PnCON. По умолчанию все линии настроены как цифровые, что и будет в данном примере. Но при желании с помощью PnCON можно изменить их принцип работы на аналоговый. Запись значения в линию порта также выполняется довольно легко. Для этого нужно просто в регистр Pnm (n – номер порта, m – номер линии) записать 0 или 1. Код программы для мигания светодиодом:



#include "reg24le1.h"  // заголовочный файл для выводв NRF24LE1
#include "hal_delay.h" // заголовочный файл для функций задержки
 
// основной код
void main()
{
P0DIR = 0x00;  // порт PORT0 на выход
while(1)  // бесконечный цикл
{
P00 = 0; // линия 0 порта 0 в низкий лог. уровень
delay_ms(1000); // задержка 1 секунда
P00 = 1; // линия 0 порта 0 в высокий лог. уровень
delay_ms(1000); // задержка 1 секунда
}
}



Теги: NRF24LE1



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

Комментарии:

Оставить комментарий