Size: a a a

2021 April 13

DI

Dmitriy Ivolga in STM32
Товарищи, подскажите пожалуйста: пытаюсь сгенерировать единичный импульс (10мкс) по нажатию кнопки на пине. Прервание от кнопки срабатывает, но сигнал меняет значение с 0 на 1 и остается равным 1, следовательно никакого импульса нет (протыкал осцилографом).

Генерацию импульса пробовал двумя способами:

void genPulseECHO(void){
 HAL_TIM_OnePulse_Stop(&htim3, TIM_CHANNEL_1);
 HAL_GPIO_TogglePin(LD1_GPIO_Port, LD1_Pin);
 HAL_TIM_OnePulse_Start(&htim3, TIM_CHANNEL_1);
}

void genPulseECHO(void){
 HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1);
 HAL_GPIO_TogglePin(LD1_GPIO_Port, LD1_Pin);
 HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
}

в чем ошибка?
источник

A

Alexei in STM32
Так toggle же просто инвертирует состояние ножки. Почему она должна обратно сменить состояние?
источник
2021 April 14

ДК

Денис Косяков... in STM32
Сигнал на таймере или сигнал на светодиоде зависает в 1? Просто если второе, то ему не с чего упасть в 0, потому что toggle pin просто 1 раз инвертирует состояние ножки. Если у вас светодиод показывает ровно состояние импульса от таймера(что не очень понятно, ведь глаз увидит вспышку, если вообще что то увидит), то почему бы не прицепить этот светодиод к таймеру? Если же, все-таки, хочется оставить подобную конструкцию, то в колбэке от таймера надо еще раз toggle pin сделать
источник

DI

Dmitriy Ivolga in STM32
На команду светодиода не обращайте внимание, это поставлено было, чтобы проверить прерывание от кнопки и что вообще "даётся команда сгенировать один импульс на выводе PA6". Интересует именно вывод, которым управляет таймер в режиме OPM через PWM. Как понял, что в данном режиме, при подаче команды на включение PWM, таймер сгенирурет 1 полный период и остановится. А в результате работы таймер только включает вывод PA6 с канала 1
источник

ДК

Денис Косяков... in STM32
А можно проектик? Есть подозрение что кнопка виснет в 1 и таймер перезапускается постоянно
источник

DI

Dmitriy Ivolga in STM32
Могу скинуть, но как отследить? Попробовать без кнопки импульс генерировать? Через задержку в цикле?
источник

ДК

Денис Косяков... in STM32
Вместо светодиодика отправляйте сообщение в консоль. По уарту или по swd или что то еще. Так будет видно что кнопка отработала ровно 1 раз или зависла
источник

ДК

Денис Косяков... in STM32
Ну или да, через задержку в цикле, если возможности с консолью нет
источник

DI

Dmitriy Ivolga in STM32
Окей, но такую возможность проверял, протыкивая сигнал на светодие осциллографом (для этого и помещал команду togle вместе с OP) при нажатии на кнопку пользовательский светодиод четко вкл или выкл. А ножка от таймера виснет. Но обязательно проверю ваш вариант.
источник

ДК

Денис Косяков... in STM32
Еще, на всякий случай, в конфигурации таймера в разделе шим переведите пункт output compare preload в disable
источник

DI

Dmitriy Ivolga in STM32
Нет, к сожалению также без результатно. Буду смотреть тогда работу таймера
источник

AS

Alexei Smotritsky in STM32
Доброе утро!
Ребята, может кто то доступно объяснить, для чего в CubeIDE используется так называемый workspace? Просто я все свои проекты сохраняю в папке Яндекс-диска, чтобы доступ к ним был как с работы, так и из дома, а как в таком случае быть с workspace, ведь он по умолчанию создается на диске С?
источник

АС

Алексей Сугоняев... in STM32
Да вроде бы нет, можно указать свое место воркспейсу у меня на дробоксе
источник

АС

Алексей Сугоняев... in STM32
Но в принципе даже если не получится можно исходники как ссылки на существующие файлы на облаке втащить
источник

AS

Alexei Smotritsky in STM32
Т.е. в качестве workspace я могу указать папку с проектом?
источник

АС

Алексей Сугоняев... in STM32
Думаю да
источник

AS

Alexei Smotritsky in STM32
ок, спасибо.
источник

AS

Alexei Smotritsky in STM32
В том то и дело, что я с эклипсом дела не имел, сидел все время на кейле.
источник

Z

Zen in STM32
Вы можете создать папку и поместить в нее все свои проекты, выбрать ее как ворксепейс, тогда эклипс создаст там папку с его настройками. Если будете шарить ету папку то у вас будут везде одни настройки. А вообще лучше откройте для себя такую штуку как git.
источник

AI

Anastasia Isaeva in STM32
Добрый день! пытаюсь подключить wiznet 5500, используя готовую библиотеку. в файле wizchip_init.h вижу куда физически подключена ножка CS:
#define GPIOx_SPI_CS  GPIOA, GPIO_PIN_4
Подскажите, пожалуйста, как посмотреть остальные ножки(MISO, MOSI,SCK)?
источник