Например TDA7294

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





Текущее время: Пн июл 21, 2025 02:48:00

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


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



Начать новую тему Ответить на тему  [ Сообщений: 2195 ]     ... , , , 95, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 21, 2015 15:59:02 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб май 16, 2015 22:42:01
Сообщений: 26
Рейтинг сообщения: 0
Спасибо господа. Приведение типов использовал в первую очередь, но чтоб так ставить знак "~" не приходилось


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 21, 2015 16:15:14 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
AntonChip писал(а):
Приведение типов использовал в первую очередь, ...
Извините, но Вы, похоже, заблуждаетесь, или хотите ввести в заблуждение окружающих. Если бы Вы использовали "приведение типов в первую очередь", то сравнение сразу заработало бы и этой темы не было бы. Так что, либо Вы использовали не приведение типов, либо его, но только после того, как Вам на это указали.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 21, 2015 16:37:02 
Друг Кота
Аватар пользователя

Карма: 45
Рейтинг сообщений: 623
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Сообщений: 8007
Откуда: Лукалэнд
Рейтинг сообщения: 0
А объяснить ему доходчиво - язык отсохнет... Попробую я, у меня не отсохнет.
Суть в том, что оператор ~ возвращает результат с типом, используемым по умолчанию. Это int, что и заводит прямо на грабли.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 21, 2015 17:15:27 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
hybroid писал(а):
оператор ~ возвращает результат с типом ... прямо на грабли.
Ну вот, теперь он точно не прочтет те разделы, незнание которых rised эти грабли к жизни. (Boooo! :))))


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 21, 2015 17:22:25 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб май 16, 2015 22:42:01
Сообщений: 26
Рейтинг сообщения: 0
До того как написать в этот высокоинтеллектуальный форум делал так, не работает:
Код:
if(((unsigned char)ir_code[0] == ~(unsigned char)ir_code[1]) && ((unsigned char)ir_code[2] == ~(unsigned char)ir_code[3]))
{
}

Так работает:
Код:
if(((unsigned char)ir_code[0] == (unsigned char)~ir_code[1]) && ((unsigned char)ir_code[2] == (unsigned char)~ir_code[3]))
{
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 21, 2015 17:32:00 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
AntonChip писал(а):
~(unsigned char)ir_code[1] - так, не работает
То есть, преобразовывали unsigned char в unsigned char же?
До сего дня был уверен, что написать такое не под силу никому. "О, сколько нам открытий чудных...".
Все же прочтите хотя бы немного о языке Си, хотя бы те два раздела... :facepalm: Может тогда простейшие истины перестанут казаться колдовством и слово "высокоинтеллектуальный" обретет свое первоначальное содержание...

________________
- А на горизонте виднелся маааленький ...
- Большой!!!
- ... А на горизонте виднелся большой ... маааленький кораблик...

©


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 21, 2015 22:53:18 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб май 16, 2015 22:42:01
Сообщений: 26
Рейтинг сообщения: 0
Pnjom-Penb писал(а):
Все же прочтите хотя бы немного о языке Си, хотя бы те два раздела... :facepalm: Может тогда простейшие истины перестанут казаться колдовством и слово "высокоинтеллектуальный" обретет свое первоначальное содержание...
А какое содержание еще может быть у слова "высокоинтеллектуальный"?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 22, 2015 00:25:25 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 44
Зарегистрирован: Вс авг 30, 2015 03:52:59
Сообщений: 469
Рейтинг сообщения: 0
AntonChip писал(а):
А какое еще содержание может быть у слова "высокоинтеллектуальный"?
См. сами. :)))

Для сравнения:
Цитата:
    - Да вы напрасно его прелестным ругаете.


© "С.с.", МАБ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 22, 2015 05:10:48 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб май 16, 2015 22:42:01
Сообщений: 26
Рейтинг сообщения: 0
Pnjom-Penb, спасибо


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Сб дек 26, 2015 17:52:05 
Родился

Зарегистрирован: Ср июл 22, 2009 18:05:46
Сообщений: 11
Откуда: Россия
Рейтинг сообщения: 0
Надеюсь, вопрос по makefile будет в тему...
Я очень начинающий WinAvr пользователь, поэтому, вероятно, спрошу глупость.
Объясните (или направьте - где можно почитать, беглый гуглопоиск не помог), что значат строчки в makefile:
OPT_DEFS += -DPS2_USE_USART
и
PS2_USE_USART = yes

И еще одно - я запускаю make из "консоли" (cmd). При работе он выводит ну очень много - полезной, как оказалось,- инфы. Как ее загнать в один файл - а то буфер не бесконечен и начальная часть теряется. В два файла (1>1.txt 2>2.txt) я научился, но ведь наверняка есть способ проще...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Сб дек 26, 2015 22:39:31 
Говорящий с текстолитом
Аватар пользователя

Карма: 8
Рейтинг сообщений: 209
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1520
Рейтинг сообщения: 0
Используется ли где-то в коде макрос PS2_USE_USART?
make > file.txt не работает?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вс дек 27, 2015 07:57:37 
Родился

Зарегистрирован: Ср июл 22, 2009 18:05:46
Сообщений: 11
Откуда: Россия
Рейтинг сообщения: 0
COKPOWEHEU писал(а):
Используется ли где-то в коде макрос PS2_USE_USART?

