Например TDA7294

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





Текущее время: Вт апр 23, 2024 12:03:50

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


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



Начать новую тему Ответить на тему  [ Сообщений: 177 ]     ... , , , 7, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Пт авг 29, 2014 11:27:00 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Завели одну переменную под символ и восемь строк по 50 символов. Того же можно было добиться, написав

Код:
char ch;
char strN[8][50];

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 07:51:29 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт янв 21, 2011 07:48:23
Сообщений: 86
Рейтинг сообщения: 0
YS писал(а):
Завели одну переменную под символ и восемь строк по 50 символов. Того же можно было добиться, написав

Код:
char ch;
char strN[8][50];


чет ругается на такую форму записи :(
расписал по строкам и ругань прошла, в чем может быть дело ?

Код:
char str0[50];
char str1[50];
char str2[50];
char str3[50];
char str4[50];
char str5[50];
char str6[50];
char str7[50];
char str8[50];


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 08:00:38 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Sam85 писал(а):
чет ругается на такую форму записи

Надо же писать как ругается. Да и вообще, в сообщении об ошибке обычно есть вся нужная информация для устранения ошибки, если нет - то вбиваешь в поисковик и читаешь, что пишут. Могу сказать, что умение внимательно читать - решает 99% проблем.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 08:10:16 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
menzoda писал(а):
Sam85 писал(а):
чет ругается на такую форму записи

Надо же писать как ругается.

Цитата:
Error in lines from 1 to 123: programmer does not understand anything, must be replaced.
шютка :)))

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

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


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 08:35:20 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Ага. Как там говорят? Обычно, проблема заключается в интерфейсе между креслом и клавиатурой.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 09:00:12 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт янв 21, 2011 07:48:23
Сообщений: 86
Рейтинг сообщения: 0
menzoda писал(а):
Sam85 писал(а):
чет ругается на такую форму записи

Надо же писать как ругается. Да и вообще, в сообщении об ошибке обычно есть вся нужная информация для устранения ошибки, если нет - то вбиваешь в поисковик и читаешь, что пишут. Могу сказать, что умение внимательно читать - решает 99% проблем.

[C++ Error] Unit1.cpp(11): E2451 Undefined symbol 'str1' вот так и ругаеться
вот код
Спойлер
Код:
#include <windows.h>
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#pragma argsused
main()
{
char ch;
char strN [8] [50];
CharToOem("Àíäðååâ\n", str1);
CharToOem("Áîðèñîâ\n", str2);
CharToOem("Âèíîãðàäîâ\n", str3);
CharToOem("Ãîãîëü\n", str4);
CharToOem("Äàíèëîâ\n", str5);
CharToOem("\n", str6);
CharToOem("Æåëåçíîâ\n", str7);
CharToOem("Çëîâ\n", str8);
printf(str0);
ch=getchar();
if(ch>='A'&&ch<='Z')
switch(ch)
   {
case'A':printf(str1);break;
case'B':printf(str2);break;
case'V':printf(str3);break;
case'G':printf(str4);break;
case'D':printf(str5);break;

   }

system("pause");
}

не объявлена или неправильно объявлена переменная str, как надо ?
Код:
if(ch>='A'&&ch<='Z')

эта строка читаеться примерно так "если переменная ch находиться в между A и Z" ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 09:08:32 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Все верно. Сначала ты объявил массив с именем strN, а потом пытаешся использовать какие-то str1. Нужно так:
Код:
char str[8][50];

CharToOem("Hello", str[0]);
CharToOem("World", str[1]);
...
CharToOem("Goodbye", str[7]);


В сообщении об ошибке это прямым текстом говорится: неизвестный символ str1. Неизвестный потому что ты нигде не объявил переменную с таким именем. А доступ к элементам массива осуществляется через специальный оператор (квадратные скобки), а не просто добавлением циферок к имени массива. Нумерация начинается с нуля.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 09:51:34 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт янв 21, 2011 07:48:23
Сообщений: 86
Рейтинг сообщения: 0
благодарю за объяснения :) а что по поводу нижеследующего куска кода ?
Цитата:
Код:
if(ch>='A'&&ch<='Z')

эта строка читаеться примерно так "если переменная ch находиться в между A и Z" ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 09:53:34 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Да, все так. Другими словами проверяется является ли ch заглавной латинской буквой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 10:27:16 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт янв 21, 2011 07:48:23
Сообщений: 86
Рейтинг сообщения: 0
menzoda писал(а):
Да, все так. Другими словами проверяется является ли ch заглавной латинской буквой.

А как обозначаются что именно заглавными ? и как выглядел бы код если бы не имело значения каким регистром вводить ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 10:46:10 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
В данном случае эксплуатируется тот факт, что в используемой кодировке (стандарту по которому символ сопоставляется числовому коду) заглавные буквы расположены по алфавиту друг за другом. То есть, напирмер, символу 'A' соответствует код 65, символу 'B' - код 66, 'C' - код 67, и так далее до символа 'Z' с кодом 90. После заглавных букв идут строчные, так же в алфавитном порядке. Цифры тоже расположены по порядку, только в другом месте, перед заглавными буквами. Вот, можешь посмотреть табличку ASCII, почитай что это такое в википедии, почитай про различные кодировки, и что это такое - кодировка.

