Re: Подавление дребезга энкодера
Добавлено: 31 июл 2015, 09:02
На них отладчики со встроенным программатором и тестовым МК продаются по цене комплектующих. Так что особых проблем нет 
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
Именно по этому видимо на форумах: начали пробовать СТМ32 и бросилиUAVpilot писал(а):Всегда было можно.
Именно такskyAlex писал(а):На самом деле у ардуины есть огромное преимущество - не надо читать даташиты, изучать таймеры и прерывания, для непрограмиста самое то.
И для Arduino и для STM принцип одинаков: всякие несложные программки можно писать практически не читая даташитов, но полностью использовать возможности периферии без даташитов не получится.skyAlex писал(а):На самом деле у ардуины есть огромное преимущество - не надо читать даташиты, изучать таймеры и прерывания, для непрограмиста самое то.
И сейчас продолжаю - боюсь вывод перенести на другую ножку. Велика вероятность нарваться на какую-нибудь проблему.aftaev писал(а):Вспоминается тема michael-yurov, как он с СТМ32 долбался
А учитывая что сейчас ардуинка уже на ARMах есть, то и для сложных тоже.aftaev писал(а):Потому Ардуина хороша для своих простых, да и сложных проектов где хватает ее мощи
Тут вот какая заковыка - производительность STM32, конечно, в разы выше, чем у 8-битных AVR-ок,aftaev писал(а):Потому Ардуина хороша для своих простых, да и сложных проектов где хватает ее мощи
Если вы хоть иногда делаете сложные проекты, то лучше один раз научиться, чем всю жизнь страдать, а с даташитами тут все просто - у большинства STM все настройки периферии практически идентичны, так что выучив один камень можно применять любой другой без особых трудностей.skyAlex писал(а):На самом деле у ардуины есть огромное преимущество - не надо читать даташиты, изучать таймеры и прерывания, для непрограмиста самое то.
С экранчиками ничего сказать не могу, сам не работал пока, не было необходимости.aftaev писал(а):Помню как сам долбался с СТМ32 и экранчиком TFT 3.2"
В даташите (не Ref. Manual!) есть таблица пинов (идет обычно после распиновки), и там есть колонка с указание функции по умолчанию.michael-yurov писал(а):И чтобы такую фигатень выловить - приходится рыться в сотнях страниц документации.
Я использую заготовку:michael-yurov писал(а):Казалось бы простой вопрос - как задать частоту работы процессора?
Код: Выделить всё
RCC->CR |= RCC_CR_HSION; //Включить генератор HSI
RCC->CR &= ~RCC_CR_HSEON;
while((RCC->CR & RCC_CR_HSIRDY)==0) {} //Ожидание готовности HSI
//
RCC->CFGR &= ~RCC_CFGR_PLLSRC; //Источником сигнала для PLL выбран HSI с делением на 2
RCC->CR &= ~RCC_CR_PLLON; //Отключить генератор PLL
RCC->CFGR &= ~RCC_CFGR_PLLMUL; //Очистить PLLMULL
RCC->CFGR |= (RCC_CFGR_PLLMUL_3 | RCC_CFGR_PLLMUL_1); //Коефициент умножения
RCC->CR |= RCC_CR_PLLON; //Включить генератор PLL
while((RCC->CR & RCC_CR_PLLRDY)==0) {} //Ожидание готовности PLL
//
//Переключиться на тактирование от PLL
RCC->CFGR &= ~RCC_CFGR_SW; //Очистка битов выбора источника тактового сигнала
RCC->CFGR |= RCC_CFGR_SW_PLL; //Выбрать источником тактового сигнала PLL
while((RCC->CFGR&RCC_CFGR_SWS)!=0x08){} //Ожидание переключения на PLLДа бросьте. Это по-началу так страшно (я сам рожал месяцев 9aftaev писал(а): На СТМ32 яб писал это год и не написал бы сам
aftaev писал(а):Вспоминается тема michael-yurov, как он с СТМ32 долбалсяДа на ардуине он бы не сделал конечно свой StepMaster. Помню как сам долбался с СТМ32 и экранчиком TFT 3.2"
Ну что тут можно сделать?.. Разве что только посочуствовать и посоветовать читать доки, ибо они - RuleZ!michael-yurov писал(а):Стоит задействовать какое-нибудь переферийное устройство, как оно начинает конфликтовать по порту, или прерыванию, или еще по какой-то причине с другими устройствами.
Если бы мы так же рожали клиенту, то был бы аборт с проектом и с оплатойisx писал(а):Да бросьте. Это по-началу так страшно (я сам рожал месяцев 9 )
Попробуй его прилипендить и запустить Тачisx писал(а):С экранчиками ничего сказать не могу, сам не работал пока, не было необходимости.
Ну так я АВР-ки выгуливал, пока рожал с STMaftaev писал(а):Если бы мы так же рожали клиенту, то был бы аборт с проектом и с оплатой
Ну не знаю, мне такой переход оказался выгодным. Теперь я не думаю хотя бы о том, хватит ли мне внешних прерываний и таймеров для проекта....aftaev писал(а): да хоть на транзисторах МП42
У меня пока даже необходимости нет символьник цеплять, не то что тачaftaev писал(а):Попробуй его прилипендить и запустить Тач
Ну так никто в этом и не сомневается.isx писал(а):В даташите (не Ref. Manual!) есть таблица пинов (идет обычно после распиновки), и там есть колонка с указание функции по умолчанию.
Ага, сначала колонка с названиями ног, где данная нога фигурирует, как PB3, а потом оказывается есть вторая колонка, в которой все то же самое, кроме этого JTAG. Нет, я не спорю, все в общем-то просто... открыл мануал, нашел таблицу, нашел данные для своего корпуса, посмотрел какая функция у ноги по умолчанию после сброса...isx писал(а):В даташите (не Ref. Manual!) есть таблица пинов (идет обычно после распиновки), и там есть колонка с указание функции по умолчанию.
Это, конечно, все хорошо. Я так же поступаю.isx писал(а):Я использую заготовку:
А если я захочу кварц поставить? (это риторический вопрос).isx писал(а):Корректирую только PLLMULL по необходимости.
Собственно, чем я и занимаюсь.UAVpilot писал(а):Ну что тут можно сделать?.. Разве что только посочуствовать и посоветовать читать доки, ибо они - RuleZ!
Приблуда классная, бесспорно, и я ей давно и с радостью пользуюсь. Многие вопросы распределения перефирийных устройств с ней решаются во много раз быстрее.UAVpilot писал(а):Там например можно вычитать про такую вот забавную приблуду: http://www.st.com/stm32cube
У нас проекты больше связаны с пром. применением. Какой нибудь контроллер нужен чтобы таскать ось туды/сюды, иль какой нибудь хитрый таймер с температурой или заменить PLC тд.. Многие клиенты жаждят видеть экранчикisx писал(а):У меня пока даже необходимости нет символьник цеплять, не то что тач .
Если ты пользуешь CMSYS, то это тоже "собственная библиотека функций", только уже сильно устаревшая и от этого создающая много лишних проблем при использовании с RTOS и новых чипов. Куб использует библиотеки HAL, которые позволяют полностью абстрагироваться от распределения ножек, таймеров и прерываний и т.п. Это позволяет просто сменить чип например с stm32f1 на stm32f4 и всё будет работать. Вобщем это наше неизбежное будущее, такое-же, какими были Win95, WinXP, Win7.michael-yurov писал(а):Только вот в последних версиях используются собственные библиотеки функций,
На счёт незнакомых названий функций утверждение сильно сомнительное - те, которые знакомые тоже ведь по началу были незнакомые... )michael-yurov писал(а):и генерирует эта приблуда не простой и понятный код, как раньше, а гору непонятных файлов, в которых использует незнакомые мне и компилятору названия функций.
Так и будет, если не прочитаешь небольшое пособие по миграции своих приложений на HAL.michael-yurov писал(а):А если я начну подключать ее библиотеки к своему проекту - я окончательно запутаюсь во всем этом безобразии-многообразии.
Это радует, это правильная штука.UAVpilot писал(а):Куб использует библиотеки HAL, которые позволяют полностью абстрагироваться от распределения ножек, таймеров и прерываний и т.п. Это позволяет просто сменить чип например с stm32f1 на stm32f4 и всё будет работать.
Не мог бы ткнуть меня носом?UAVpilot писал(а):Так и будет, если не прочитаешь небольшое пособие по миграции своих приложений на HAL.