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

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

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

Сообщение DrMario »

Ingwar писал(а): 04 сен 2020, 22:15 Если что, РС13 не разведен. Индикация на макетке РВ7 ну и основные интерфейсы тоже развел для пробы. Их тоже пробовал - осликом смотрел - тишина....
STM32F401CCU6. PC13 на этой плате это как раз встроенный светодиод (на плате подписан как C13), и стандартный пример блинка мигает. В скетче можно сменить LED_BUILTIN на PC13 - тоже работает. А вот с нумерацией после обновлений флпрога что то случилось, нужно просить Сергея чтобы разобрался.
Залил пример моргалки на флпроге, там светодиод выпадает на вывод с номером 17 - не моргает. Меняю в примере 17 на PC13 - работает! Распиновку кастомных контроллеров делал сам и на прошлых версиях все работало. С какой версией сломалось не знаю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4007
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

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

Сообщение ecoins »

Вопросы по загрузке скетча в STM32
1.Удается ли устойчиво грузить через DFU-загрузчик в STM32F401, приходиться ли нажимать кнопочки при загрузке и с каким адоном работаете?
2.Для stm32f103x c новыми адонами грузить получается только через SW-LINK или как-то удается установить загрузчик для загрузки через USB?
DrMario писал(а): 05 сен 2020, 14:47 А вот с нумерацией после обновлений флпрога что то случилось, нужно просить Сергея чтобы разобрался.
3. А Сергей (разработчик) разве занимался STM32F?
Shurkan1
Рядовой
Сообщения: 27
Зарегистрирован: 28 авг 2020, 17:32
Имя: Александр

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

Сообщение Shurkan1 »

Shurkan1 писал(а): 01 сен 2020, 18:48 Есть мысли- Надо написать модуль в нем подключить RTOS, описать в разделе сетап - таски, в разделе функций - заполнить static voidы.
И после компиляции уже в ардуине руками растаскать Луп по статик войдам в соответствии платами -например.
Как вам такое )
Тихо сам с собою... Провел эксперимент с целью:
1. Проверить вышенаписанное
Второе, и главное, а нужно ли это в flpog.
Сделал алгоритм - генератор длительностью 10 микросекунд на вход счетчика сего выхода вывод на олед экранчик, строб записи на экранчик с этого-же генератора.
2020-09-05_17-04-24.png
В результате имем на экране скорость счета, примерно 1сек в третьем разряде ( оно и понятно- пока выводим на экранчик счетчик не считает)
Сделал то что описано сверху. Алгоритм разделил на две платы, генератор и счетчик на одной вывод на экран на другой, после компиляции распихал в разные задачи. В итоги В пятом разряде циферки бегут примерно две в секунду ( вроде должно 1 в сек. не разбирался).
Делаем выводы, Уважаемые Флпрогеры)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

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

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

Буду корректировать описание, потом проверять интерфейсы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Shurkan1
Рядовой
Сообщения: 27
Зарегистрирован: 28 авг 2020, 17:32
Имя: Александр

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

Сообщение Shurkan1 »

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

А если в IDE Поменять на родной PinName, работает?
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Shurkan1 писал(а): 05 сен 2020, 19:32 Попробуйте полюбить другой ).
Когда перепишу описание, попробую. Пока потестил скорость вывода на примере
[scroll]void setup()
{
pinMode(23, OUTPUT);
}
void loop()
{
digitalWrite(23, 0);
digitalWrite(23, 1);
}[/scroll]
Получилось примерно так
[spoiler]
Безымянный.png
[/spoiler]
Примерно, потому, что вместо 25 МГц кварца, впаял 24... нужные еще в пути.
При использовании штатного генератора, честный период примерно с 20 мкс. Добавил еще пару - всего 3 генератора. Выходная частота не изменилась.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

[ref]Ingwar[/ref], Можно попросить затестить

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

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
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Sancho писал(а): 05 сен 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 сен 2020, 21:05 Можно попросить затестить
[spoiler]
Безымянный.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

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

Отправлено спустя 54 секунды:
Или скомпилить хотя-бы под неё. у меня на домашнем компе не желает работать IDE
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Sancho писал(а): 05 сен 2020, 21:15 Игорь, а есть под рукой "стандартная" стм?
:yes: :yes: :yes:
Только 103
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

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

Отправлено спустя 23 секунды:
Ingwar писал(а): 05 сен 2020, 21:17Только 103
да!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Shurkan1
Рядовой
Сообщения: 27
Зарегистрирован: 28 авг 2020, 17:32
Имя: Александр

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

Сообщение Shurkan1 »

Sancho писал(а): 05 сен 2020, 21:05 Ingwar, Можно попросить затестить
2020-09-05_21-31-34.png
Это с ядром от Кларка.
А с STM32duino не работает.
Насколько я понял, от Кларка сделана на CMSIS вторая на HAL.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

Shurkan1 писал(а): 05 сен 2020, 21:33 Это с ядром от Кларка.
Вопрос - можно вгрузить и снять осциллограмму ?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Sancho писал(а): 06 сен 2020, 10:16 Вопрос - можно вгрузить и снять осциллограмму ?
Вгрузил на 103
Красивее, но не быстрее))
[spoiler]
Безымянный.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

Сообщение DrMario »

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

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

Отправлено спустя 6 минут 59 секунд:
Если слетела родная прошивка плат STM32F4xx, то вот прошивка блинка с бутлодером.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

Ingwar писал(а): 06 сен 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
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Sancho писал(а): 06 сен 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
Полковник
Сообщения: 4007
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

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

Сообщение ecoins »

DrMario писал(а): 06 сен 2020, 14:44 Через DFU без проблем. Перед загрузкой зажать на кнопку BOOT, очень кратковременно нажать NRST и отпустить BOOT. В описании я упоминал кажется.
Спасибо. Еще вопрос - в STM32F103x DFU загрузчик DFU получалось устанавливать и грузить?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

Sancho писал(а): 06 сен 2020, 16:46 Можно добавить синхро импульс...
[spoiler=Код]

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

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);
}
[/spoiler]
[spoiler=Скрин]
2020-09-07_10-04-17.png
[/spoiler]

Отправлено спустя 5 минут 48 секунд:
[spoiler=Код - 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);
}
[/spoiler]
[spoiler=Скрин 2]
2020-09-07_10-10-31.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Sancho писал(а): 07 сен 2020, 10:11
Sancho писал(а): 06 сен 2020, 16:46 Можно добавить синхро импульс...
[spoiler=Код]

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

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);
}
[/spoiler]
[spoiler=Скрин]2020-09-07_10-04-17.png[/spoiler]

Отправлено спустя 5 минут 48 секунд:
[spoiler=Код - 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);
}
[/spoiler]
[spoiler=Скрин 2]2020-09-07_10-10-31.png[/spoiler]
Заморочился :smile9:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя