Страница 21.
STM32 новичку в ARM что к чему
- Сообщения: 1379
- Зарегистрирован: Вт ноя 19, 2019 06:10:18
У-у-у-у, как всё запущено.. Читать даже не умеем. Детский сад, младшая группа.
Страница 21.
Страница 21.
- Реклама
- Сообщения: 7057
- Зарегистрирован: Сб янв 28, 2006 22:47:24
[uquote="VladislavS",url="/forum/viewtopic.php?p=3884211#p3884211"]90% стандартных "плюшек" C/C++ требуют подключения какого-либо заголовочного файла. Так язык устроен.[/uquote]Я не о C/C++, а про подключение заголовочного файла через задний проход. Нужно добавить черти знает какой файл в проект, найти в нем строчку с названием своего микроконтроллера, и раскомментировать ее подключив файл для микроконтроллера похожего на используемый микроконтроллер... Это при том, что при создании проекта мы конкретно указываем свой МК в свойствах проекта. Нет, я все понимаю, IDE писалась еще тогда, когда данного МК еще в помине не было, отсюда и костыли. Но, можно же было предусмотреть. А если неможно, то переписать IDE так, чтобы можно было. IAR мне нравится, но вот создание проекта через правку вереницы файлов как-то напрягает.
Астролябия-сама меряет, было бы что мерять!!!
- Сообщения: 1379
- Зарегистрирован: Вт ноя 19, 2019 06:10:18
Тут не детский сад, а форменные ясли!Нужно добавить черти знает какой файл в проект, найти в нем строчку с названием своего микроконтроллера, и раскомментировать ее подключив файл для микроконтроллера похожего на используемый микроконтроллер...
Документацию читать не пробовали? Как можно вообще за что-то браться, не прочитав базовых вещей в виде стандарта на используемый язык и Руководств на используемые библиотеки? Впрочем, догадываюсь за что, не буду писать слово "мир" с тремя ошибками. Тут что, общаются забаненые во всех поисковых системах?!
- Сообщения: 7057
- Зарегистрирован: Сб янв 28, 2006 22:47:24
[uquote="tonyk",url="/forum/viewtopic.php?p=3884253#p3884253"]Тут не детский сад, а форменные ясли![/uquote]
Ага, читаем и нихрена не понимаем. Классика.
Ага, читаем и нихрена не понимаем. Классика.
Астролябия-сама меряет, было бы что мерять!!!
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
[uquote="Asmodey",url="/forum/viewtopic.php?p=3884246#p3884246"]Я не о C/C++, а про подключение заголовочного файла через задний проход. Нужно добавить черти знает какой файл в проект, найти в нем строчку с названием своего микроконтроллера, и раскомментировать ее подключив файл для микроконтроллера похожего на используемый микроконтроллер...[/uquote]Ну что за бред? Всего один заголовочный файл для микроконтроллера надо подключить. И поставить галочку Use CMSIS (по умолчанию она стоит) в настройках проекта IAR. И всё.
Чтобы инициализировать тактовый надо один include и семь команд.
Не ясли, а грудничковое отделение какое-то.
ЗЫ: Про функцию __low_level_init() даже упоминать боюсь, это же опять ЧИТАТЬ документацию надо будет.
Чтобы инициализировать тактовый надо один include и семь команд.
Код: Выделить всё
#include "stm32f303xc.h"
int main()
{
FLASH->ACR = FLASH_ACR_PRFTBE | _VAL2FLD(FLASH_ACR_LATENCY,2);
RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16)
| RCC_CR_HSION
| RCC_CR_HSEON; //Включим HSE
while(!(RCC->CR & RCC_CR_HSERDY));
RCC->CFGR = RCC_CFGR_MCO_NOCLOCK
| RCC_CFGR_I2SSRC_SYSCLK
| RCC_CFGR_USBPRE_DIV1_5
| RCC_CFGR_PLLMUL9
//| RCC_CFGR_PLLXTPRE_HSE_PREDIV_DIV2 //Раскомментировать для кварца 16 МГц
| RCC_CFGR_PLLSRC_HSE_PREDIV
| RCC_CFGR_PPRE2_DIV1
| RCC_CFGR_PPRE1_DIV2
| RCC_CFGR_HPRE_DIV1
| RCC_CFGR_SW_HSE;
RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16)
| RCC_CR_PLLON //Включим PLL
| RCC_CR_HSEON
| RCC_CR_HSI;
while(!(RCC->CR & RCC_CR_PLLRDY));
RCC->CFGR = RCC_CFGR_MCO_PLL
| RCC_CFGR_I2SSRC_SYSCLK
| RCC_CFGR_USBPRE_DIV1_5
| RCC_CFGR_PLLMUL9
// | RCC_CFGR_PLLXTPRE_HSE_PREDIV_DIV2 //Раскомментировать для кварца 16 МГц
| RCC_CFGR_PLLSRC_HSE_PREDIV
| RCC_CFGR_PPRE2_DIV1
| RCC_CFGR_PPRE1_DIV2
| RCC_CFGR_HPRE_DIV1
| RCC_CFGR_SW_PLL;
for(;;);
}ЗЫ: Про функцию __low_level_init() даже упоминать боюсь, это же опять ЧИТАТЬ документацию надо будет.
- Реклама
на этой странице нет ни слова о размерности long и любых иных типов.tonyk писал(а):Страница 21.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 56
- Зарегистрирован: Вт дек 29, 2015 11:33:49
[uquote="ARV",url="/forum/viewtopic.php?p=3884288#p3884288"]
— 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
И в конечном итоге размерность типов зависти от платформы.
на этой странице нет ни слова о размерности long и любых иных типов.[/uquote]tonyk писал(а):Страница 21.
— 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
И в конечном итоге размерность типов зависти от платформы.
это лишь говорит, что разрядность long обязана умещать это значение, т.е., например, 128-бит тоже подойдет.pavell писал(а):— maximum value for an object of type long int
LONG_MAX +2147483647 // 231 - 1
именно об этом я и пытался сказать, но был послан в стандарт...pavell писал(а):И в конечном итоге размерность типов зависти от платформы.
так есть в Си типы "фиксированного" размера или нет? введенные С99 не считаем - берем "классику". в популярной литературе написано, что даже char не обязан быть 8 бит, и вроде как на VAX-ах он был 16 бит вполне успешно... но тут память подводит.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 1379
- Зарегистрирован: Вт ноя 19, 2019 06:10:18
Точно читать не умеете.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.
Баста, дальше без меня. Надоело.
да куда ж сильнее контекста-то придерживаться!tonyk писал(а):Читай-те же до конца, а не рвите слова из контекста!
Баста, дальше без меня. Надоело.
это ваши слова? и как их теперь увязать с другими вашими словами:tonyk писал(а):Повторяю, всегда. Читайте стандарт.
я понимаю, что 16 - это опечатка, и имелось ввиду 2.tonyk писал(а):то, естественно, sizeof(char) будет равно 16
однако, не может быть одновременно ВСЕГДА 8 и МОЖЕТ БЫТЬ 16 - это полностью взаимоисключающие требования!
либо НЕ ВСЕГДА 8, о чем я изначально и говорил, либо ВСЕГДА 8, и тогда покажите, где это написано в стандарте Си, читать который вы призываете.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 56
- Зарегистрирован: Вт дек 29, 2015 11:33:49
[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]
Погодите, не вы ли ранее писали:
[uquote="tonyk",url="/forum/viewtopic.php?p=3884217#p3884217"]Типы потому и называются стандартными, что их размеры стандартизованы на всех платформах и компиляторах:
short - всегда 16 бит;
long - всегда 32 бита;
char - всегда 8 бит.[/uquote]
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
Из стандарта следует, что sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long). И в зависимости от архитектуры это может выливаться в самые различные варианты. От примитивного 16 для всех, до 1 для всех при размере байта 64 бита (sizeof выдаёт размер в байтах).
причем, насколько мои скудные познания в английском позволяют понять, следует это косвенно, т.е. прямо это нигде не декларируется. так?VladislavS писал(а):Из стандарта следует
Добавлено after 1 minute 59 seconds:
как бы термин "байт" это именно 8 бит... корректнее было бы сказать "при размере char"VladislavS писал(а):при размере байта 64 бита
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
[uquote="ARV",url="/forum/viewtopic.php?p=3884353#p3884353"]как бы термин "байт" это именно 8 бит...[/uquote]Только в этом утверждении пропущено одно слово - ОБЫЧНО. Оно есть даже в стандартах. Вот к примеру - тык 01.02.09. Byte.
Ну а в самом языке вот так

