Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 23.03.2021, 19:02  
sanstan
Прописка
 
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
sanstan на пути к лучшему
По умолчанию HAL Nextion дисплей - обмен данными

Добрый день.
Кто работал с Nextion, подскажите, как принимать данные!

Отображение данных нормально пошло:

Код:
	  
t++;
sprintf(test,"tM1.txt=\"12\"\xFF\xFF\xFFtM2.txt=\"%3i\"\xFF\xFF\xFFtM3.txt=\"3d\"\xFF\xFF\xFF",t);
	  HAL_UART_Transmit_IT(&huart2,test,80);
А с приемом не пойму - как его организовать.
сделал:
Код:
uint8_t buffRx[8]={0};
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){
	if(huart==&huart2){
		char s[8];
		sprintf(s,"%8c",(char*)buffRx);
		HAL_UART_Transmit_IT(&huart3, (char*) s,sizeof(buffRx)); //проверка в терминале 
		HAL_UART_Receive_IT(&huart2, buffRx,sizeof(buffRx));
	}
}
void main(){
.....
HAL_UART_Receive_IT(&huart2,(uint8_t*) buffRx, sizeof(buffRx));
...
while(1){
....
Там сложность в том, что читать надо после символа \x0A... а выводится:
20 20 20 20 20 20 20 90 00 00 00 00 00 00 00 31 31 35 32 00 00 00 00 00
Подскажите , как обеспечить чтение с Nextion.
Реклама:
sanstan вне форума  
Непрочитано 25.03.2021, 11:40  
sanstan
Прописка
 
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
sanstan на пути к лучшему
По умолчанию Re: HAL Nextion дисплей - обмен данными

Подскажите, как правильно прочитать данные произвольной длины с помощью HAL_UART_Receive_IT ?

Напишу, как у меня получилось наладить обмен:
Цитата:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart ){
//huart2 - Nextion
if(huart==&huart2){
char cmpC[8];
char chrTransmit[8];
if(strstr(RX_data2,"StartA")›0){
fTransmit=1;
}else if(strstr(RX_data2,"sTar")›0){
fDatchikAll=1;
}else if(strstr(RX_data2,"Stop")›0){
StopAll();

}
for(int i=0;i‹sizeof(RX_data2);i++){
RX_data2[i]=0;
}
HAL_UART_Receive_IT(&huart2, RX_data2, sizeof(RX_data2));
}
}


.....

в main():


while(1){
....

if(fNextion==1){//флаг в таймере на 300-1000мс
fNextion=0;
char strN[30]={0};
char strNextion[370]={0};
for(int i=0;i‹sizeof(strNextion);i++){
strNextion[i]=0;
}
sprintf(strNextion,"tD1.txt=\"void\"\xff\xff\xff") ;
for(int i=1; i‹=numDatchikMax;i++){
sprintf(strN,"tD%i.txt=\"%.3f\"\xff\xff\xff",i,aDO ut[i]);
strcat(strNextion,strN);
}
HAL_UART_Transmit_IT(&huart2,strNextion, sizeof(strNextion));

}
...


}
не забыть в Сube поставить NVIC прерывание UART

Последний раз редактировалось sanstan; 08.04.2021 в 15:19.
sanstan вне форума  
Непрочитано 25.03.2021, 12:10  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,308
Сказал спасибо: 173
Сказали Спасибо 3,112 раз(а) в 2,006 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: HAL Nextion дисплей - обмен данными

я на каждой кнопке или слайдере написал по своему обмен.
к примеру вот слайдер по событию touch release
print "ADR"
print ","
print "33"
print ","
print "6"
print ","
print h0.val
printh 0d
printh 0a

ну у меня их там много и у каждого типа свой двойной адрес.
конец строки по классике - \r\n


__________________
ОГМ/ПОГМ

Последний раз редактировалось индюк; 25.03.2021 в 12:14.
индюк вне форума  
Сказали "Спасибо" индюк
mtit (26.03.2021)
Непрочитано 25.03.2021, 12:18  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,308
Сказал спасибо: 173
Сказали Спасибо 3,112 раз(а) в 2,006 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: HAL Nextion дисплей - обмен данными

еще надо его собственные высеры отключить вот так -
bauds=115200 (тут я большую скорость задаю)
bkcmd=0 (а тут заставляю его полностью молчать. работают только мои прописанные выводы)
__________________
ОГМ/ПОГМ
индюк вне форума  
Непрочитано 25.03.2021, 12:31  
sanstan
Прописка
 
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
sanstan на пути к лучшему
По умолчанию Re: HAL Nextion дисплей - обмен данными

bkcmd=0 - заработало без эхо!!
а на стороне микроконтроллера как обрабатываешь информацию с панели?

Последний раз редактировалось sanstan; 08.04.2021 в 13:38.
sanstan вне форума  
Непрочитано 25.03.2021, 12:48  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,308
Сказал спасибо: 173
Сказали Спасибо 3,112 раз(а) в 2,006 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: HAL Nextion дисплей - обмен данными

Дма. Я на самом низком уровнн пишу для процов типа ф0. Си но почти как ассемблер.
Хал этот много лишнего приписывает и хер пойми чо там индусы написали. Больше времени уходит на разбирательства с кубом чеммнаписать руками все самому
__________________
ОГМ/ПОГМ
индюк вне форума  
Эти 2 пользователя(ей) сказали Спасибо индюк за это сообщение:
LiVit (25.03.2021)
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обмен данными с пк melkij Микроконтроллеры, АЦП, память и т.д 0 16.03.2010 18:36
Быстрый обмен данными. kos_ua Микроконтроллеры, АЦП, память и т.д 4 05.10.2009 14:38
Управление нагрузками и обмен данными по локальной сети amid- Автоматика и аппаратура связи 4 14.07.2009 09:39
С++ обмен данными через USB Boris_Britva Микроконтроллеры, АЦП, память и т.д 8 24.06.2008 11:58
Обмен данными ПИКа с внешней флэш Boris_Britva Микроконтроллеры, АЦП, память и т.д 2 18.06.2008 11:19


Часовой пояс GMT +4, время: 14:03.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot