STM 8L работа с USART

Автор: callous_vk от 29-03-2016, 13:04, посмотрело: 1533

0
И так теперь попробуем использовать USART, для передачи данных с АЦП.
По умолчанию пины USART настроены PC3 - Tx и PC2 -Rx их можно перенастроить на другие порты.
STM 8L работа с USART

Далее напишем программу которая по приему с USART команды "start" будет выводить в USART значение даты, времени и АЦП, а по команде "stope" останавливать вывод. Команды "start" и "stope" имеют по 5 символов это важно, поскольку мы будем отлавливать 5 байт в приеме USART. Если усложнить немного программу то можно использовать и команду "stop".
Прием данных осуществляем в прерывании, отправку в основной части программы.


В файле stm8l15x_conf.h нужно включить библиотеки:
#include "stm8l15x_adc.h"
#include "stm8l15x_clk.h"
#include "stm8l15x_comp.h"
#include "stm8l15x_gpio.h"
#include "stm8l15x_itc.h"
#include "stm8l15x_rtc.h"
#include "stm8l15x_usart.h"

Часть с обнулением буфера приема и счетчика принятых байт нам нужна, для исключения случаев когда будет отправлена команда менее или более 5 байт. Если отправить "stop" после команды "start", то в буфере приема будет с 0 по 4 байт ----> "s" "t" "o" "p" "t", последний байт не обновится, а счетчик принятых байт будет иметь значение 4, даже если после отправить правильную команду "stope" мы получим ----> "t" "o" "p" "e" "s". Теоретически возможен случай когда мы отправим команду и она тут же будет стерта из буфера, без обработки, но в реальности у меня поймать этот момент не получилось.

Так это выглядит в терминале, команда "start":
STM 8L работа с USART

Команда "stope":
STM 8L работа с USART

Если в терминале включить логирование, то на выходе мы получим файл *.txt и при его правильном импорте в exel, как показано в статье, можно будет строить графики и т.д.

Категория: Микроконтроллеры

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