Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы по С/С++ (СИ)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт май 07, 2024 13:06:52

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7608 ]     ... , , , 380,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт апр 16, 2024 09:11:21 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 104
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1159
Рейтинг сообщения: 0
У меня немного другой сейчас интерес. Например, тот же самый светодиод - как лучше и эффективнее работать с периферией, какими способами?
Самый лучший способ: Всё время смотреть в листинг! Написали строчку кода, скомпилили (с макс.оптимизацией), посмотрели в листинг - что получилось? И следующая итерация. И т.д.

Можно, конечно, пробовать разные варианты и смотреть, во что это разворачивается в ассемблере.
Так и следует делать.
Но самостоятельно это довольно долгий путь.
Быстро только кошки плодятся.
Если будете делать это несамостоятельно, то в голове ничего не останется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс апр 21, 2024 16:13:19 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Самый лучший способ: Всё время смотреть в листинг! Написали строчку кода, скомпилили (с макс.оптимизацией), посмотрели в листинг - что получилось? И следующая итерация. И т.д.

Нафига? Это смотря какие цели.) К примеру, я хочу писать красиво и лаконично. На кой мне листинг?)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс апр 21, 2024 21:41:46 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 837
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5607
Откуда: Minsk
Рейтинг сообщения: 0
К примеру, я хочу писать красиво и лаконично. На кой мне листинг?)

Между "я хочу" и "я умею" есть некоторая разница. :) Когда это десятки раз писалось в разных вариантах и успешно работало - можно и без листинга. Да и то: в сложных случаях непонятно - то ли компилятор дурит, то ли сам накосячил. А вид сгенерированного кода всё расставит по местам.

_________________
Изображение


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс апр 21, 2024 21:46:02 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Ой. "Компилятор дурит" - это уже говорит о многом. Не обижайтесь.)


Вернуться наверх
 
Особенности хранения литиевых аккумуляторов и батареек

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

Подробнее>>
В сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс апр 21, 2024 21:52:47 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1350
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10670
Рейтинг сообщения: 0
Вера в безгрешность компилятора тоже о многом может сказать. Например, что верующий не использовал XC8/16/32, список ошибок которых достаточно большой. Не знаю, как сейчас, а раньше в фреймворке Микрочипа было явно указано не включать оптимизацию XC8.
Компилятор - это как бэ всё-таки тоже программа. Со всеми её свойствами.

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс апр 21, 2024 21:56:24 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Обычно, начинающие все свои ошибки списывали на компилятор.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс апр 21, 2024 22:29:21 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 837
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5607
Откуда: Minsk
Рейтинг сообщения: 0
Не обижайтесь.)

Чего мне обижаться - я же не компилятор :) А начинающим (по программному делу) я был этак в году 76-м прошлого тысячелетия. :(
А насчёт наличия ошибок в компиляторе... Когда в преферансе мне сетовали за недозаказ - я спрашиваю:
- А если 4 на 4 в двух мастях на одной руке?
- Ну, этого никогда не бывает.
- Значит, ты мало играл. У меня случалось.
Цитата:
То-то и оно.
© А.Пугачёва, жена иноагента.

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн апр 22, 2024 16:51:57 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Да. Я тоже находил ошибки в контроллере HDD. Но это ТАКАЯ редкость. Вы понимаете? В основном, ошибки у начинающих. Которым кажется что виноваты все, кроме них самих.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 11:59:24 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 837
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5607
Откуда: Minsk
Рейтинг сообщения: 0
Можно сформулировать корректнее: не "компилятор глючит", а "есть разное понимание некоторых инструкций у компилятора и юзера". Юзер может считать, что "это ведь так по умолчанию", а у компиля другое мнение.
До сих пор помню,хоть прошло порядочно. Работал в старом, ещё Борландовском Си. Ввожу переменную - портится рядом лежащая! Ошибка не очевидная, трудно улавливаемая. Когда поймал, стал разбираться. Оказывается, для ввода float требовался формат %lf, без вариантов, даже если просто float, а не double. , У меня же просто %f . И получив такой формат, оно вместо предупреждения во всю дурь, на все 16 байт хряпнуло введённое значение. Мол, хрен тебя знает, какая точность тебе нужна, на всяк случай запупырю максимальную. Конечно, моей вины тут больше половины, но при анализе синтаксиса мог бы хоть предупреждение выдать.
Мне скажут: юзер может таких конструкций нагородить, что компилятору вариантов анализа мильён понадобится. А я не спорю. Нужно точно следовать описанию используемой версии языка. Но при анализе ошибки листинг ну никак не помешает - пусть не "что это компайл надурил?", а "в чём у нас между-недопонимание?" И особенно для МК - тут пользователей меньше, поколения МК меняются чаще, и степень "вылизанности" софта по определеню меньше, чем у "the language of general use"

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 16:18:46 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Припоминаю последнюю ошибку компилятора:)
Код:
  eeprom_write_byte(0, 0x34);           //litle-endian
  eeprom_write_byte(1, 0x12);

  uint8_t i = 2;                        //всё плохо: 3412
  uint16_t v = eeprom_read_byte(--i)<<8 | eeprom_read_byte(--i);


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 17:08:34 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1350
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10670
Рейтинг сообщения: 0
uint8_t eeprom_read_byte...

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 17:22:41 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
А членораздельнее?)


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 17:29:18 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1350
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10670
Рейтинг сообщения: 0
перед сдвигом влево требуется приведение к типу uint16_t

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 18:12:57 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Нафига? Результат у нас какой тип имеет?


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 18:17:24 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1350
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10670
Рейтинг сообщения: 0
Результат имеет uint16_t. Но сдвиг об этом ничего не знает, его приоритет выше.
и опять же: число скобок бесконечно во вселенной. a << b | c(d) можно прочитать и как a << (b | c(d)). И да, я верю, что все знают приоритеты, но пишу так: (a << b) | c(d)

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 18:33:38 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Ну, то что для успокоения каждый пишет по своему, это дело каждого. Но, есть же правила. И им пофигу какая у вас религия.


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 18:39:18 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1350
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10670
Рейтинг сообщения: 0
у нас не религия. Правила есть, да. Почему же Вы им не следуете?

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 19:01:13 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Внимательно читаем приведение типов.


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 19:07:36 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1350
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10670
Рейтинг сообщения: 0
Может, лучше про приведение типов? Или "Приведение типов"? Или тоже похуй?

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт май 02, 2024 19:15:51 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2696
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
OKF писал(а):
uint16_t v = eeprom_read_byte(--i)<<8 | eeprom_read_byte(--i);
Я правильно понимаю, что у Вас результат, который попал в v, это 0x0034?
Ворнинга не было?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


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

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


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

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


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

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


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