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

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

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#101

Сообщение DrMario » 05.09.2020{, 14:47}

Ingwar писал(а):
04.09.2020{, 22:15}
Если что, РС13 не разведен. Индикация на макетке РВ7 ну и основные интерфейсы тоже развел для пробы. Их тоже пробовал - осликом смотрел - тишина....
STM32F401CCU6. PC13 на этой плате это как раз встроенный светодиод (на плате подписан как C13), и стандартный пример блинка мигает. В скетче можно сменить LED_BUILTIN на PC13 - тоже работает. А вот с нумерацией после обновлений флпрога что то случилось, нужно просить Сергея чтобы разобрался.
Залил пример моргалки на флпроге, там светодиод выпадает на вывод с номером 17 - не моргает. Меняю в примере 17 на PC13 - работает! Распиновку кастомных контроллеров делал сам и на прошлых версиях все работало. С какой версией сломалось не знаю.
Вложения
STM32F4-Blue-Pill-Board.jpg

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

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

#102

Сообщение ecoins » 05.09.2020{, 15:47}

Вопросы по загрузке скетча в STM32
1.Удается ли устойчиво грузить через DFU-загрузчик в STM32F401, приходиться ли нажимать кнопочки при загрузке и с каким адоном работаете?
2.Для stm32f103x c новыми адонами грузить получается только через SW-LINK или как-то удается установить загрузчик для загрузки через USB?
DrMario писал(а):
05.09.2020{, 14:47}
А вот с нумерацией после обновлений флпрога что то случилось, нужно просить Сергея чтобы разобрался.
3. А Сергей (разработчик) разве занимался STM32F?

Shurkan1
Рядовой
Сообщения: 27
Зарегистрирован: 28.08.2020{, 17:32}
Репутация: 0
Имя: Александр

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

#103

Сообщение Shurkan1 » 05.09.2020{, 18:01}

Shurkan1 писал(а):
01.09.2020{, 18:48}
Есть мысли- Надо написать модуль в нем подключить RTOS, описать в разделе сетап - таски, в разделе функций - заполнить static voidы.
И после компиляции уже в ардуине руками растаскать Луп по статик войдам в соответствии платами -например.
Как вам такое )
Тихо сам с собою... Провел эксперимент с целью:
1. Проверить вышенаписанное
Второе, и главное, а нужно ли это в flpog.
Сделал алгоритм - генератор длительностью 10 микросекунд на вход счетчика сего выхода вывод на олед экранчик, строб записи на экранчик с этого-же генератора.
2020-09-05_17-04-24.png
В результате имем на экране скорость счета, примерно 1сек в третьем разряде ( оно и понятно- пока выводим на экранчик счетчик не считает)
Сделал то что описано сверху. Алгоритм разделил на две платы, генератор и счетчик на одной вывод на экран на другой, после компиляции распихал в разные задачи. В итоги В пятом разряде циферки бегут примерно две в секунду ( вроде должно 1 в сек. не разбирался).
Делаем выводы, Уважаемые Флпрогеры)
Вложения
pr2.ino
(5.46 КБ) 54 скачивания
testRTOS.flp
(1.65 МБ) 66 скачиваний

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

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

#104

Сообщение Ingwar » 05.09.2020{, 18:50}

Shurkan1 писал(а):
05.09.2020{, 18:01}
Тихо сам с собою...
Проделываю те же манипуляции :smile38:

"Открыл" для себя такой файл
СпойлерПоказать
Безымянный1.png
Скачал последний IDE (без установщика). Добавил в него STM.
Изменил в описании пока один "свой любимый" пин.
СпойлерПоказать
Безымянный3.png
Потом сначала просто зажег, потом через delay поморгал и в конце скетч от Flprog на генераторе. Пока работает...
Заливал с такими стандартными настройками
СпойлерПоказать
Безымянный2.png
Если ставить плату (board) Board part numer : Generic F401CC - не работает.

Буду корректировать описание, потом проверять интерфейсы.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Shurkan1
Рядовой
Сообщения: 27
Зарегистрирован: 28.08.2020{, 17:32}
Репутация: 0
Имя: Александр

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

#105

Сообщение Shurkan1 » 05.09.2020{, 19:32}

Ingwar писал(а):
05.09.2020{, 18:50}
Изменил в описании пока один "свой любимый" пин.
Попробуйте полюбить другой ).

А если в IDE Поменять на родной PinName, работает?

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

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

#106

Сообщение Ingwar » 05.09.2020{, 19:51}

Shurkan1 писал(а):
05.09.2020{, 19:32}
Попробуйте полюбить другой ).
Когда перепишу описание, попробую. Пока потестил скорость вывода на примере
void setup()
{
pinMode(23, OUTPUT);
}
void loop()
{
digitalWrite(23, 0);
digitalWrite(23, 1);
}
Получилось примерно так
СпойлерПоказать
Безымянный.png
Примерно, потому, что вместо 25 МГц кварца, впаял 24... нужные еще в пути.
При использовании штатного генератора, честный период примерно с 20 мкс. Добавил еще пару - всего 3 генератора. Выходная частота не изменилась.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#107

Сообщение Sancho » 05.09.2020{, 21:05}

Ingwar, Можно попросить затестить

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

bool a=0;
void setup(){
pinMode(PB7, OUTPUT);
}
void loop(){
	if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;
}
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

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

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

#108

Сообщение Ingwar » 05.09.2020{, 21:13}

Sancho писал(а):
05.09.2020{, 21:05}
bool a=0;
void setup(){
pinMode(PB7, OUTPUT);
}
void loop(){
if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
a= !a;
}
Sancho писал(а):
05.09.2020{, 21:05}
Можно попросить затестить
СпойлерПоказать
Безымянный.png
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#109

Сообщение Sancho » 05.09.2020{, 21:15}

Ingwar, Игорь, а есть под рукой "стандартная" стм?

Отправлено спустя 54 секунды:
Или скомпилить хотя-бы под неё. у меня на домашнем компе не желает работать IDE
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

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

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

#110

Сообщение Ingwar » 05.09.2020{, 21:17}

Sancho писал(а):
05.09.2020{, 21:15}
Игорь, а есть под рукой "стандартная" стм?
:yes: :yes: :yes:
Только 103
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#111

Сообщение Sancho » 05.09.2020{, 21:17}

на работе всё тестил, результат радует.

Отправлено спустя 23 секунды:
Ingwar писал(а):
05.09.2020{, 21:17}
Только 103
да!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Shurkan1
Рядовой
Сообщения: 27
Зарегистрирован: 28.08.2020{, 17:32}
Репутация: 0
Имя: Александр

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

#112

Сообщение Shurkan1 » 05.09.2020{, 21:33}

Sancho писал(а):
05.09.2020{, 21:05}
Ingwar, Можно попросить затестить
2020-09-05_21-31-34.png
Это с ядром от Кларка.
А с STM32duino не работает.
Насколько я понял, от Кларка сделана на CMSIS вторая на HAL.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#113

Сообщение Sancho » 06.09.2020{, 10:16}

Shurkan1 писал(а):
05.09.2020{, 21:33}
Это с ядром от Кларка.
Вопрос - можно вгрузить и снять осциллограмму ?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

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

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

#114

Сообщение Ingwar » 06.09.2020{, 13:49}

Sancho писал(а):
06.09.2020{, 10:16}
Вопрос - можно вгрузить и снять осциллограмму ?
Вгрузил на 103
Красивее, но не быстрее))
СпойлерПоказать
Безымянный.jpg
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#115

Сообщение DrMario » 06.09.2020{, 14:36}

ecoins писал(а):
05.09.2020{, 15:47}
Вопросы по загрузке скетча в STM32
1.Удается ли устойчиво грузить через DFU-загрузчик в STM32F401, приходиться ли нажимать кнопочки при загрузке и с каким адоном работаете?
Через DFU без проблем. Перед загрузкой зажать на кнопку BOOT, очень кратковременно нажать NRST и отпустить BOOT. В описании я упоминал кажется.

