STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Открыл глаза
Аватара пользователя
Сообщения: 56
Зарегистрирован: Вт дек 29, 2015 11:33:49

Сообщение pavell »

[uquote="ARV",url="/forum/viewtopic.php?p=3884288#p3884288"]
tonyk писал(а):Страница 21.
на этой странице нет ни слова о размерности long и любых иных типов.[/uquote]

— maximum value for an object of type long int
LONG_MAX +2147483647 // 231 - 1


Вот вы тут в стандарт тычете, а между тем там черным по белому написано -
"5.2.4.2.1 Sizes of integer types
The values given below shall be replaced by constant expressions suitable for use in #if preprocessing directives ... Their implementation-defined values shall be equal or greater in magnitude (absolute value) to those shown, with the same sign

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

Сообщение ARV »

pavell писал(а):— maximum value for an object of type long int
LONG_MAX +2147483647 // 231 - 1
это лишь говорит, что разрядность long обязана умещать это значение, т.е., например, 128-бит тоже подойдет.
pavell писал(а):И в конечном итоге размерность типов зависти от платформы.
именно об этом я и пытался сказать, но был послан в стандарт...

так есть в Си типы "фиксированного" размера или нет? введенные С99 не считаем - берем "классику". в популярной литературе написано, что даже char не обязан быть 8 бит, и вроде как на VAX-ах он был 16 бит вполне успешно... но тут память подводит.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

The values given below shall be replaced by constant expressions suitable for use in #if preprocessing directives
Точно читать не умеете.
"Значения, приведённые ниже, должны быть заменены константами, пригодными для использования в директиве #if препроцессора."
И в конечном итоге размерность типов зависти от платформы.
Если на 128-битной платформе физически невозможно хранить 8-ми битные значения, то, естественно, sizeof(char) будет равно 16. Поэтому дальше и написано:
Their implementation-defined values shall be equal or greater in magnitude (absolute value) to those shown, with the same sign.
Читай-те же до конца, а не рвите слова из контекста!
Баста, дальше без меня. Надоело.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18769
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

tonyk писал(а):Читай-те же до конца, а не рвите слова из контекста!
Баста, дальше без меня. Надоело.
да куда ж сильнее контекста-то придерживаться!
tonyk писал(а):Повторяю, всегда. Читайте стандарт.
это ваши слова? и как их теперь увязать с другими вашими словами:
tonyk писал(а):то, естественно, sizeof(char) будет равно 16
я понимаю, что 16 - это опечатка, и имелось ввиду 2.

однако, не может быть одновременно ВСЕГДА 8 и МОЖЕТ БЫТЬ 16 - это полностью взаимоисключающие требования!

либо НЕ ВСЕГДА 8, о чем я изначально и говорил, либо ВСЕГДА 8, и тогда покажите, где это написано в стандарте Си, читать который вы призываете.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Аватара пользователя
Сообщения: 56
Зарегистрирован: Вт дек 29, 2015 11:33:49

Сообщение pavell »

[uquote="tonyk",url="/forum/viewtopic.php?p=3884335#p3884335"]Если на 128-битной платформе физически невозможно хранить 8-ми битные значения, то, естественно, sizeof(char) будет равно 16.[/uquote]
Погодите, не вы ли ранее писали:
[uquote="tonyk",url="/forum/viewtopic.php?p=3884217#p3884217"]Типы потому и называются стандартными, что их размеры стандартизованы на всех платформах и компиляторах:

short - всегда 16 бит;
long - всегда 32 бита;
char - всегда 8 бит.[/uquote]
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Из стандарта следует, что sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long). И в зависимости от архитектуры это может выливаться в самые различные варианты. От примитивного 16 для всех, до 1 для всех при размере байта 64 бита (sizeof выдаёт размер в байтах).
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18769
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

VladislavS писал(а):Из стандарта следует
причем, насколько мои скудные познания в английском позволяют понять, следует это косвенно, т.е. прямо это нигде не декларируется. так?

Добавлено after 1 minute 59 seconds:
VladislavS писал(а):при размере байта 64 бита
как бы термин "байт" это именно 8 бит... корректнее было бы сказать "при размере char"
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

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

Сообщение VladislavS »