Ну а в самом языке вот так
- Вложения
-
- byte.png
- (26.31 КБ) 620 скачиваний
как бы термин "байт" специально был придуман для октета битов. а то, что в стандарте ввели МАКРОС, так это, имхо, совсем другое: не макрос определяет сущность, а наоборот. если допустить, что байт может быть не 8 бит, то как тогда быть с килобайтами и прочими единицами информации?!
макрос - это лишь замена магического числа, но, как мне кажется, прецедентов "переопределения" этого макроса нет и быть не может
Добавлено after 1 minute 48 seconds:
кстати, в приведенной вами картинке макрос говорит о числе битов в CHAR-е, но никак не в байте. вероятно, индусы писали пояснительный текст... число битов в байте было бы макросом BYTE_BIT
макрос - это лишь замена магического числа, но, как мне кажется, прецедентов "переопределения" этого макроса нет и быть не может
Добавлено after 1 minute 48 seconds:
кстати, в приведенной вами картинке макрос говорит о числе битов в CHAR-е, но никак не в байте. вероятно, индусы писали пояснительный текст... число битов в байте было бы макросом BYTE_BIT
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
кошмар какой-тоVladislavS писал(а):Ему я верю, вам нет
видимо, надо бросать программирование, ибо основы основ рушатся на глазах.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
[uquote="ARV",url="/forum/viewtopic.php?p=3884428#p3884428"]уравнение sin(x) = 2[/uquote]
Это как? Даже комплексный синус вроде как не будет равен двойке...
Это как? Даже комплексный синус вроде как не будет равен двойке...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
а примерно так же, как и байт из 8 или 12 битов.Eddy_Em писал(а):Это как?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
[uquote="ARV",url="/forum/viewtopic.php?p=3884464#p3884464"]байт из 8 или 12 битов.[/uquote]
Байт - он априори 8 бит. А выше кто-то путает понятие байта с машинным словом…
Байт - он априори 8 бит. А выше кто-то путает понятие байта с машинным словом…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ


