arc
10.07.2012, 17:12
Hallo Zusammen,
ich bin Neueinsteiger in C und habe mir deswegen eine Nibo2 gekauft. Die C Programmierung klappt soweit recht gut und der gute Nibo2 tut auch manchmal wirklich was ich von ihm will.
Nun habe ich gelesen dass man diesen auch in Assembler programmieren kann. Ich würde nun gernen einige Programmschnipsel Assembler in mein C Programm integrieren.
Ich benutze AVR Studi 4 + avr-gcc und bin nun soweit gekommen dass er zumindes den Assembler Code akzeptiert und mir auch im AVR Studio das anzeigt was ich will. Hier das Programm dazu:
int main()
{
asm
(
"ldi R16,0b11111111" "\n\t"
"out 0x17,R16" "\n\t"
"ldi R17,0b00000010" "\n\t"
"out 0x18,R17" "\n\t"
);
}
Hierbei ist 0x17 -> DDRB was ich somit auf "Ausgang" setze und 0x18 -> PORTB mit dem ich das LED anschalten lassen sollte. Dass die Leds über PORTB angesteuert werden habe ich hierher: http://www.nibo-roboter.de/wiki/Bibliothek
Hier ist auch noch ein Schaltplan vom Nib02 zu finden: http://www.nicai-systems.com/de/nibo2-downloads-a-links.html
Nun könnt ihr euch denken dass dies nicht funktioniert, sonst würde ich nicht fragen. Ich verstehe aber leider nicht warum, und hoffe auf Eure Hilfe. Reite ich hier eventuell falschrum auf dem Pferd und sehe das alles falsch oder habe ich eine Chance dies wirklich so zu machen wie ich mir das vorstelle, also dass es möglich ist Assembler Schnipsel in meinen C Code zu integrieren?
Eine weitere Frage habe ich dazu auch noch: Wenn ich hier etwas unkontrollierte Codes in meinen Nibo2 überspiele...kann da was kaputt gehen??
Schon mal vorab vielen Dank für Eure Bemühunge und wenn Ihr noch etwas genauer wissen müsst, lasst es mich wissen.
Grüße, arc
ich bin Neueinsteiger in C und habe mir deswegen eine Nibo2 gekauft. Die C Programmierung klappt soweit recht gut und der gute Nibo2 tut auch manchmal wirklich was ich von ihm will.
Nun habe ich gelesen dass man diesen auch in Assembler programmieren kann. Ich würde nun gernen einige Programmschnipsel Assembler in mein C Programm integrieren.
Ich benutze AVR Studi 4 + avr-gcc und bin nun soweit gekommen dass er zumindes den Assembler Code akzeptiert und mir auch im AVR Studio das anzeigt was ich will. Hier das Programm dazu:
int main()
{
asm
(
"ldi R16,0b11111111" "\n\t"
"out 0x17,R16" "\n\t"
"ldi R17,0b00000010" "\n\t"
"out 0x18,R17" "\n\t"
);
}
Hierbei ist 0x17 -> DDRB was ich somit auf "Ausgang" setze und 0x18 -> PORTB mit dem ich das LED anschalten lassen sollte. Dass die Leds über PORTB angesteuert werden habe ich hierher: http://www.nibo-roboter.de/wiki/Bibliothek
Hier ist auch noch ein Schaltplan vom Nib02 zu finden: http://www.nicai-systems.com/de/nibo2-downloads-a-links.html
Nun könnt ihr euch denken dass dies nicht funktioniert, sonst würde ich nicht fragen. Ich verstehe aber leider nicht warum, und hoffe auf Eure Hilfe. Reite ich hier eventuell falschrum auf dem Pferd und sehe das alles falsch oder habe ich eine Chance dies wirklich so zu machen wie ich mir das vorstelle, also dass es möglich ist Assembler Schnipsel in meinen C Code zu integrieren?
Eine weitere Frage habe ich dazu auch noch: Wenn ich hier etwas unkontrollierte Codes in meinen Nibo2 überspiele...kann da was kaputt gehen??
Schon mal vorab vielen Dank für Eure Bemühunge und wenn Ihr noch etwas genauer wissen müsst, lasst es mich wissen.
Grüße, arc