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

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

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

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

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

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


 
Опции темы

HAL Nextion дисплей - обмен данными

Непрочитано 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
Адрес: мурмурляндия
Сообщений: 11,122
Сказал спасибо: 202
Сказали Спасибо 3,283 раз(а) в 2,149 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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
Адрес: мурмурляндия
Сообщений: 11,122
Сказал спасибо: 202
Сказали Спасибо 3,283 раз(а) в 2,149 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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
Адрес: мурмурляндия
Сообщений: 11,122
Сказал спасибо: 202
Сказали Спасибо 3,283 раз(а) в 2,149 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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, время: 21:00.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.