Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ontimer
06-03-2015, 10:16 AM, (This post was last modified: 06-03-2015, 10:17 AM by regis.)
#7
RE: ontimer
As-tu pensé a utiliser le PWM ? Il y en a au moins 2 sur les Pinguino 8-bit (saut le 47J53 qui en a 6) et 5 sur les 32-bit.
Tu peux sortir la fréquence de ton choix avec l'instruction : PWM.setFrequency(pin, freq).
Attention les fréquences de sortie sont en rapport avec la fréquence de l'horloge interne (Fosc/4 sur les 8-bit).
Théoriquement, tu ne peux donc allez au-delà de 12MHz si ton Pinguino marche à 48MHz et pas en dessous de 2929 Hz.
Si tu veux allez plus bas il faut baisser la fréquence du processeur : System.setCpuFrequency(fosc);
Tu trouveras la formule de calcul et des explications dans les datasheets mais en gros tu as :

PWM Period     = (Timer2 period + 1) * 4 *  Osc. period * Timer2 prescaler

Si je devais faire un petit GBF et donc sortir différentes formes du signal (triangle, carré, sinusoïde), alors j'utiliserais une fréquence porteuse (égale au double de la fréquence max. du GBF) et modulerais le duty cycle de PWM pour sortir la forme et la fréquence souhaitées.

Dans ce cas, je m'inspirerais du fichier audio.c. Tu pourrais en faire une copie, le modifier et en faire une petite lib. Waveform avec des instructions du genre Waveform(pin, freq, form) ...
As-tu un oscilloscope ?
It is easier to complain than it is to do, but it is better to do than it is to complain.
Reply


Messages In This Thread
ontimer - by naindejardin - 24-02-2015, 03:05 PM
RE: ontimer - by gtcbreizh - 24-02-2015, 03:50 PM
RE: ontimer - by naindejardin - 01-03-2015, 11:05 PM
RE: ontimer - by naindejardin - 05-03-2015, 02:23 PM
RE: ontimer - by regis - 05-03-2015, 07:01 PM
RE: ontimer - by naindejardin - 06-03-2015, 12:29 AM
RE: ontimer - by regis - 06-03-2015, 10:16 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)