Arduino in C-Code Übersetzen für AVR-ISPMk2

Gast #2718987
Lesenswert?

Hi ihr,
ich habe eine Frage.. und zwar ob ich diesen Arduino Code so richtig in
C umgeschrieben habe und wie ich in der untersten Funktion Ton() die
Ausgangspins setzen kann weil PORTB = 0b00000001 also Pin B0 = 1 nimmt
er nich.... vermute mal dass es was mit der Sichtbarkeit zu tun hat also
ob Globale Variable oder Lokale...

Ich muss dazu sagen ich bin totaler Anfänger in diesem Thema und naja
boxe mich mit meinem Java Wissen etwas durch und einigen tutorials...
aber alles kann man sich da halt nicht rauslesen...^^

Hatte zuerst versucht mit einem Arduino einen ATTINY 84 und einen
ATMEGA8 zu flashen aber iwi gab das nur probleme deshalb bin ich jetzt
kurzfristig auf das AVR-ISP-MK2 umgestiegen was ich aber erst am Montag
bekomme. Wollte aber mal vorrab von euch wissen ob man das so machen
kann.


Danke schonmal vielmals!!!



Hier der Arduino Code und weiter unten der Übersetzte C-Code für das
AVR-Studio:
Angehängte Dateien:
Gast #2718995
Lesenswert?

ok am Ende steht da nicht 00000001 sondern 00000000^^


aber mal noch was anderes.... Wieso kann ich nach Neustart des Programms 
kein "debuggen" durchführen?

Ich habe die Datei mit "speichern unter" in einen neuen Ordner 
gespeichert und seither zeigt er mir keinen grünen Balken mehr an links 
und die Debugg Funktion ist grau...

Fehlt ihm jetzt irgend eine Referenz die beim speichern verlohren 
gegangen ist oder so?
Gast #2719002
Lesenswert?

naja habs schnell in den editor gepackt und gespeichert^^

wie kann ich dann unterschiedliche Wartezeiten einstellen? Einfach in 
der Funktion Ton() eine Konstante erzeugen und der den Ankommenden Wert 
zuweisen?
Gast #2719012
Lesenswert?

ok hab selber noch 2 Sachen gefunden... einmal war die Kalibrierung() 
falsch deklariert und die BITS am anfang sind jetzt auch richtig 
deklariert..^^

Es kommt aber noch immer der Fehler hier für die Funktion 
"Kalibration();":

Warning  2  implicit declaration of function 'Kalibration' 
[-Wimplicit-function-declaration]...
#2719014
Lesenswert?

Basstler schrieb:
> aber mal noch was anderes.... Wieso kann ich nach Neustart des Programms
> kein "debuggen" durchführen?
Weil man ein fehlerhaftes Programm, das nicht compilert, nicht debuggen 
kann.

>unsigned next:1  = 0;
Das gehört in ein struct.
>digitalWrite(Ton,LOW);
Wo ist diese Funktion?

Das würde zwar compilieren, aber:
>nt16_t Kalibrationarray1[256];
>int16_t Kalibrationarray2[256];
>int16_t Kalibrationarray3[256];
macht zusammen 1536 Bytes
Attiny84: 512 Bytes
Atmega8: 1024 Bytes

Basstler schrieb:
> wie kann ich dann unterschiedliche Wartezeiten einstellen? Einfach in
> der Funktion Ton() eine Konstante erzeugen und der den Ankommenden Wert
> zuweisen?
Das ist Problem Nr. 947. Und je nach GCC-Version noch nicht mal ein 
Fehler. Eine Konstante ist eine Konstante. Fang erstmal bei 1 an.
Dein Compiler überschüttet dich schliesslich mit Fehlermeldungen.

mfg.
Gast #2719017
Lesenswert?

Weil ich mit dem AVR-Studio arbeite und das die Syntax vom Arduino ja 
nich kennt^^
Und ich wollte ATTINY84 und ATMEEGA8 flashen und das hatte mit dem 
Arduino Board nicht klappen wollen bzw nicht gut... Hätte dann mit den 
Fuses rumm experimentieren müssen und ich dachte wenn ich es in C 
umschreibe und mit dem AVR-ISP-MK2 flashe bin ich besser unterwegs. 
Zumal Grundkenntnisse in C nie verkehrt sind!

Oder kennt ihr einen besseren Weg? Denke ich habs ja schon fast... Hoffe 
nur dass es so funktioniert wie ichs bisher programmiert habe...^^
Gast #2719022
Lesenswert?

aktueller Code muss für heute leider Schluss machen...

Ja das mit den Arrays ist wohl ein Problem das ich lösen muss oO... 
nicht gut wenn der Ram vollläuft und dann nichts mehr geht :D

Denke dann nehme ich einfach nach 256 Kapazitiven Lade und Entlade 
Vorgängen den letzten Wert als Kalibrationswert das spart die Arrays.
Angehängte Dateien:
Gast #2720212
Lesenswert?

Ich bekomme da immer diesen Fehler:
Warning  5  conflicting types for 'Kalibration' [enabled by default]

und

Warning  3  implicit declaration of function 'Kapazitaet' 
[-Wimplicit-function-declaration]



checke aber nicht wieso oO...
Gast #2720228
Lesenswert?

Das sind Warnungen, das passt schon, sind keine Fehler.
Wenn du ein:
void Kalibration();

nach den Includes stellst, verschwindet die Warnung, nennt sich
vorward declaration, oder du deklarierst die Unterprogramme vor deren
Verwendung.
Gast #2720483
Lesenswert?

ok also beim Aufruf dann einfach noch einmal "void" davor packen?

Ja wie würde das dann aussehen oO Bzw wie kann ich eine Funktion 
deklarieren ohne sie vorher zu definieren...^^??


danke schonmal Chris =)

LG und gn8 ;)
Gast #2721819
Lesenswert?

jetzt hab ich das nächste problem...

Code passt einigermaßen aber jetzt kann ich nicht flashen :D :D


muss ich die beidne iwi speziell verschalten?

dreh noch durch -.- zuerst nich mit arduino jetzt mit avr isp nich... =( 
=(...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren