Imprecisão de tempo de delay no STM32 ou pino incorreto?

Meu post importado de outro forum.

Um salve a todos do forum.
Estou fazendo testes com 3 micro processadores, o Arduino nano, STM 32 e o ESP 32.
Tive problemas com leitura de controle de fluidos e achei os resultados um pouco estranhos, por isso resolvi fazer testes utilizando um osciloscópio.
A principio resolvi fazer um simples teste com a função delayMicroseconds com pinout high de 1.2 ms em cada um dos três. 
Os Arduino (UNO e NANO), ESP32 Wroom estavam precisos com a leitura do osciloscópio mas o STM32 precisou de um fator de correção para diminuir o tempo que estava acima de 1.2 ms.
Estaria eu utilizando um pino errado (PB5) para executar esta função?
Segue abaixo o exemplo do código utilizado no arduino ide 

// ################# Definicao de constantes
#define FUEL PB5 // output DO PULSO
// ################# Declaracao de variaveis
float PULSO = 1.2 ; // TEMPO DE DURAÇÃO DO PULSO EM MS a ser convertido em microsegundos
float FATOR = 0.85; // fator de correção de 0,85 para ajustar o tempo lido no osciloscópio
float PULSOM = PULSO * 1000 * FATOR ; // TEMPO ESTADO HIGH

do
{
digitalWrite(FUEL, HIGH);
delayMicroseconds(PULSOM);
digitalWrite(FUEL, LOW);
delay(500); // TEMPO DE ESTADO LOW
}
while (1 == 1);

###############################################################################

Exibições: 162

Responder esta

Respostas a este tópico

Bom dia CB,

eu usei o board disponibilizado peor esta link:

http://dan.drown.org/stm32duino/package_STM32duino_index.json

RV

Isso corrigiu o problema do delay?

Não, este é o que estou usando sempre.

RV

Entendi.
Eu vou tentar recompilar o meu controlador com as devidas atualizações de software e o seu link de board.

[ ]´s

Não encontrei suporte para essa placa no site da Arduino ! 

Em 2016 a Arduino ORG (dissidentes do Arduino) lançaram a placa Arduino Star Oto. 

https://www.embarcados.com.br/placas-arduino-primo-e-star-otto/

Não encontrei o site do GitHub Arduino STM32 . Assim ficará difícil para analisar o CORE do STM32. 

Achei essa outra opção ( eu sugiro que faça testes com esse CORE): 

https://github.com/stm32duino

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço