hallo, habe den micro-basic-compiler für AVR im test.
die laufzeiten werden im debugger zu 100% simuliert und angezeigt..
was ich vorher nicht geschafft habe, klappte jetzt mit microbasic auf anhieb.
ich versuchte den robosapien mit einer ir-diode vom avr-8 zu steuern. versuche hier im forum schon länger nach einer genauen timerlösung zu suchen, schlug bis jetzt fehl.
da der ir-code für alle bewegungen bekannt war fehlte mir nur noch dazu ein genaues timing.
mit mircobasic hat es geklappt, dank der laufzeitmessung im debugger.
die zeiten gehen bis auf 1us genau. beim robosapien brauchte ich folgende : mit 12us toggeln für die ir-frequenz, 833 us, 6666 us.

jetzt habe ich eine mmc-karte, 256 mb zum laufen gbracht (schaltplan und die lib ist dabei), schaltplan ist sehr einfach, nur bei den 3,3volt musste ich noch eine lösung finden.

man muss mit den datenblatt des AVR arbeiten.
pwm, timer interrupt usw. gehen nach der definitionsdatei des jeweiligen avr. es wird nicht alles mundgerecht fertig bereitgestellt.
für die anderen sachen uart, softwareuart, I2C ,glcd ,lcd usw werden lib mit eingebunden.

rc5 senden und empfangen ist da z.b. nicht enthalten.

machte mir aber spass mich mit den ir-code auseinanderzusetzen und das gute timing des microbasic brachten den rc5-code zum senden und empfangen.

z.b. delay_us(1) braucht tatsächlich nur 1us.
mit den 100%tigen debugger, kann man die zeiten ausloten.

habe mir dann aus neugierde eine pulseout und pulsein angelegt für den ultra srf04, klappt toll.

die interrupts nutzen ist nicht so einfach, weil man hier die worte aus dem definitionsdatenblatt des AVR rausholen muss.

da ich gerne progge ist er für mich das ding...

wer Bascom gewöhnt ist und alles schnell fertig machen möchte, für den ist dieser compiler nichts.

wer mit winavr-c nicht so zurecht kommt aber gern bis in den kern des AVR proggen möchte , für den ist mircobasic bestens.

zb. für eine for a=1 to 100 > 164 us
zb. für eine for a=1 to 10 mit sprung zu einer sub und zurück > 29 us

wenn man diese zeiten hat, kann man auch zeitkritische routinen sehr gut in den griff bekommen.
Castle