Страница 10 из 82
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 21:04:05
scorpi_0n
SIM31 писал(а):
Почему вы выделяете СТМ32 среди остальных МК?
Они лучшие в своём классе.
Они устарели морально, тот же хлам типа АТмега 8, прокаченный до 32 бит.
А мужики то и не знали!
Сейчас модно SoC под Линукс.
И куда это чудо? На термометр с семисегментником?
Или PSoC, технологии просто космические по сравнению с устаревшими МК:
Угу. Космические цены, космические возможности, которые мало кому нужны и в которых мало кто разбирается по лени своей. Пять пользователей на весь мир.
Делать кастрированную Ардуину только для STM32 против существующей всеядной? Сомнителен успех. Лет 10-15 идея была бы кстати, сейчас 100500 клонов Ардуины, смысла нет.
А ардуина и есть сомнительный успех. И в клонах действительно смысла нет.
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 21:04:47
SIM31
SashaN123 писал(а):всю промышленную РС совместимую плату десятилетней давности на один кристалл разместить с шиной PCI на выходе. И использовать старый промышленный софт тех лет с данной "микросхемой"...
Плата называется Raspbery Pi, а софт Linux ? Шина PCI громоздкая, поэтому выведена гребенка GPIO, USB, SATA.
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 21:06:12
scorpi_0n
SashaN123 писал(а):Да уж. Уровень технологий растет. Можно б было, например, взять и всю промышленную РС совместимую плату десятилетней давности на один кристалл разместить с шиной PCI на выходе. И использовать старый промышленный софт тех лет с данной "микросхемой"...
И чего же вас как плюшкина на старьё то так тянет?
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 21:44:35
SashaN123
Был удобный и понятный софт. Не требующий понимать что там на плате или в кишках процессора находится. Была линейка разной мощности плат, на которой один и тот же софт работает одинаково, только скорость работы менялась...
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 22:07:13
Мурик
SashaN123 писал(а): Была линейка разной мощности плат, на которой один и тот же софт работает одинаково, только скорость работы менялась...
У разных процев разные возможности и если делать как вы предлагаете то далеко не все плюшки получится задействовать.
Скажем в ATmega нет запуска АЦП по таймеру со сбором результатов оцифровки модулем DMA. При одинаковом подходе к реализации софта, не получится задействовать этот режим в STM32. Тогда какой смысл ардуины на STM32?
Вывод: чтобы использовать МК по полной нужно знать как он устроен и что может, иначе получите самолет использующийся как автомобиль (а ведь он летать может, а не только ездить по земле

)...
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 22:16:09
Ser60
Эти PSoC-1 уже неактуальны. Сейчас в ходу PSoC-4,5 и выше. По четвёртым здесь
статья есть.
SIM31 писал(а):WiFi бы не помешал поверх.
Интересует WiFi? Я сюда по работе с силлабовским ARM-модулем с WiFi статью представил, но обновления на сайте почему-то давно не было. Надеюсь после конкурса где-то в октябре появится. Пока можно
.doc-файл скачать.
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 22:22:12
SIM31
scorpi_0n писал(а):Они лучшие в своём классе.
Верно. Только со сноской, как рекламщики делают:
* в очень, очень, очень узкоспециализированной области.
И куда это чудо? На термометр с семисегментником?
И с web интерфейсом.
Угу. Космические цены, космические возможности, которые мало кому нужны и в которых мало кто разбирается по лени своей. Пять пользователей на весь мир.
От 6$ рублей платы готовые, разбирают весьма активно
http://ru.aliexpress.com/item/1-pcs-x-C ... 0324187f6d
Пользователей не много, но и продукт новый. То же ядро, что у STM32 (знания STM32 не пропадут, в поддержку этих МК скажу), и добавляется периферия гибкая.
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 22:30:34
scorpi_0n
SIM31 писал(а):
Верно. Только со сноской, как рекламщики делают:
* в очень, очень, очень узкоспециализированной области.
Угу. Сами придумали? А зачем?
И с web интерфейсом.
Это сейчас не проблема.
Пользователей не много, но и продукт новый. То же ядро, что у STM32 (знания STM32 не пропадут, в поддержку этих МК скажу), и добавляется периферия гибкая.
Которую СТМ32 частично перекрывает. А отсутствие юзеров ставит крест на данной идее.
Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 22:43:38
Мурик
SIM31 писал(а):От 6$ рублей платы готовые, разбирают весьма активно
По этой плате мало инфы. Вместо того чтобы тут оффтопить, создайте тему в
соответствующим разделе и расскажите нам больше об этой плате.

Какие у нее достоинства и недостатки, где найти среду программирования, дайте ссылки на примеры кода и т. д.