Отправлено спустя 1 минуту 30 секунд:
ecoins писал(а):
05.09.2020{, 15:47}
3. А Сергей (разработчик) разве занимался STM32F?
Похоже что нет.

Отправлено спустя 6 минут 59 секунд:
Если слетела родная прошивка плат STM32F4xx, то вот прошивка блинка с бутлодером.
Вложения
WeAct_HID_Bootloader_F4x1.7z
Для STM32CubeProgrammer или STM32 ST-LINK Utility порт SWD.
(14.37 КБ) 83 скачивания

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#116

Сообщение Sancho » 06.09.2020{, 16:42}

Ingwar писал(а):
06.09.2020{, 13:49}
Красивее, но не быстрее))
Не-а. Инверсия 1 раз в цикл! Плюс работа с переменной.

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

bool a=0;
void setup(){
pinMode(PB7, OUTPUT);
}
void loop(){
	if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;
	if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
	a= !a;
а так?

Отправлено спустя 1 минуту 15 секунд:
Можно добавить синхро импульс...:)

Отправлено спустя 2 минуты 13 секунд:
но в любом случае - быстрее 328..
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

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

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

#117

Сообщение Ingwar » 06.09.2020{, 19:45}

Sancho писал(а):
06.09.2020{, 16:46}
а так?
C:\Users\Ing\AppData\Local\Temp\flprog\pr4\pr4.ino: In function 'void loop()':

pr4:6:85: error: 'struct gpio_reg_map' has no member named 'BRR'

if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

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

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

#118

Сообщение ecoins » 06.09.2020{, 21:45}

DrMario писал(а):
06.09.2020{, 14:44}
Через DFU без проблем. Перед загрузкой зажать на кнопку BOOT, очень кратковременно нажать NRST и отпустить BOOT. В описании я упоминал кажется.
Спасибо. Еще вопрос - в STM32F103x DFU загрузчик DFU получалось устанавливать и грузить?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#119

Сообщение Sancho » 07.09.2020{, 10:05}

Sancho писал(а):
06.09.2020{, 16:46}
Можно добавить синхро импульс...
КодПоказать

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

bool a=0;
void setup(){
pinMode(PB7, OUTPUT);
pinMode(PB6, OUTPUT);
}
void loop(){
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 6, 1);
  if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;
  if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;
  bb_peri_set_bit(&GPIOB_BASE->BRR, 6, 1);
}
СкринПоказать
2020-09-07_10-04-17.png
Отправлено спустя 5 минут 48 секунд:
Код - 2Показать

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

bool a=0;
void setup(){
pinMode(PB7, OUTPUT);
pinMode(PB6, OUTPUT);
}
void loop(){
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 6, 1);
  if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7

  bb_peri_set_bit(&GPIOB_BASE->BRR, 6, 1);
}
Скрин 2Показать
2020-09-07_10-10-31.png
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

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

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

#120

Сообщение Ingwar » 07.09.2020{, 15:14}

Sancho писал(а):
07.09.2020{, 10:11}
Sancho писал(а):
06.09.2020{, 16:46}
Можно добавить синхро импульс...
КодПоказать

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

bool a=0;
void setup(){
pinMode(PB7, OUTPUT);
pinMode(PB6, OUTPUT);
}
void loop(){
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 6, 1);
  if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;
  if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  a= !a;
  bb_peri_set_bit(&GPIOB_BASE->BRR, 6, 1);
}
СкринПоказать
2020-09-07_10-04-17.png
Отправлено спустя 5 минут 48 секунд:
Код - 2Показать

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

bool a=0;
void setup(){
pinMode(PB7, OUTPUT);
pinMode(PB6, OUTPUT);
}
void loop(){
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 6, 1);
  if( a )bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);else bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7
  bb_peri_set_bit(&GPIOB_BASE->BSRR, 7, 1);
  bb_peri_set_bit(&GPIOB_BASE->BRR, 7, 1); // PB7

  bb_peri_set_bit(&GPIOB_BASE->BRR, 6, 1);
}
Скрин 2Показать
2020-09-07_10-10-31.png
Заморочился :smile9:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ответить

Вернуться в «STM32»