Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

Разделы инструкций

В сети

Пользователей: 42
Из них просматривают:
Аналоги: 8. Даташиты: 8. Инструкции: 3. Остальное: 1. Программы: 1. Производители: 1. Профиль пользователя: 3. Теги: 1. Форум: 16.
Участников: 2
Гостей: 40

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

Функции для работы с USART

Рассмотрим функции для работы с аппаратной реализацией. Аппаратный модуль USART имеется во многих представителях семейства PIC. Библиотека mikroC для работы с аппаратной реализацией IJSART предоставляет возможности удобной работы в асинхронном полнодуплексном режиме.

 

Схема аппаратного подключения RS-232

Рис. 25. Схема аппаратного подключения RS-232 

 

 Можно легко организовать связь с другими устройствами, поддерживающими протокол RS-232, например, с персональным компьютером (см. рис. 25). Для этого потребуется микроконтроллер с аппаратным USART, например PIC16F877. В программе можно использовать все функции, приведённые ниже.

 
Для работы с USART используются библиотечные функции Usart_Init, Usart_Data_Ready, Usart_Read и Usart_Write. Описание этих функций представлено в таблицах 14-17 соответственно.

 

 Таблица 14. Описание функции Usart_Init

Прототипvoid Usart_lnit(const unsigned long baud_rate)
Возвращаемое значениеНет
ОписаниеИнициализация аппаратуры модуля USART требуемой скоростью обмена. Для подробной информации о разрешённых скоростях обмена при заданных частотах тактового генератора следует обратиться к документации на микроконтроллер. Если будет задана запрещённая скорость обмена, компилятор сообщит об ошибке

 

ТребованияНеобходим микроконтроллер с аппаратным USART. Функция Usartjnit должна быть вызвана перед использованием всех остальных функций библиотеки работы с USART
ПримерИнициализация аппаратуры USART и установка скорости обмена 2400 bps: Usart_lnit(2400)

  

 Таблица 15. Описание функции Usart_Data_Ready

Прототипunsigned short Usart_Data_Ready(void)
Возвращаемое значениеФункция возвращает значение 1, если есть принятые данные, и 0 в противном случае
ОписаниеЭту функцию следует использовать для проверки наличия данных для чтения в приёмном регистре
ТребованияАппаратный модуль USART должен быть предварительно проинициализирован и задана скорость обмена с помощью функции Usart_Init
Пример

Если данные готовы, прочитать их:

int receive;
...

if (Usart_Data_Ready()) receive = Usart_Read;

 

 Таблица 16. Описание функции Usart_Read

Прототипunsigned short Usart_Read(void)
Возвращаемое значениеВозвращает значение принятого байта. Если байт не принят, возвращает О
ОписаниеФункция считывает принятые данные из приёмного регистра аппаратуры USART. Для проверки наличия принятых данных следует использовать функцию Usart_Data_Ready
ТребованияАппаратный модуль USART должен быть предварительно проинициализирован, а скорость обмена задана с помощью функции Usartjnit
Пример

Если данные готовы, прочитать их:

int receive;
...

if (Usart_Data_Ready()) receive = Usart_Read();

 

 Таблица 17. Описание функции Usart_Write

Прототипvoid Usart_Write(unsigned short data)
Возвращаемое значениеНет
ОписаниеФункция передаёт байт (data) no USART
ТребованияАппаратный модуль USART должен быть предварительно проинициализирован, а скорость обмена задана с помощью функции Usartjnit
Примерint chunk = 0x1E;
Usart_Write(chunk); /* послать chunk no USART */

 


Микроконтроллеры, имеющие по два модуля USART, например P18F8520, требуют задать модуль, который будет использоваться. Для этого достаточно просто приписать цифру 1 или 2 к названию функции. Например, Usart_Write2(). Также, с целью обратной совместимости с предыдущими версиями компилятора и облегчения управления кодами, МК с несколькими модулями USART имеют Usart-библиотеку, которая идентична Usart 1 (т.е. можно использовать Usart_Init() вместо Usart l_Init() для операций с USART).

 
Следующий пример программы демонстрирует простой обмен данными по USART. Когда МК принимает данные, он немедленно отправляет те же данные обратно. Если подключить PIC к ПК (см. рис. 25), можно проверить обмен с терминалом для связи по RS-232. В среде разработки терминал запускается из выпадающего меню командой Tools -> Terminal.

unsigned short i;
void main() {
// Инициализация модуля USART (8 бит, скорость обмена 2400 бод, без к/ч)
Usart_Init( 2400 ) ;
do {
if (Usart_Data_Ready()) { // Если данные приняты
i = Usart_Read(); // Прочитать, что принято
Usart_Write(i); //и отправить назад по USART
}
} while ( 1 ) ;
} // end
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Наличие высокого напряжения на присоске можно проверить отверткой, соединенной с корпусом через резистор 3-5 МОм
Наличие резистора обязательно, так как без него из-за большого тока можно повредить умножитель или строчный трансформатор типа ТДКС.

Похожие инструкции