Easyelectronics.ru

Электроника для всех
Текущее время: 26 июн 2022, 21:54

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Не могу принять строку по УАРТ
СообщениеДобавлено: 19 ноя 2020, 09:02 
Заглядывает иногда

Зарегистрирован: 20 сен 2016, 10:55
Сообщения: 56
Не могу принять строку по уарт.

Код:
UART1_DeInit();
// Конфигурация UART на отправку 8 бит данных без контроля PARITY, модуль будет работать на прием и отправку.
UART1_Init( 9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
UART1_ITConfig( UART1_IT_RXNE_OR, ENABLE); // Включаем прерывание от приема данных.
enableInterrupts(); // Включаем все прерывания.
UART1_Cmd( ENABLE); // Включаем UART.

uint8_t priem[5]; // Массив куда будем принимать данные.
uint8_t count=0; // Счетчик принимаемых данных.

//Обработчик для приема данных.
INTERRUPT_HANDLER( UART1_RX_IRQHandler, 18){
if(UART1_GetFlagStatus( UART1_FLAG_RXNE)){// если прерывание по флагу готовности данных в приёмном буфере
// и флаг готовности данных сброшен - ПРИНИМАЕМ ДАННЫЕ В БУФЕР
priem[count]= UART1_ReceiveData8(); // Копируем данные в массив.
count++; // Прибавляем счетчик принятых данных.
if( count==5){count=0; // Если счетчик равен 5, то приняли все данные, сбрасываем его.
}
}
}


Строка с другого мк приходит-проверяю терминалом, но массив заполняется, только если 5 раз отправлю строку. Что тут не так?




РАЗОБРАЛСЯ. Можно удалить.
Дело в сортировке данных, есп при включении и коннекте к вайфай кидает свою инфу по уарт, после этого нужно массив обнулять на начало.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB