Vediamo se qui qualcuno riesce a risolvermi il problema io continuo a girarci attorno ma non cavo il ragno dal buco. Sto trasportando dall'editor di Arduino a PlatformIo questo file che genera un impulso di lunghezza prefissata con un cero duty cicle. Su arduino funziona a meraviglia aggiungendo l'istruzione pinMode(PB6, PWM). In effetti può essere assimilato a un PWM.
Su PlatformIO listruzione pinMode dicui sopra ovviamente non è ammessa. Non riesco a ritrovarmi l'impulso sul pin PB6 che è quello di default. Sembrerebbe bisogna connettere la porta al timer ma no riesco a beccare il registro giusto.
#include <Arduino.h>
void setup() {
TIM4->CR1 = TIM_CR1_CEN |TIM_CR1_ARPE; // Enable counter and auto-reload preload
TIM4->CR2 = 0;
TIM4->SMCR = 0;
TIM4->DIER = 0;
TIM4->EGR = 0;
TIM4->CCMR1 = (0b110 << 4 ) | TIM_CCMR1_OC1PE; // PWM mode 1, preload enable
TIM4->CCMR2 = 0;
TIM4->CCER = TIM_CCER_CC1E ; // Enable output on channel 1
TIM4->PSC = 71;
TIM4->ARR = 0x5000; // Set auto-reload value, period
TIM4->DCR = 0;
TIM4->CCR1 = 1000; // Set compare value for channel 1, duty cycle
}
void loop() {
delay(10);
}
[env:genericSTM32F103C8]
platform = ststm32
board = genericSTM32F103C8
framework = arduino
Ringraziando in anticipo
Saluti