Wir nutzen in der Arbeit auch Simulink für die Reglerentwicklung von
einem Industriehubschrauber. Wir nutzen neben dem RTW (Real Time
Workshop) auch den Embedded Real Time Coder. Dort kannst du dann
einstellen was Dein Target System ist und 8-Bitter wie die AVRs werden
hier auch unterstützt. Wenn du fertige Blöcke haben willst um z.B. den
ADC auszulesen wirst Du leider enttäuscht sein, denn die gibts nicht,
aber so nen ADC per Hand auszulesen und die Werte dann in den von Matlab
generierten Code zu schieben sollte kein Problem sein! Die Werte die in
Deinen Simulink - Block laufen sollten als Busse definiert sein, genauso
wie die Ausgabe - Werte. Wenn du den Code dann von Matlab erzeugen läßt,
dann laßt Dir auch die Main (ert_main.c) ausgeben.
Hierbei gibts dann meist eine rt_onestep() - Funktion, die
Funktionalität aus dem Simulink - Block enthält. Der Eingangsbus (wird
in C als struct abgebildet) ist mit dem Kürzel U versehen und der
Ausgangsbus mit Y. Vor dem Aufruf der Funktion rt_onestep() musst Du nur
Deinen Eingangsbus mit den Werten belegen (z.B. vom ADC) und nach dem
Aufruf der Funktion stehen die Ausgabewerte im Ausgangsbus.
Grüße,
Michael