Re: Stm32 с чего начать изучение...
Добавлено: Чт авг 18, 2016 22:46:25
Ser60
SIM31 писал(а):
От 6$ рублей платы готовые, разбирают весьма активно...
Пользователей не много, но и продукт новый.
У местных дистрибъюторов типа digikey такие платы стоят 4$. Этим уже несколько лет, более новые PSoC-и серий M и L. Кстати, в Европе и США сайпровские PSoC весьма популярны.
Мурик писал(а):По этой плате мало инфы...
создайте тему...
где найти среду программирования, дайте ссылки на примеры кода и т. д.
Инфы по ней на
сайте производителя достаточно.
Тема здесь уже
создана.
По остальным вопросам здесь имеется моя
статья, см. также ссылки в ней на подобные.
Re: Stm32 с чего начать изучение...
Добавлено: Пт авг 19, 2016 09:22:04
scorpi_0n
Ser60 писал(а):
У местных дистрибъюторов типа digikey такие платы стоят 4$. Этим уже несколько лет, более новые PSoC-и серий M и L. Кстати, в Европе и США сайпровские PSoC весьма популярны.
Печальная тема, очень печальная, ну совсем не впечатлила. Разве что для самообразования. Только под выпуск 10-100 девайсов в год, да и то, если уж по другому никак, что бывает крайне редко.
Re: Stm32 с чего начать изучение...
Добавлено: Сб авг 20, 2016 14:30:49
СЦБист
Мурик писал(а):[q За месяц разобрался с STM32 по статьям и примерам из инета.)
а описание регистров смотрели ?
или тут можно и без этого обойтись ?
Re: Stm32 с чего начать изучение...
Добавлено: Сб авг 20, 2016 15:48:19
Мурик
СЦБист писал(а):а описание регистров смотрели
Смотрел когда была необходимость. Библиотеки SPL и HAL позволяют разрабатывать программы без необходимости изучения МК на уровне регистров.
Re: Stm32 с чего начать изучение...
Добавлено: Вс авг 21, 2016 11:12:06
СЦБист
Есть функция
Код: Выделить всё
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
по определению RCC_APB2Periph_GPIOC равно ((uint32_t)0x00000010)
откель взялось это число ((uint32_t)0x00000010) ? что это ?
с каким регистром это связанно ?
Re: Stm32 с чего начать изучение...
Добавлено: Вс авг 21, 2016 11:27:08
Мурик
ПКМ по RCC_APB2PeriphClockCmd и в меню выбрать "Найти реализацию". Откроется файл stm32f0xx_rcc.c с кодом функции
Код: Выделить всё
/**
* @brief Enables or disables the High Speed APB (APB2) peripheral clock.
* @note After reset, the peripheral clock (used for registers read/write access)
* is disabled and the application software has to enable this clock before
* using it.
* @param RCC_APB2Periph: specifies the APB2 peripheral to gates its clock.
* This parameter can be any combination of the following values:
* @arg RCC_APB2Periph_SYSCFG: SYSCFG clock
* @arg RCC_APB2Periph_ADC1: ADC1 clock
* @arg RCC_APB2Periph_TIM1: TIM1 clock
* @arg RCC_APB2Periph_SPI1: SPI1 clock
* @arg RCC_APB2Periph_USART1: USART1 clock
* @arg RCC_APB2Periph_TIM15: TIM15 clock
* @arg RCC_APB2Periph_TIM16: TIM16 clock
* @arg RCC_APB2Periph_TIM17: TIM17 clock
* @arg RCC_APB2Periph_DBGMCU: DBGMCU clock
* @param NewState: new state of the specified peripheral clock.
* This parameter can be: ENABLE or DISABLE.
* @retval None
*/
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
{
/* Check the parameters */
assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
assert_param(IS_FUNCTIONAL_STATE(NewState));
if (NewState != DISABLE)
{
RCC->APB2ENR |= RCC_APB2Periph;
}
else
{
RCC->APB2ENR &= ~RCC_APB2Periph;
}
}
Это для STM32F0xx. Для других семейств, код может отличаться. С каким регистром связанно думаю понятно из кода.
Re: Stm32 с чего начать изучение...
Добавлено: Вс авг 21, 2016 11:29:19
СЦБист
я не просил показать код , я попросил показать где это значение увязано
с регистром и каким регистром. stm32f10x
Re: Stm32 с чего начать изучение...
Добавлено: Вс авг 21, 2016 11:47:43
Мурик
СЦБист писал(а):с регистром и каким регистром
В коде видно что регистр APB2ENR, или нет?
Если нужно больше подробностей, открываете Reference manual на STM32F10x серию (en.CD00171190.pdf) и ищите регистр. На 112 странице находится таблица с битами и их описание.
Спойлер
Код: Выделить всё
Bits 31:22 Reserved, must be kept at reset value.
Bit 21 TIM11EN: TIM11 timer clock enable
Set and cleared by software.
0: TIM11 timer clock disabled
1: TIM11 timer clock enabled
Bit 20 TIM10EN: TIM10 timer clock enable
Set and cleared by software.
0: TIM10 timer clock disabled
1: TIM10 timer clock enabled
Bit 19 TIM9EN: TIM9 timer clock enable
Set and cleared by software.
0: TIM9 timer clock disabled
1: TIM9 timer clock enabled
Bits 18:16 Reserved, always read as 0.
Bit 15 ADC3EN: ADC3 interface clock enable
Set and cleared by software.
0: ADC3 interface clock disabled
1: ADC3 interface clock enabled
Bit 14 USART1EN: USART1 clock enable
Set and cleared by software.
0: USART1 clock disabled
1: USART1 clock enabled
Bit 13 TIM8EN: TIM8 Timer clock enable
Set and cleared by software.
0: TIM8 timer clock disabled
1: TIM8 timer clock enabled
Bit 12 SPI1EN: SPI1 clock enable
Set and cleared by software.
0: SPI1 clock disabled
1: SPI1 clock enabled
Bit 11 TIM1EN: TIM1 timer clock enable
Set and cleared by software.
0: TIM1 timer clock disabled
1: TIM1 timer clock enabled
Bit 10 ADC2EN: ADC 2 interface clock enable
Set and cleared by software.
0: ADC 2 interface clock disabled
1: ADC 2 interface clock enabled
Bit 9 ADC1EN: ADC 1 interface clock enable
Set and cleared by software.
0: ADC 1 interface disabled
1: ADC 1 interface clock enabled
Bit 8 IOPGEN: IO port G clock enable
Set and cleared by software.
0: IO port G clock disabled
1: IO port G clock enabled
Bit 7 IOPFEN: IO port F clock enable
Set and cleared by software.
0: IO port F clock disabled
1: IO port F clock enabled
Bit 6 IOPEEN: IO port E clock enable
Set and cleared by software.
0: IO port E clock disabled
1: IO port E clock enabled
Bit 5 IOPDEN: IO port D clock enable
Set and cleared by software.
0: IO port D clock disabled
1: IO port D clock enabled
Bit 4 IOPCEN: IO port C clock enable
Set and cleared by software.
0: IO port C clock disabled
1: IO port C clock enabled
Bit 3 IOPBEN: IO port B clock enable
Set and cleared by software.
0: IO port B clock disabled
1: IO port B clock enabled
Bit 2 IOPAEN: IO port A clock enable
Set and cleared by software.
0: IO port A clock disabled
1: IO port A clock enabled
Bit 1 Reserved, must be kept at reset value.
Bit 0 AFIOEN: Alternate function IO clock enable
Set and cleared by software.
0: Alternate Function IO clock disabled
1: Alternate Function IO clock enabled
Почему в RCC_APB2Periph_GPIOC число 0x10? Потому что в двоичной системе счисления оно равно 00010000, т. е. установлен 4 бит, т. е. IOPCEN отвечающий для тактирование GPIOC.
Надеюсь теперь понятно?