[uquote="ARV",url="/forum/viewtopic.php?p=3884353#p3884353"]как бы термин "байт" это именно 8 бит...[/uquote]Только в этом утверждении пропущено одно слово - ОБЫЧНО. Оно есть даже в стандартах. Вот к примеру - тык 01.02.09. Byte.

Ну а в самом языке вот так
Изображение
Вложения
byte.png
(26.31 КБ) 599 скачиваний
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18769
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

как бы термин "байт" специально был придуман для октета битов. а то, что в стандарте ввели МАКРОС, так это, имхо, совсем другое: не макрос определяет сущность, а наоборот. если допустить, что байт может быть не 8 бит, то как тогда быть с килобайтами и прочими единицами информации?!

макрос - это лишь замена магического числа, но, как мне кажется, прецедентов "переопределения" этого макроса нет и быть не может

Добавлено after 1 minute 48 seconds:
кстати, в приведенной вами картинке макрос говорит о числе битов в CHAR-е, но никак не в байте. вероятно, индусы писали пояснительный текст... число битов в байте было бы макросом BYTE_BIT
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

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

Сообщение VladislavS »

А по ссылке сходить религия не позволяет? Там стандарт "ISO/IEC 2382-1:1993. Термины и определения". Ему я верю, вам нет.
Изображение
Вложения
byte1.png
(227.12 КБ) 574 скачивания
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18769
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

VladislavS писал(а):Ему я верю, вам нет
кошмар какой-то :( первый шок я испытал, когда внезапно выяснилось, что уравнение sin(x) = 2 имеет решение... второй, когда void назвали типом данных. сегодня третий - что байт не обязан иметь 8 бит...

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

Мой уютный бложик... заходите!
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

[uquote="ARV",url="/forum/viewtopic.php?p=3884428#p3884428"]уравнение sin(x) = 2[/uquote]
Это как? Даже комплексный синус вроде как не будет равен двойке...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18769
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Eddy_Em писал(а):Это как?
а примерно так же, как и байт из 8 или 12 битов.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

[uquote="ARV",url="/forum/viewtopic.php?p=3884464#p3884464"]байт из 8 или 12 битов.[/uquote]
Байт - он априори 8 бит. А выше кто-то путает понятие байта с машинным словом…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3884729#p3884729"][uquote="ARV",url="/forum/viewtopic.php?p=3884464#p3884464"]байт из 8 или 12 битов.[/uquote]
Байт - он априори 8 бит. А выше кто-то путает понятие байта с машинным словом…[/uquote]
Ошибаешься! Даже в англо-русском словаре есть этот термин.
Вложения
Screenshot_80.jpg
(25.57 КБ) 205 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

[uquote="ARV",url="/forum/viewtopic.php?p=3884428#p3884428"]видимо, надо бросать программирование, ибо основы основ рушатся на глазах. :([/uquote]


Стареешь аббревиатура. ВЪезжай в новые реалии типа новой логики - где на ряду с true и false имеется highly likely...
:)))
Последний раз редактировалось dosikus Пт авг 28, 2020 10:07:37, всего редактировалось 1 раз.
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

dosikus писал(а):[uquote="ARV",url="/forum/viewtopic.php?p=3884428#p3884428"]видимо, надо бросать программирование, ибо основы основ рушатся на глазах. :([/uquote]


Стареешь аббревиатура. ВЪезжай в новые реалии , типа новой логики - где на ряду с true и false имеется highly likely...
:)))
Основы, видать, были хиловаты. И рано успокоился, что всё знаешь.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку

Сообщение Zhuk72 »

[uquote="dosikus",url="/forum/viewtopic.php?p=3884778#p3884778"]ВЪезжай в новые реалии типа новой логики - где на ряду с true и false имеется highly likely...
:)))[/uquote]
... и "менструирующие люди" вместо привычного "женщины".
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

Подскажите - для семейства stm32f4xx есть возможность калибровки ЦАП? чето не могу ничего подобного в RM найти.
Открыл глаза
Аватара пользователя
Сообщения: 56
Зарегистрирован: Вт дек 29, 2015 11:33:49

Сообщение pavell »

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3886124#p3886124"]Подскажите - для семейства stm32f4xx есть возможность калибровки ЦАП? чето не могу ничего подобного в RM найти.[/uquote]
По ЦАП есть отдельный апнот 4566 для всего семейства контроллеров, его посмотрите.
Ответить

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