Уважаемые пользователи! Наш сайт и форум содержится на средства полученные от рекламы. Если вы хотите и дальше продолжать общаться, скачивать, и т.п. пожалуйста отключите блокировку рекламы для нашего сайта/форума. Можно и покликать по рекламным ссылкам, так будут больше выплаты. Спасибо за понимание!

STM32 программирование из FLProg.

Кастомные контроллеры STM32F103C8T6, STM32F407Vxx DevEBox для версий 6.1

Обсуждение контроллеров, заливка скетчей и загрузчиков
Ingwar
Майор
Сообщения: 1072
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 53
Откуда: Ленобласть
Имя: Игорь

STM32 программирование из FLProg.

#141

Сообщение Ingwar » 12.09.2020{, 12:43}

masterw писал(а):
12.09.2020{, 12:42}
добавить в master опрос еще нескольких Slave даже не подключенных к 485
не нужно так делать

Отправлено спустя 6 минут 51 секунду:
masterw писал(а):
12.09.2020{, 12:42}
много голосов было за то, чтобы добавить STM в flprpg, даже когда это реализуется автору flprpg будет гораздо проще это сделать опираясь на какие то отработанные решения, иначе будут использованы те же тормозные библиотеки.
Вы наверное не понимаете, что эта поддержка, как и ESP, весьма условная. Arduino IDE не является "родной" средой для этих камней. И вся совместимость реализуется через костыли без раскрытия всего "потенцевала". А использовать STM можно и сейчас, благо и ядра и описания некоторых контроллеров есть. Прежде чем давать рекомендации и делать выводы, изучите вопрос.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

masterw
Рядовой
Сообщения: 9
Зарегистрирован: 15.09.2019{, 14:50}
Репутация: 0
Имя: Владимир

STM32 программирование из FLProg.

#142

Сообщение masterw » 12.09.2020{, 13:17}

Ingwar, Понятно, что не нужно, ключевое слово даже..

Ingwar
Майор
Сообщения: 1072
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 53
Откуда: Ленобласть
Имя: Игорь

STM32 программирование из FLProg.

#143

Сообщение Ingwar » 12.09.2020{, 13:42}

masterw писал(а):
12.09.2020{, 13:17}
ключевое слово даже..
Вы пробовали менять скорость порта? И еще, если используете простые RS485 на МАХ485 от наших китайских товарищей, то никогда не получите их ГАРАНТИРОВАННУЮ работу.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

masterw
Рядовой
Сообщения: 9
Зарегистрирован: 15.09.2019{, 14:50}
Репутация: 0
Имя: Владимир

STM32 программирование из FLProg.

#144

Сообщение masterw » 12.09.2020{, 21:39}

Пробовал на разных скоростях, все работает нормально на входа выхода процессора, но если добавить mpc23017 то после включения несколько секунд на mpc23017 появляются хаотичные сигналы, после чего может работать нормально, а может вообще зависнуть. Если отключить master, то все работает нормально. RS485 на SN75176. Причем при использовании Software Serial работает стабильнее.

Ingwar
Майор
Сообщения: 1072
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 53
Откуда: Ленобласть
Имя: Игорь

STM32 программирование из FLProg.

#145

Сообщение Ingwar » 13.09.2020{, 00:39}

masterw писал(а):
12.09.2020{, 21:39}
но если добавить mpc23017 то после включения несколько секунд на mpc23017 появляются хаотичные сигналы,
:yes: :yes: :yes: :yes:
Пару месяцев бился с проектом, где использовал mpc23017 и тегов более полусотни. RTU пробовал и TCP пофиг. Упаковал все койлы в холд и стало их 13 всего. Но все равно висло через непродолжительное время. Плюнул и поставил MEGA mini. Теперь только регистры. Нахер эти mpc23017
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 96
Откуда: Шатура
Имя: Энвер

STM32 программирование из FLProg.

#146

Сообщение ecoins » 13.09.2020{, 21:06}

На STM32F103C не заработали на выход PA15,PB3,PB4(JTDI,JTDO,JRST). Смотрел ядро Кларка (wirush_digital.cpp, board.cpp) - ничего сомнительного не увидел.
Не сталкивался никто?
Ниже тестовый скетч.
СпойлерПоказать
//-------------------------------------------------------------------------------------------------
// Тест SDK для FLProg - библиотека RT_HW_BASE.h
//-------------------------------------------------------------------------------------------------
bool blink;
//=================================================================================================
void setup() {
pinMode(PB10,OUTPUT);
pinMode(PA8,OUTPUT);
pinMode(PA15,OUTPUT);
pinMode(PB3,OUTPUT);
pinMode(PB4,OUTPUT);
pinMode(PB5,OUTPUT);
}
//=================================================================================================
void loop() {
blink=!blink;
digitalWrite(PB10,blink);
digitalWrite(PA8,blink);
digitalWrite(PA15,blink);
digitalWrite(PB3,blink);
digitalWrite(PB4,blink);
digitalWrite(PB5,blink);
//-------------------------------------------------------------------------------------------------
} //--End loop;

Аватара пользователя
maxxir
Рядовой
Сообщения: 3
Зарегистрирован: 14.09.2020{, 10:23}
Репутация: 0
Откуда: Тольятти
Имя: Макс
Контактная информация:

STM32 программирование из FLProg.

#147

Сообщение maxxir » 14.09.2020{, 10:35}

ecoins писал(а):
13.09.2020{, 21:06}
На STM32F103C не заработали на выход PA15,PB3,PB4(JTDI,JTDO,JRST). Смотрел ядро Кларка (wirush_digital.cpp, board.cpp) - ничего сомнительного не увидел.
Не сталкивался никто?
Ниже тестовый скетч.
СпойлерПоказать
//-------------------------------------------------------------------------------------------------
// Тест SDK для FLProg - библиотека RT_HW_BASE.h
//-------------------------------------------------------------------------------------------------
bool blink;
//=================================================================================================
void setup() {
pinMode(PB10,OUTPUT);
pinMode(PA8,OUTPUT);
pinMode(PA15,OUTPUT);
pinMode(PB3,OUTPUT);
pinMode(PB4,OUTPUT);
pinMode(PB5,OUTPUT);
}
//=================================================================================================
void loop() {
blink=!blink;
digitalWrite(PB10,blink);
digitalWrite(PA8,blink);
digitalWrite(PA15,blink);
digitalWrite(PB3,blink);
digitalWrite(PB4,blink);
digitalWrite(PB5,blink);
//-------------------------------------------------------------------------------------------------
} //--End loop;
Добавь это:

Код: Выделить всё

	// Synopsis: Disable JTAG PINS for JTAG (used as GPIO)
	// SWDIO/SWDCLK - used for programming
	// JTDI,JTDO,JRST - used as GPIO
	afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY);
Проверено на ядре Роджера в Sloeber(Eclipse)

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 96
Откуда: Шатура
Имя: Энвер

STM32 программирование из FLProg.

#148

Сообщение ecoins » 14.09.2020{, 10:50}

maxxir писал(а):
14.09.2020{, 10:35}
Проверено на ядре Роджера в Sloeber(Eclipse)
Спасибо.
Означает это, что операторы pinMode(),digitalWrite() на этих пинах будут не работать?

Аватара пользователя
maxxir
Рядовой
Сообщения: 3
Зарегистрирован: 14.09.2020{, 10:23}
Репутация: 0
Откуда: Тольятти
Имя: Макс
Контактная информация:

STM32 программирование из FLProg.

#149

Сообщение maxxir » 14.09.2020{, 12:00}

ecoins писал(а):
14.09.2020{, 10:50}
maxxir писал(а):
14.09.2020{, 10:35}
Проверено на ядре Роджера в Sloeber(Eclipse)
Спасибо.
Означает это, что операторы pinMode(),digitalWrite() на этих пинах будут не работать?
Будут работать, хотя на порядок быстрее работать с пинами через GPIO-макросы например для PA15:

Код: Выделить всё

#define LED_ON    (GPIOA->regs->BSRR= 1<<15)    // Set LED/PA15
#define LED_OFF   (GPIOA->regs->BRR = 1<<15)    // Clear LED/PA15
#define LED_READ  (GPIOA->regs->IDR & (1<<15))  // Read LED/PA15
#define LED_TGL   (LED_READ?LED_OFF:LED_ON)     // Toggle LED/PA15

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 96
Откуда: Шатура
Имя: Энвер

STM32 программирование из FLProg.

#150

Сообщение ecoins » 14.09.2020{, 12:44}

maxxir писал(а):
14.09.2020{, 12:00}
Будут работать, хотя на порядок быстрее работать с пинами через GPIO-макросы например для PA15:
Для универсальности с FLProg и библиотеками Arduino требуются команды Wiring pinMode(), digitalWrite(), digitalRead() - а они у меня на этих пинах не заработали.
Тестовый скетч приведен в #146.
Как-то возможно эту проблему разрешить - сейчас три пина не доступны.

Аватара пользователя
maxxir
Рядовой
Сообщения: 3
Зарегистрирован: 14.09.2020{, 10:23}
Репутация: 0
Откуда: Тольятти
Имя: Макс
Контактная информация:

STM32 программирование из FLProg.

#151

Сообщение maxxir » 14.09.2020{, 18:18}

Я же написал в #149.
Нужно добавить в setup()

Код: Выделить всё

afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY);

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 96
Откуда: Шатура
Имя: Энвер

STM32 программирование из FLProg.

#152

Сообщение ecoins » 15.09.2020{, 05:40}

maxxir писал(а):
14.09.2020{, 18:18}
Нужно добавить в setup()
Спасибо. Вставил в библиотеку, PA15,PB3,PB4 стали доступны.

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 96
Откуда: Шатура
Имя: Энвер

STM32 программирование из FLProg.

#153

Сообщение ecoins » 15.09.2020{, 06:19}

Короткий отчет:
1.На STM32F103C ModBus Slave работает (проверял с KaScada);
2.На STM32F401 не работает. Не воспринимает Serial1.begin(115200,8N_1) - код который генерит FLProg в setup(); Вручную меняется на Serial1.begin(115200) и эта проблема преодолевается. При работе при поступление правильной посылки из KaScada, отвечает байтом E2 и этим все...

Dmabst
Рядовой
Сообщения: 19
Зарегистрирован: 08.12.2018{, 16:49}
Репутация: 2
Имя: Дмитрий

STM32 программирование из FLProg.

#154

Сообщение Dmabst » 17.09.2020{, 01:06}

Не понял видео:

Именно эта STM32 полностью заменяет Arduino UNO?

bav123
Рядовой
Сообщения: 46
Зарегистрирован: 05.03.2016{, 09:22}
Репутация: 0

STM32 программирование из FLProg.

#155

Сообщение bav123 » 17.09.2020{, 19:01}

у каждого свои тараканы в голове

Ответить

Вернуться в «Контроллеры»