Например TDA7294

Форум РадиоКот • Просмотр темы - Вопрос по библиотеки CMSIS
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 27, 2024 08:42:31

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


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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Пн май 29, 2023 16:30:25 
Прорезались зубы

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 204
Рейтинг сообщения: 0
Доброго дня! Хочу понять как устроена библиотека CMSIS(если важен МК то это STM32). Пока что у меня каша в голове, все что я понимаю на данный момент, что:
СMSIS – это библиотека, в виде заголовочных файлов, где прописаны дефайны(макроопределения), при помощи которых мы можем работать с уже удобными словами, который в этом дейане написано, и этим самым мы имеем некаю абстракцию, верно?

Но пока я все равно не до конца понимаю. К примеру есть структура RCC, и далее мы эти элементы структуру используем в программе(например RCC→CR).
И Вопрос: как компилятор понимает что выражение «RCC→CR» это регистр?

Я знаю, что есть ключевые слова, которые компилятор распознает согласно стандарту, но разве «RCC→CR» в ходит в ключевые слова?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Пн май 29, 2023 16:38:30 
Друг Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 359
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Сообщений: 4320
Откуда: Воронеж
Рейтинг сообщения: 0
А никак! Ему, строго говоря, пофигу. В конце концов эта запить превращается в конкретный адрес, куда и происходит запись.

_________________
"Привет!" - соврал он.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Пн май 29, 2023 17:05:20 
Прорезались зубы

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 204
Рейтинг сообщения: 0
Превращает ее в адрес компилятор, значит как-то же распознает)
Вот вопрос и возникает, что это выражение в стандарт входит походу.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Пн май 29, 2023 17:11:03 
Друг Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 359
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Сообщений: 4320
Откуда: Воронеж
Рейтинг сообщения: 0
Lvalue и Rvalue. Распознаёт, конечно. Но дело таки не только в слове как таковом, а в его расположении, в структуре текста программы.

_________________
"Привет!" - соврал он.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Пн май 29, 2023 17:22:25 
Прорезались зубы

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 204
Рейтинг сообщения: 0
Хорошо. CMSIS это набор заголовочных файлов. Как понимать какой из них мне нужно добавить в проект, что бы писать код?


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Пн май 29, 2023 18:42:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
И Вопрос: как компилятор понимает что выражение «RCC→CR» это регистр?
Вот отсюда. Ссылка на Compiler Explorer.
Изображение
Вложение:
изображение_2023-05-29_183901533.png [81.59 KiB]
Скачиваний: 259


Добавлено after 2 minutes 9 seconds:
Как понимать какой из них мне нужно добавить в проект, что бы писать код?
Минимально надо заголовочный файл контроллера подключить. Что-то типа stm32f303xc.h. Остальное само из него подключится.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Вт май 30, 2023 17:26:46 
Прорезались зубы

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 204
Рейтинг сообщения: 0
Лаконично и ясно пояснил, вроде бы все понял, но есть еще парочку вопросов. Как бы я не гуглил, никак не могу понять:

1) как выражение ((GPIO_TypeDef *) GPIOA_BASE) превращается в указатель структуры GPIO_TypeDef?

Допустим есть две обычные переменные и один указатель:

int x = 300;
char y;

int *pV = &x;

y = *((char *)pV); //здесь мы говорим компилятору, что возьмем только один байт с 4х, и тогда переменной ”y” присвоится значение “x” первого байта, а то есть 44.
Здесь все понятно.

А вот как здесь «((GPIO_TypeDef *) GPIOA_BASE)» работает преобразование типов? GPIOA_BASE — я так понимаю, что это указатель, а то есть константа, определяющая адрес. А это «(GPIO_TypeDef *)» преобразования типа указателя, в итоге это преобразование делает указатель( GPIOA_BASE) струтурой?

Весь интернет обошел, так и не могу понял, тугодум я.





2) И Второй вопрос, Возможно глупый.
Получается, что у каждого Микроконтроллера всегда есть свой заголовочный файл, считающийся библиотекой CMSIS?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Вт май 30, 2023 18:20:07 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
1)GPIOA_BASE это обычная целочисленная константа 0x48000000. ((GPIO_TypeDef *) GPIOA_BASE) это указатель на структуру типа GPIO_TypeDef. Или адрес первого элемента структуры, если на пальцах. Зная адрес первого элемента и тип(размер) всех остальных элементов легко получить доступ к любому полю структуры смещением от указателя. Что компилятор автоматически и делает.

2) Трудно жить с баном в гугле? Первая же ссылка в поисковике по CMSIS.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Ср май 31, 2023 17:53:29 
Прорезались зубы

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 204
Рейтинг сообщения: 0
Спасибо всем!
Если я спросил, значит уже гуглил, и все равно не понял.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по библиотеки CMSIS
СообщениеДобавлено: Ср май 31, 2023 19:27:33 
Встал на лапы

Зарегистрирован: Пт мар 19, 2021 08:58:45
Сообщений: 105
Рейтинг сообщения: 0
https://www.youtube.com/@Solderingironspb/featured
вот тебе ссылка на канал для начала въехать что к чему хватит по CMSIS.


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

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


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

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


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

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


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