Forum: Mikrocontroller und Digitale Elektronik atmega8 midi sequenzer!


von anonym :) (Gast)


Lesenswert?

hallo! ich habe einen einfachen midi 8-stepsequenzer auf basis eines
atmega8 entworfen. (ich benutze das arduino board und die arduino0005
software - getaktet alles mit einem 16mhz quarz).
nun soweit läuft alles:
ich habe 8 steps, und über ein poti und zwei tasten (eine zum
weiterschalten des steps, der programmiert wird und eine zum
programmieren) kann ich die noten einstellen. währenddessen läuft der
sequenzer die 8 noten immer schön brav durch und gibt sie über midi (an
der uart schnittstelle) aus.
nur leider "stottert" er manchmal. scheinbar willkürlich und zufällig
scheint in unregelmäßigen abständen mal ne note zu früh zu kommen.
ich bin den code mehrmals durchgegangen, habe das tempo geändert,
delays vor und nach den uart ausgaben eingebaut aber bisher hat nichts
das stottern abstellen können. und nun weiß ich nicht mehr weiter ;)
woran könnte es liegen?
ist es überhaupt möglich, so etwas ohne interrupts oder timer zu machen
(ich habe nämlich keine benutzt)?

von Sonic (Gast)


Lesenswert?

Falls irgendwie möglich würde ich die Interrupts jeder anderen
Progammierart vorziehen! Zeitkritische Dinge wie
Schnittstellenbedienungen werden damit stabil!

von Frank (Gast)


Lesenswert?

Ohne Timereinsatz ist das Timig nur Zufallssache. Spricht doch auch nix
dagegen, ohnehin vorhandene Hardware einzusetzen.

bye

Frank

von anonym :) (Gast)


Lesenswert?

puh, das habe ich schon fast befürchtet. ja schaut so aus, als müsse ich
dann nochmal ran. dafür muss ich schauen, ob ich mit der arduino (
http://www.arduino.cc )software überhaupt die timer benutzen kann; ich
glaube nämlich, die werden in irgendeiner der automatisch verlinkten
bibliotheken schon anderweitig genutzt. aber glauben gehört in die
kirche, also mal sehen, ob das auch stimmt ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.