Например TDA7294

Форум РадиоКот • Просмотр темы - Конвертация символов Ардуино.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт апр 19, 2024 18:47:02

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 49 ]    , , 3
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Чт май 24, 2018 23:43:37 
Открыл глаза

Зарегистрирован: Пт апр 08, 2016 10:09:03
Сообщений: 71
Рейтинг сообщения: 0
СпойлерvideocardCLS:17: error: stray '#' in program

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: stray '#' in program

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: stray '#' in program

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: stray '#' in program

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:20: error: stray '#' in program

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: stray '#' in program

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: stray '#' in program

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: stray '#' in program

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:23: error: stray '#' in program

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: stray '#' in program

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: stray '#' in program

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: stray '#' in program

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

C:\Users\Pavel\Desktop\videocardCLS\videocardCLS.ino: In function 'void loop()':

videocardCLS:17: error: lvalue required as unary '&' operand

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: expected ')' before ';' token

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: expected ')' before ';' token

videocardCLS:17: error: 'c' was not declared in this scope

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: expected primary-expression before '||' token

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: lvalue required as unary '&' operand

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: 'C' was not declared in this scope

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: expected primary-expression before ')' token

if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){

^

videocardCLS:17: error: expected ';' before ')' token

videocardCLS:20: error: lvalue required as unary '&' operand

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: expected ')' before ';' token

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: expected ')' before ';' token

videocardCLS:20: error: 'l' was not declared in this scope

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: expected primary-expression before '||' token

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: lvalue required as unary '&' operand

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: 'L' was not declared in this scope

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: expected primary-expression before ')' token

if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){

^

videocardCLS:20: error: expected ';' before ')' token

videocardCLS:23: error: lvalue required as unary '&' operand

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: expected ')' before ';' token

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: expected ')' before ';' token

videocardCLS:23: error: 's' was not declared in this scope

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: expected primary-expression before '||' token

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: lvalue required as unary '&' operand

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: 'S' was not declared in this scope

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: expected primary-expression before ')' token

if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){

^

videocardCLS:23: error: expected ';' before ')' token

exit status 1
stray '#' in program


Добавлено after 2 minutes 6 seconds:
Димон спасибо Вам за помощь еще раз!!! При попытке залить ругается вот этим. Может у меня компилятор кривой???


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Пт май 25, 2018 07:38:01 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Да это редактор что-то не то выдал
Спойлер
Код:
char len; //счетчик числа символов в команде
char len_2;

void setup() {
Serial1.begin(9600);
VGA.begin(320, 240, VGA_COLOUR);
VGA.setInk(16);
}

void loop() {
if(Serial1.available()) {
int inByte = Serial1.read();

len_2++;

if((inByte == 'c' ||inByte == 'C') && len == 0 && len_2 == 1){
len++;
}
if((inByte == 'l' ||inByte == 'L') && len == 1 && len_2 == 2){
len++;
}
if((inByte == 's' ||inByte == 'S') && len == 2 && len_2 == 3){
len++;
}
if(inByte == 13 && len == 3 && len_2 == 4){ // клавиша Enter
VGA.clear(); VGA.moveCursor(0,0);
len=0;len_2=0;
}
if(inByte == 13 || inByte == 27){ // клавиша Enter или клавиша Esc сброс счетчика числа символов в команде
len= 0; len_2=0;
}
if(inByte==27){ // клавиша ESC
VGA.clear();
VGA.moveCursor(0, 0);
}

VGA.write(inByte); }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Пт май 25, 2018 08:52:47 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Кошмар... И это только для одной команды.
А если их будет 20 ? Простыню на 100500 строк городить ? :facepalm:


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Пт май 25, 2018 09:21:56 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 3
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
я так и не понял, о чем тут идет спор...
если достаточно ресурсов (а я догадываюсь, их достаточно), то что может быть проще ранее рекомендованного strcmp?
Код:
if(strcmp(command, "CLR") == 0){
   // обработка команды CLR
} else if(strcmp(command, "PRINT") == 0{
   // обработка команды PRINT
} else if .......
для avr-gcc рекомендую strcmp_P - меньше ресурсов flash тратится.

Добавлено after 3 minutes 12 seconds:
можно, конечно, и красивее сделать - перебор структур из массива... но это на любителя, так тоже просто и удобно.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Пт май 25, 2018 09:27:54 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Массив структур, в виде строки-команды и указателя на функцию-обработчик, как выше уже сказали - самое простое и красивое решение.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Пт май 25, 2018 09:37:04 
Первый раз сказал Мяу!

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Пт мар 07, 2014 18:37:20
Сообщений: 38
Откуда: Пермь
Рейтинг сообщения: 0
Массив структур, в виде строки-команды и указателя на функцию-обработчик, как выше уже сказали - самое простое и красивое решение.

Да весь этот механизм в интерпретаторе бейсика уже есть и если проект открыт, то должно быть внятное описание как добавлять свои операторы.
Только от ТС так и не узнали, что это за проект, на чем он написан, чем компилить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Пт май 25, 2018 09:41:33 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Аlex писал(а):
Массив структур, в виде строки-команды и указателя на функцию-обработчик
ну я об этом и написал в дополнении... хотя не факт, что этот вариант будет компактнее и быстрее. я сталкивался с большим геморроем, когда реализовывал этот подход при помощи WinAVR, который данные во flash поддерживает не наивно для Си, а только путем работы с функциями чтения... такое не стану советовать.
avr-gcc с версии, кажется, 4 уже поддерживает пространство памяти __flash, что позволяет реализовать описанный подход на самом деле элегантно.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Пт май 25, 2018 09:57:50 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14058
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Мое видение ситуёвины...
:roll:
Человек хочет организовать внутреннюю шину данных для обмена между самостоятельными блоками единого устройства.
Это городушка вроде северна/южна моста в ПК (ибо устройство по сути и есть самодельный эквивалент ПК).
Ранее в пределах одного модуля (а за основу взят АРМ из группы ардуиновых) у него задачка решалась.
Однако, поскольку использованы библиотеки-копипасты, а не самостоятельная разработка быстродействие результирующего устройства автора не устроило и он разделил его на самостоятельные функциональные блоки.
А воть тут-то и вылезло... проблемо место...
Ему бы не RS232 с асинхронным обменом делать, а позаботится хотя-бы об аппаратном варианте синхронизации обмена "запрос-ответ" да шину данных по-другому организовать. Ан нет - уперся в тот АППАРАТНЫЙ serial поскольку ИНЫХ ГОТОВЫХ БИБЛИОТЕК НЕТ.
Ежли уж говорить о отловле команд по асинхроннику...
Каждый модуль занят своей задачей. Отлов наличия каких-либо данных в буфере приемопередатчика производится в произвольное время (а сколько за тот промежуток времени туда нападало данных - это тоже вопрос). Ардуина готовность данных прерыванием (как в случае работы непосредственно с МК) не обозначает - гонит поток всего, что принимает через буфер (можно конечно и посложнее прожку соорудить - но то уже задача посильная ЗНАТОКУ, а не НАЧИНАЮЩЕМУ и выходит за рамки "стандартных"средств IDE). Посему ставится периодический контроль содержимого того буфера (что жреть время и ресурс). Сразу всплывает вопрос о обрамлении данных синхросимволами, дабы отличить случайно совпавшую комбинацию данных от команды. Да и ответ "соседнему" блоку о том, что данные обработаны, а не потеряны...
Вобщем КАША...
:(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Конвертация символов Ардуино.
СообщениеДобавлено: Пт май 25, 2018 11:33:09 
Открыл глаза

Зарегистрирован: Пт апр 08, 2016 10:09:03
Сообщений: 71
Рейтинг сообщения: 0
Всем спасибо за помощь. Связать платы так и не получилось как следует. Пока ограничился постановкой команд на не используемый ряд верхних клавиш (F1-F12). Из плюсов - уяснил для себя много нового.
Не в курсе сколько будет стоить подобная работа по "связке плат", если заказать это?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 49 ]    , , 3

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


Кто сейчас на форуме

Сейчас этот форум просматривают: Just_Fluffy и гости: 25


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y