Таймеры/счётчики в AVR

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Таймеры/счётчики в AVR

Сообщение ARV »

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

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймеры/счётчики в AVR

Сообщение VladislavS »

Выводы сами делайте, я всю информацию для этого дал.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Таймеры/счётчики в AVR

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймеры/счётчики в AVR

Сообщение VladislavS »

Человек разумный скажет спасибо и примет к сведению, а не будет препинаться до усрачки.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Таймеры/счётчики в AVR

Сообщение ARV »

причем тут препирание? я так и не понял сути, которую вы оставили мне искать самостоятельно. если бы я мог справиться самостоятельно с проблемой, я б молчал.

Добавлено after 1 minute 7 seconds:
мне нечего принимать к сведению, кроме того, что вы знаете стандарт Си лучше. но пользы для меня в этом нет
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймеры/счётчики в AVR

Сообщение VladislavS »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4329188#p4329188"]Читаем 6.3.1.1 и обнаруживаем, что может быть как int, так и unsigned int. Что примеры по моей ссылке и подтверждают.[/uquote][uquote="ARV",url="/forum/viewtopic.php?p=4329207#p4329207"]оба варианта могут быть?[/uquote][uquote="ARV",url="/forum/viewtopic.php?p=4329445#p4329445"]я так и не понял сути, которую вы оставили мне искать самостоятельно.[/uquote]Всё вы прекрасно поняли.
[uquote="ARV",url="/forum/viewtopic.php?p=4329445#p4329445"]если бы я мог справиться самостоятельно с проблемой, я б молчал.[/uquote]Но предпочли включить дурачка и заболтать вопрос.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Таймеры/счётчики в AVR

Сообщение ARV »

ну так оба варианта могут быть или один из?

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

Мой уютный бложик... заходите!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймеры/счётчики в AVR

Сообщение VladislavS »

Куда уж конкретней? Во-первых,
[uquote="VladislavS",url="/forum/viewtopic.php?p=4329116#p4329116"]Читаем 6.3.1.1 и обнаруживаем, что может быть как int, так и unsigned int.[/uquote]Во-вторых, ссылка на стандарт с конкретным пунктом.
В-третьих, ссылка на код, демонстрирующий это.

Удивительно, вы дважды привели в качестве аргумента integer promotions и не удосужились прочитать в стандарте что же это такое. Давайте, я сделаю это за вас.
If an int can represent all values of the original type (as restricted by the width, for a bit-field), the
value is converted to an int; otherwise, it is converted to an unsigned int
. These are called the
integer promotions.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Таймеры/счётчики в AVR

Сообщение ARV »

ладно, будем считать, что я по-английски бегло читаю.

итак, если значение влезает в int, то... вопрос: разве разность двух int8 может не влезть в int (для AVR он 16-битный)?

Добавлено after 2 minutes 9 seconds:
каждое int8, как я понимаю, превращается в int перед вычислением разности, но по модулю оба числа в 256 раз меньше MaxInt. следовательно, может ли разность оказаться uint-ом?

Добавлено after 6 minutes 38 seconds:
и, если может, то при каких условиях?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Таймеры/счётчики в AVR

Сообщение ARV »

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

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Таймеры/счётчики в AVR

Сообщение Dimon456 »

А asm-код можно глянуть, где "это" там превращается и как?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Таймеры/счётчики в AVR

Сообщение ARV »

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

Мой уютный бложик... заходите!
OKF
Это не хвост, это антенна
Сообщения: 1393
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Таймеры/счётчики в AVR

Сообщение OKF »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4329370#p4329370"]Человек разумный скажет спасибо и примет к сведению, а не будет препинаться до усрачки.[/uquote]

Нет, мы будем препинаться! Ибо мы не привыкли отступать. "Это что ж это меня лохом должны считать! Нет. Ни в коем случае!" Сравните с нашими руководителями, похоже?(( Ужос! И ППЦ!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Таймеры/счётчики в AVR

Сообщение Dimon456 »

ARV писал(а):после оптимизатора в асм код глядеть бесполезно
Откуда оптимизатор может знать? Ведь для хранения переменной, которая может принимать всего два значения, к примеру 0 и 1, я могу задать тип переменной unsigned long int.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Таймеры/счётчики в AVR

Сообщение ARV »

оптимизатор знает :)

во-первых, для переменных long и правило другое, речь-то шла о переменных "короче" int - так вот, они приводятся к "полноразмерному" int (хотя некоторые утверждают, что может и к uint) - и потом в вычислениях оптимизатор выбрасывает работу с "лишним" байтом
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Таймеры/счётчики в AVR

Сообщение Dimon456 »

Вы меня не поняли.
Хорошо, пусть будет int или uint, и я буду пихать в эту переменную из вне какие нибудь данные, откуда компилятор будет знать что я буду запихивать, "короче" int или "длиннее"?
Так будет asm-код или нет? В stm32 я не силен в asm, но тут то я могу asm потрясти.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймеры/счётчики в AVR

Сообщение VladislavS »

[uquote="Dimon456",url="/forum/viewtopic.php?p=4332411#p4332411"]я буду пихать в эту переменную из вне какие нибудь данные, откуда компилятор будет знать что я буду запихивать, "короче" int или "длиннее"?[/uquote]По типу данных. Не?
[uquote="Dimon456",url="/forum/viewtopic.php?p=4332411#p4332411"]Так будет asm-код или нет?[/uquote]У вас компилятор отобрали?
Изображение

А вот такого от GCC на -O3 я не ожидал совсем
Изображение

изображение_2022-12-06_212252151.png
(14.78 КБ) 349 скачиваний
изображение_2022-12-06_212948984.png
(27.14 КБ) 345 скачиваний
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Таймеры/счётчики в AVR

Сообщение Dimon456 »

VladislavS писал(а):У вас компилятор отобрали?
Не вижу, где int превращается в uint.

Добавлено after 5 minutes 19 seconds:
VladislavS, PINB он r8, но этот файлик доступен, его не сложно превратить в r16. Не пойдет.
Интересует, на каком этапе int превращается в uint.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймеры/счётчики в AVR

Сообщение VladislavS »

А вы об этом не спрашивали.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Таймеры/счётчики в AVR

Сообщение Dimon456 »

Но как? Двумя тремя сообщениями выше.
Меня то же интересует, на каком этапе вот это
VladislavS писал(а):Читаем 6.3.1.1 и обнаруживаем, что может быть как int, так и unsigned int.
может разделятся?
Ответить

Вернуться в «AVR»