SIM31 писал(а):
Почему вы выделяете СТМ32 среди остальных МК?
Они лучшие в своём классе.
Они устарели морально, тот же хлам типа АТмега 8, прокаченный до 32 бит.
А мужики то и не знали!
Сейчас модно SoC под Линукс.
И куда это чудо? На термометр с семисегментником?
Или PSoC, технологии просто космические по сравнению с устаревшими МК:
Угу. Космические цены, космические возможности, которые мало кому нужны и в которых мало кто разбирается по лени своей. Пять пользователей на весь мир.
Делать кастрированную Ардуину только для STM32 против существующей всеядной? Сомнителен успех. Лет 10-15 идея была бы кстати, сейчас 100500 клонов Ардуины, смысла нет.
А ардуина и есть сомнительный успех. И в клонах действительно смысла нет.
SashaN123 писал(а):всю промышленную РС совместимую плату десятилетней давности на один кристалл разместить с шиной PCI на выходе. И использовать старый промышленный софт тех лет с данной "микросхемой"...
Плата называется Raspbery Pi, а софт Linux ? Шина PCI громоздкая, поэтому выведена гребенка GPIO, USB, SATA.
SashaN123 писал(а):Да уж. Уровень технологий растет. Можно б было, например, взять и всю промышленную РС совместимую плату десятилетней давности на один кристалл разместить с шиной PCI на выходе. И использовать старый промышленный софт тех лет с данной "микросхемой"...
И чего же вас как плюшкина на старьё то так тянет?
Был удобный и понятный софт. Не требующий понимать что там на плате или в кишках процессора находится. Была линейка разной мощности плат, на которой один и тот же софт работает одинаково, только скорость работы менялась...
SashaN123 писал(а): Была линейка разной мощности плат, на которой один и тот же софт работает одинаково, только скорость работы менялась...
У разных процев разные возможности и если делать как вы предлагаете то далеко не все плюшки получится задействовать.
Скажем в ATmega нет запуска АЦП по таймеру со сбором результатов оцифровки модулем DMA. При одинаковом подходе к реализации софта, не получится задействовать этот режим в STM32. Тогда какой смысл ардуины на STM32?
Вывод: чтобы использовать МК по полной нужно знать как он устроен и что может, иначе получите самолет использующийся как автомобиль (а ведь он летать может, а не только ездить по земле )...
Эти PSoC-1 уже неактуальны. Сейчас в ходу PSoC-4,5 и выше. По четвёртым здесь статья есть.
SIM31 писал(а):WiFi бы не помешал поверх.
Интересует WiFi? Я сюда по работе с силлабовским ARM-модулем с WiFi статью представил, но обновления на сайте почему-то давно не было. Надеюсь после конкурса где-то в октябре появится. Пока можно .doc-файл скачать.
Верно. Только со сноской, как рекламщики делают:
* в очень, очень, очень узкоспециализированной области.
И куда это чудо? На термометр с семисегментником?
И с web интерфейсом.
Угу. Космические цены, космические возможности, которые мало кому нужны и в которых мало кто разбирается по лени своей. Пять пользователей на весь мир.
От 6$ рублей платы готовые, разбирают весьма активно
Пользователей не много, но и продукт новый. То же ядро, что у STM32 (знания STM32 не пропадут, в поддержку этих МК скажу), и добавляется периферия гибкая.
SIM31 писал(а):
Верно. Только со сноской, как рекламщики делают:
* в очень, очень, очень узкоспециализированной области.
Угу. Сами придумали? А зачем?
И с web интерфейсом.
Это сейчас не проблема.
Пользователей не много, но и продукт новый. То же ядро, что у STM32 (знания STM32 не пропадут, в поддержку этих МК скажу), и добавляется периферия гибкая.
Которую СТМ32 частично перекрывает. А отсутствие юзеров ставит крест на данной идее.
SIM31 писал(а):От 6$ рублей платы готовые, разбирают весьма активно
По этой плате мало инфы. Вместо того чтобы тут оффтопить, создайте тему в соответствующим разделе и расскажите нам больше об этой плате. Какие у нее достоинства и недостатки, где найти среду программирования, дайте ссылки на примеры кода и т. д.
SIM31 писал(а):
От 6$ рублей платы готовые, разбирают весьма активно...
Пользователей не много, но и продукт новый.
У местных дистрибъюторов типа digikey такие платы стоят 4$. Этим уже несколько лет, более новые PSoC-и серий M и L. Кстати, в Европе и США сайпровские PSoC весьма популярны.
Мурик писал(а):По этой плате мало инфы...
создайте тему...
где найти среду программирования, дайте ссылки на примеры кода и т. д.
Инфы по ней на сайте производителя достаточно.
Тема здесь уже создана.
По остальным вопросам здесь имеется моя статья, см. также ссылки в ней на подобные.
Ser60 писал(а):
У местных дистрибъюторов типа digikey такие платы стоят 4$. Этим уже несколько лет, более новые PSoC-и серий M и L. Кстати, в Европе и США сайпровские PSoC весьма популярны.
Печальная тема, очень печальная, ну совсем не впечатлила. Разве что для самообразования. Только под выпуск 10-100 девайсов в год, да и то, если уж по другому никак, что бывает крайне редко.
/**
* @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. Для других семейств, код может отличаться. С каким регистром связанно думаю понятно из кода.
Если нужно больше подробностей, открываете 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.
Надеюсь теперь понятно?