Hi
bin gerade am testen von Studio 6 und würde gerne wissen wie ich Assambler code(als datei) in eine c datei ein binden kann
irgendwie klappt das nicht so wie ich mir das Vorstelle das Programm hängt sich bei F7 auf und lässt sich dann nur noch mit strg alt entf schließen
ich habe den atmega164p und mache folgendes:
1.datei erster_test.c
2.datei
und die 3. datei
ich weiß der Code ist nicht sehr orginell und in c besser zu schreiben es geht hier auch nur um einen ersten Test
um rauszukriegen wie das geht.
bitte auch keine Inline lösung das hilft mir nicht weiter weil das später ein längerer Assamblerteil wird
hoffe jemand hat erfahrung
bitte einfach erklären ich mache zum ersten mal ein C Programm assambler kann ich schon
vielen lieben Dank
little
bin gerade am testen von Studio 6 und würde gerne wissen wie ich Assambler code(als datei) in eine c datei ein binden kann
irgendwie klappt das nicht so wie ich mir das Vorstelle das Programm hängt sich bei F7 auf und lässt sich dann nur noch mit strg alt entf schließen
ich habe den atmega164p und mache folgendes:
1.datei erster_test.c
Code:
#define F_CPU 16000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "Assembly1.h"
//global variable
volatile uint8_t rytmus;
volatile uint8_t zeit;
extern void Test(void);
int main(void)
{
DDRA = 0x01<<DDA3;
while (1)
{
Test(); //assambler test aufrufen
if (rytmus==10)
{
_delay_ms(500); //zeit einsetzen
PORTA ^= (1 << PA3); //auf PortA3 blinken
}
else
{
}
}
}
2.datei
Code:
#include <avr/io.h>
#include "Assembly1.h"
.global Test
Test:
push r24
lds r24,rytmus ;lade variable rytmus in r24
inc r24
endmark: sts rytmus, r24 ;speiche den rytmus ab
pop r24
ret
und die 3. datei
Code:
#include <avr/io.h>
#include "Assembly1.s"
#include "erster test.c"
#ifndef INCFILE1_H_
#define INCFILE1_H_
void Test (void);
#endif /* INCFILE1_H_ */
ich weiß der Code ist nicht sehr orginell und in c besser zu schreiben es geht hier auch nur um einen ersten Test
um rauszukriegen wie das geht.
bitte auch keine Inline lösung das hilft mir nicht weiter weil das später ein längerer Assamblerteil wird
hoffe jemand hat erfahrung
bitte einfach erklären ich mache zum ersten mal ein C Programm assambler kann ich schon
vielen lieben Dank
little