Re: Stm32 с чего начать изучение...
Добавлено: Вс авг 21, 2016 12:04:47
СЦБист
вообщем вот к чему я пришел
Мурик писал(а):[qAPB2ENR, или нет?

как это Вы определили ?
Re: Stm32 с чего начать изучение...
Добавлено: Вс авг 21, 2016 12:31:45
Мурик
СЦБист писал(а):как это Вы определили ?
Что именно?
В функции RCC_APB2PeriphClockCmd производится изменение битов регистра APB2ENR
RCC->APB2ENR
Re: Stm32 с чего начать изучение...
Добавлено: Вс авг 21, 2016 12:36:26
СЦБист
я пошел дальше и пришел к такой структуре
Код: Выделить всё
typedef struct
{
__IO uint32_t CR;
__IO uint32_t CFGR;
__IO uint32_t CIR;
__IO uint32_t APB2RSTR;
__IO uint32_t APB1RSTR;
__IO uint32_t AHBENR;
__IO uint32_t APB2ENR;
__IO uint32_t APB1ENR;
__IO uint32_t BDCR;
__IO uint32_t CSR;
#ifdef STM32F10X_CL
__IO uint32_t AHBRSTR;
__IO uint32_t CFGR2;
#endif /* STM32F10X_CL */
#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)
uint32_t RESERVED0;
__IO uint32_t CFGR2;
#endif /* STM32F10X_LD_VL || STM32F10X_MD_VL || STM32F10X_HD_VL */
} RCC_TypeDef;
это как я понял относится к регистровой карте что на скрине