Ближе к делу. Имеем подряд идущие заглавные буквы, соответственно, если числовое значение переменной больше кода буквы 'A' и меньше кода буквы 'Z', то это значение является кодом какой-либо заглавной буквы. Компилятор подменяет выражения 'A' и 'Z' (которые являются символьными литералами) на соответствующие числа. Можно вместо символьных литералов явно указывать соответствующие им числа, если только ты точно знаешь с какой кодировкой работаешь.
Код:
if (ch >=65 && ch <= 90)


В заключении скажу, что этот трюк прокатит не всегда. С латинскими буквами обычно все хорошо, но буквы других языков могут следовать не по алфавиту и вообще не друг за другом. Использовать надо с осторожностью и пониманием.

Цитата:
как выглядел бы код если бы не имело значения каким регистром вводить?

В данном случае
Код:
if ((ch >= 'A' && ch <= 'Z') || (ch >='a' && ch <= 'z'))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 11:41:08 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт янв 21, 2011 07:48:23
Сообщений: 86
Рейтинг сообщения: 0
СпойлерИзображение

не скажете что за ошибка ? :( ей богу достала уже
Код:
#include <windows.h>
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#pragma argsused
main()
{
int numer;
char str[9][50];
CharToOem("введите цифру дня недели\n", str[0]);
CharToOem("Понедельник\n",str[1]);
CharToOem("Вторник\n", str[2]);
CharToOem("Среда\n", str[3]);
CharToOem("Четверг\n", str[4]);
CharToOem("Пятница\n", str[5]);
CharToOem("Суббота\n", str[6]);
CharToOem("Воскресенье\n", str[7]);
CharToOem("На такую цифру нет дня недели\n", str[8]);
CharToOem("Введите цифру, а не другой символ :)\n", str[9]);
printf(str[0]);
printf("\n");
scanf("%f", &numer);
if(numer>='1'&&numer<='7')
switch(numer)
   {
   case1:printf(str[1]);break;
   case2:printf(str[2]);break;
   case3:printf(str[3]);break;

   }

это часть кода, остальное еще не дописал


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 12:02:21 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Возможно из-за обращения к несуществующему элементу массива str[9]. Ведь он объявлен как char str[9][50], то есть массив из 9 строк, от нулевой до восьмой включительно. А тут вдруг к девятой обращаются, которая на самом деле уже десятая, отсчет то с нуля начинается. Надо объявить массив как char str[10][50].


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 12:12:52 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт янв 21, 2011 07:48:23
Сообщений: 86
Рейтинг сообщения: 0
а почему при компиляции ошибку не выдает ? а выскакивает только когда запускается приложение, и тупо виснет, через диспетчер задач приходиться закрывать или это нормальное явление для борландС++ 6,0 ? :)
попробую подправить, погляжу что выйдет


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 04, 2014 13:11:40 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Компиляторы не отслеживают выход за границы массива, потому что в общем случае на этапе компиляции это сделать практически невозможно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Сб сен 06, 2014 14:39:11 
Друг Кота

Карма: 24
Рейтинг сообщений: 140
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 13212
Рейтинг сообщения: 0
непонятно, зачем ты пишеш
Sam85 писал(а):
CharToOem("Понедельник\n",str[1]);

у тебя массив, в который ты пихаеш набор букв, который ты воспринимаеш как строку
компутер не знает, что это строка, т.к. на конце массива нет символа \0, который обозначает конец строки
тебе нужно использовать строки и никакой оем там не нужен, используй юникод всегда
http://valera.asf.ru/cpp/book/c03_4_2.html
и если ты пишеш на с++, то используй плюсовые библиотеки <iostream>
а то у тебя файл цпп, а код сишный

_________________
тематические ответы только в форуме, в приват не пишите


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Ср сен 10, 2014 12:16:42 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт янв 21, 2011 07:48:23
Сообщений: 86
Рейтинг сообщения: 0
переведите пожалуйста эту строку :) на человеческий язык
Код:
if (c & 1) PORTB.4=1


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Ср сен 10, 2014 13:01:12 
Модератор
Аватар пользователя

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 11, 2014 04:07:56 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт янв 21, 2011 07:48:23
Сообщений: 86
Рейтинг сообщения: 0
Да начинал с МК, но постепенно дошел до Си :)
Пошли вопросы :) почему именно 0-ой бит ? и как выглядела бы запись, если бы вместо 0-го бита мне нужен был бы 4-ый.
И не кинете ссылку, где можно почитать про логические и битовые операции, но только что бы было описано и разжевано, а то, то что находил сам в голове толком не укладывается :( и желательно с примерами
P.S. Только не гугл в помощь :) ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: вопросы полного чайника
СообщениеДобавлено: Чт сен 11, 2014 07:33:49 
Модератор
Аватар пользователя

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

Sam85 писал(а):
как выглядела бы запись, если бы вместо 0-го бита мне нужен был бы 4-ый.
Код:
if (c & 0x10)
или
Код:
if (c & (1<<4))
, что эквивалентно друг другу.

Sam85 писал(а):
P.S. Только не гугл в помощь :) ?
Ну а почему бы и нет ? Вы пробовали ? :)


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

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


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

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


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

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


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