у меня сложилось впечатление, что это не макрос, а флаг...
он используется в конструкции
ifdef PS2_USE_USART
SRC += protocol/ps2_usart.c
SRC += protocol/ps2_io_avr.c
OPT_DEFS += -DPS2_USE_USART
endif
но в первом случае файлы не компилируются, в во втором - компилируются
собственно, интересно, что делает "OPT_DEFS += -D"
я ради интереса (в процессе изысканий) попробовал написать
OPT_DEFS += -DPS2_USE_USART = yes
но при компиляции вылезла ошибка на первом же файле - "невозможно найти путь" или что-то подобное...
COKPOWEHEU писал(а):
make > file.txt не работает?

интернет говорит, что у make два потока вывода, то есть указанное мною выше
make >1.txt >2.txt
позволяет получить близкое к желаемому, но файла получается два и надо думать, что с чем взаимосвязано (по моменту вывода)
хотя, в общем, все понятно, конечно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вс дек 27, 2015 09:53:46 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Что-то мне подсказывает что OPT_DEFS это список опций компилятора и выражение это добавляет к параметрам с которыми запустится компилятор определение PS2_USE_USART.

а строка "SRC += protocol/ps2_usart.c" добавляет к списку подключаемых исходников указанные файлы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вс дек 27, 2015 17:56:30 
Первый раз сказал Мяу!

Зарегистрирован: Сб дек 26, 2015 22:28:05
Сообщений: 22
Рейтинг сообщения: 0
Уважаемые форумчане, я не так давно перешёл на си. При компиляции столкнулся с таким warning-ом (' ... ' may be used uninitialized in this function), при чём в разных проэктах. Привожу пример, где получаю такое придупреждение (это только пример, реальные функции сложнее):

void func()
{
unsigned char status=0b10000010;
unsigned char X, Y;

do{

if(status&(1<<1)
X=5;

...


Y=X+3;

...

PORTB=Y;


status=Console();

...

} while(status&(1<<7));

}

В Протеусе всё работает, но я хочу понять, чем вызвано это предупреждение и что с ним делать? Веть по логике алгоритма X как минимум один раз будет инициализирована.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Пн дек 28, 2015 07:08:23 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Andrey3885 писал(а):
if(status&(1<<1)
X=5;
благодаря аккуратности форматирования вашего кода невозможно понять, является ли X=5 единственным оператором блока if или нет. однако, при любом раскладе если условие if не будет выполнено, переменная X окажется не инициализированной.

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Пн дек 28, 2015 08:21:57 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
Ну и, более того, тут нет закрывающей скобки в условии if.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Пн дек 28, 2015 09:08:01 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
WiseLord писал(а):
Ну и, более того, тут нет закрывающей скобки в условии if.
я о том и писал:
ARV писал(а):
благодаря аккуратности форматирования вашего кода
т.к. много кода пропущено, нельзя понять, есть там что-то еще или нет, и было ли оно вообще...

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Пн дек 28, 2015 18:45:26 
Первый раз сказал Мяу!

Зарегистрирован: Сб дек 26, 2015 22:28:05
Сообщений: 22
Рейтинг сообщения: 0
Уважаемый ARV я начинающий, прошу Вас отнестись с пониманием, тепер по сути:

ARV писал(а):
благодаря аккуратности форматирования вашего кода невозможно понять, является ли X=5 единственным оператором блока if или нет. однако, при любом раскладе если условие if не будет выполнено, переменная X окажется не инициализированной.

Знакомился с Си по книгам, так вот там по поводу фигурных скобок говорилось, что група оператороров должна быть взята в фигурные скобки, один оператор брать в фигурные скобки не обязательно. У меня в приведённом примере после if(True) выполняется один оператор.

ARV писал(а):
отслеживать содержимое глобальных переменных, и переменных, меняемых в других функциях, компилятор не может, поэтому не понимает, выполнится ли и когда именно ваше условие, потому на всякий случай предупреждает, что переменная может оказаться с непредсказуемым значением.

У меня в начале функции при объявлении переменной status, выполняется её инициализация начальным значением 0b10000010. В первой интерации в if проверяется установка бита 1 переменной status, который установлен при инициализации, и соответственно в 1 интерации X присваивается 5. В дальнейшем, X=5 может не выполниться, но как минимум один раз этот оператор выполнится, и X до использования будет инициализирован. Я хочу понять почему компилятор этого не видит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Пн дек 28, 2015 18:52:14 
Первый раз сказал Мяу!

Зарегистрирован: Сб дек 26, 2015 22:28:05
Сообщений: 22
Рейтинг сообщения: 0
WiseLord писал(а):
Ну и, более того, тут нет закрывающей скобки в условии if.

Извеняюсь, ошибся, я писал пример в редакторе ответов форума


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Пн дек 28, 2015 19:35:04 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Компилятор не настолько умный чтобы рассматривать все возможные ветви условий, тем более ваша переменная могла быть изменена где-то в коде по пути от инициализации до условия. Да и условие могло быть и посложнее.
Компиляторы такие ситуации не разруливают настолько глубоко, этим занимаются отдельные статические анализаторы кода.
Если хотите чтобы начальное значение Х было равно 5 то так и сделайте. Такая инициализация значением переменной X как у вас сомнительна в плане надёжности, хоть алгоритм и очевиден с первого взгляда. Но не всегда будет так.


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

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


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

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


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

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


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