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

 
» » Программирование NRF24LE1. Интерфейс UART

Программирование NRF24LE1. Интерфейс UART

Автор: Mike(admin) от 19-11-2016, 14:25

Радиомодуль NRF24LE1 предсталяет собой не только приемопередатчик, но и полноценный микроконтроллер с ядром 8051. А это значит, что у него есть вся необходимая периферия, которая присутствует у большинства современных микроконтроллеров. И одним из самых полезных периферийных модулей является UART, позволяющий общаться с другими контроллерами и даже компьютерами через RS232.


Программирование NRF24LE1. Интерфейс UART

В предыдущем материале было показано, как начать программировать NRF24LE1 и мигать с помощью него светодиодами. В данной же статье будет продемонстрировано, как запрограммировать интерфейсный модуль UART на этом чипе.


UART (Universal Asynchronous Receiver / Transmitter или универсальный асинхронный приемник / передатчик) представляет собой способ последовательной передачи данных, который использует два провода: один для передачи (Tx) и один для приема (Rx). В пакете данных используются старт- и стоп-биты, чтобы указать начало и конец пакета. Также есть возможность использовать бит четности внутри данных, чтобы при необходимости указать на ошибку в переданных данных. Перед использованием UART нужно объявить скорость передачи данных, измеряемую в бодах. Наиболее распространенная скорость передачи равна 9600 бод (бит в секунду). Модуль NRF24LE1 предлагает различные скорости передачи данных, начиная с 600 бод и заканчивая 38400 бод. Для UART в данном модуле выделен вывод 3 порта 0 (P0.3) для Tx и вывод 4 порта 0 (P0.4) для Rx.


Функции, которые являются полезными для использования UART, следующие:


hal_uart_init() – эта функция принимает скорость в бодах для использования модулем UART.


hal_uart_tx_complete() – проверяет завершение передачи.


hal_uart_putchar() – эта функция принимает символы для передачи.


hal_uart_chars_available() – проверяет, был ли получен символ или нет.


hal_uart_getchar() – возвращает принятый символ.


Для того, чтобы проверять работу UART, можно подключить переходник USB-UART, как показано на приведенной ниже схеме.


Программирование NRF24LE1. Интерфейс UART

Далее приведем код, который позволит передавать строку Hello Everyone по UART.



#include"reg24le1.h"

#include"hal_uart.h" // для использования UART обязательно подключаем этот заголовочный файл
#include"hal_delay.h"
 
 
// функция для формирования строки из символов
void putstring(char *s)
{
  while(*s != 0)
     hal_uart_putchar(*s++);
}
 
 
// основная функция
void main()
{
P0DIR = 0xf0;  // устанавливаем P03 на выход и P04 на вход
 
// инициализируем UART со скоростью 9600 бод
  hal_uart_init(UART_BAUD_9K6);
 
// разрешаем глобальные прерывания
  EA = 1;
 
//бесконечный цикл
while(1)
{
// печатаем "Hello Everyone"
putstring("\r\nHello Everyone!!\r\n") ;
delay_ms(1000); // задержка 1 секунда
}
 
}



© digitrode.ru


Теги: NRF24LE1



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

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

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