Guten Morgen,
ich würde gerne für das Jahresprojekt in unserer Schule einen
ATtiny2313 Programmieren
jetzt weiß ich aber nicht welche Programmiersprache die Firmware hat,
die ich verändern muss und mit welchen Programm ich sie verändere
Hier ist die Firmware:
1
/* Bluetooth Controlled Car
2
Accpets commands through UART, via GP-GC021 Bluetooth Module
3
Control of head lights, brake lights, one drive motor and one
4
steering servo are implemented.
5
Clock frequency is 4MHz
6
*/
7
8
#define HDLED PORTB.B7
9
#define BRKLED PORTB.B6
10
#define M1p PORTB.B5
11
#define M1m PORTB.B4
12
#define SERVO PORTB.B3
13
14
unsignedshortuart_rd;
15
charpos;
16
17
// Posistion Servo Rotor
18
voidposition(){
19
chari;
20
SERVO=1;
21
// create ON-time delay in 10ths of a ms, delay in for-loop, hence less than 100ms
22
for(i=0;i<=pos;i++)Delay_us(85);
23
SERVO=0;
24
Delay_ms(12);
25
}
26
27
// Write outputs
28
voidaction(){
29
// simple error check
30
if((uart_rd&0b00000011)>0){// faulty byte received, since last two bits aren't used
Alex B. schrieb:> ich würde gerne für das Jahresprojekt in unserer Schule einen> ATtiny2313 Programmieren> jetzt weiß ich aber nicht welche Programmiersprache die Firmware hat,> die ich verändern muss und mit welchen Programm ich sie verändere
Hoffentlich hast du dafür auch ein ganzes Jahr Zeit. Denn da wirst du
dir schon noch ein paar Grundlagen erarbeiten müssen.
Oliver
Alex B. schrieb:> Kann man das auch mit MicroC von Mikroelektronika machen?> oder ist der das AVR Studio + Winavr besser geeignet?#
Das Originalprojekt wurde nicht mit dem WinAvr gemacht.
Möglich das das mit besagtem MicroC gemacht wurde
Aber im Grunde spielt es kaum eine Rolle.
Das Urprojekt ist .... schwach programmiert. Das auf die paar WinAvr
Unterschiede anzupassen ist eine Sache auf ein paar Minuten. Ich kann
nur in deinem Interesse hoffen, dass die UART Funktionen besser sind.
> was ist eure meinung?
Bei deinem Vorwissen solltest du dir ein anderes Projekt suchen.
Und ich meine das keineswegs ironisch oder sonst irgendwie abwertend.
>Karl heinz Buchegger schrieb im Beitrag #1958498:> Bei deinem Vorwissen solltest du dir ein anderes Projekt suchen.> Und ich meine das keineswegs ironisch oder sonst irgendwie abwertend.
hmm habe schon etwas Vorwissen im Programmieren da ich an einer
Facoberschule für Informaionstechniker bin.
Das Projekt geht ja über ein Jahr.
In diesem Jahr wird uns nebenbei das Basiswissen
zur µC-Programmierung beigebracht.
Das Projekt ist dafür da, dass wir uns eine neue Programmiersprache
selbstständig aneignen und diese auf ein Projekt anwenden sollen.
Natürlich hilft uns unserer Lehrer, wenn wir gar nicht mehr klar kommen
aber ich wollte erst mal versuchen ob ich es irgendwie selber hinbekomme
:>
bzw mit der Hilfe aus diesem Forum.
Alex B. schrieb:>>Karl heinz Buchegger schrieb im Beitrag #1958498:>> Bei deinem Vorwissen solltest du dir ein anderes Projekt suchen.>> Und ich meine das keineswegs ironisch oder sonst irgendwie abwertend.>> hmm habe schon etwas Vorwissen im Programmieren da ich an einer> Facoberschule für Informaionstechniker bin.
Dann solltest du aber besser die Programmiersprache in der du
programmieren willst schon mal wenigstens erkennen, wenn du ein darin
geschriebenes Programm siehst. Ansonsten sehe ich nämlich schwarz..
normaleweise sollte man beim Lernen einer neuen Sprache bei 0 anfangen
und nicht ein vorhanden projekt umschreiben. Denn sonst lernt man sehr
schnell dinge die falsch sind oder ungünstig.
> Dann solltest du aber besser die Programmiersprache in der du> programmieren willst schon mal wenigstens erkennen, wenn du ein darin> geschriebenes Programm siehst. Ansonsten sehe ich nämlich schwarz.
habe noch nie mit C programmiert :\
Karl heinz Buchegger schrieb:> Alex B. schrieb:>>>Karl heinz Buchegger schrieb im Beitrag #1958498:>>> Bei deinem Vorwissen solltest du dir ein anderes Projekt suchen.>>> Und ich meine das keineswegs ironisch oder sonst irgendwie abwertend.>>>> hmm habe schon etwas Vorwissen im Programmieren da ich an einer>> Facoberschule für Informaionstechniker bin.>> Dann solltest du aber besser die Programmiersprache in der du> programmieren willst schon mal wenigstens erkennen, wenn du ein darin> geschriebenes Programm siehst. Ansonsten sehe ich nämlich schwarz.
Das bedeutet nämlich, dass du in C bei Adam und Eva anfangen musst. Und
dann ist 1 Jahr plötzlich gar nicht mehr soviel Zeit.
Denn den Unsinn den dein Vorprogrammierer angestellt hat, musst du ja
auch noch ausbügeln. Und da sollte man dann schon ein wenig firm in der
Sprache sein, in der man arbeitet. Die Sprache darf einem dann nicht
mehr in die Quere kommen, wenn es darum geht falsche Ansätze/Algorithmen
zu bereinigen
Peter schrieb:> normaleweise sollte man beim Lernen einer neuen Sprache bei 0 anfangen> und nicht ein vorhanden projekt umschreiben. Denn sonst lernt man sehr> schnell dinge die falsch sind oder ungünstig.
das würde sehr warscheinlich zu viel Zeit in Anspruch nehmen.
Da wir nur noch 3 Wochen Zeit haben das größte Problem unseres Projektes
gelöst zu haben
Alex B. schrieb:> Peter schrieb:>> normaleweise sollte man beim Lernen einer neuen Sprache bei 0 anfangen>> und nicht ein vorhanden projekt umschreiben. Denn sonst lernt man sehr>> schnell dinge die falsch sind oder ungünstig.>> das würde sehr warscheinlich zu viel Zeit in Anspruch nehmen.> Da wir nur noch 3 Wochen Zeit
?
Vorhin wars noch 1 Jahr
Alex B. schrieb:> das würde sehr warscheinlich zu viel Zeit in Anspruch nehmen.> Da wir nur noch 3 Wochen Zeit haben das größte Problem unseres Projektes> gelöst zu haben
dann bist du hier aber falsch
> da ich an einer Facoberschule für Informaionstechniker bin
etwas vorhanden umschreiben ohne zu wissen was man macht, hat viel mehr
mit trial and error als mit lernen zu tun.
Jetzt ohne Scheiss und ohne irgendwelche Hintergedanken.
Alex, das ist ein Himmelfahrtskommando.
Das wär selbst für mich ein Himelfahrtskommando (wenn ich noch nicht C
könnte) und ich hab schon in mehr Programmiersprachen industriell
programmiert als du wahrscheinlich in deiner ganzen schulischen Laufbahn
noch lernen wirst.
In 3 Wochen ist das nicht zu machen. Selbst wenn du gute C-Kentnisse
hättest und nur noch den µC spezifischen Teil lernen musst, sind 3
Wochen extrem knapp, denn in deiner Vorlage stimmt softwaretechnisch
gesehen so gut wie gar nichts. Das ist kein tragfähiger Unterbau auf dem
man weiter aufsetzen könnte.
Jedes Teilgebiet für sich, sei es jetzt Servoansteuerung oder generelle
Strategie der Kommandoübertragung und Auswertung oder
Programmorganisation ist nicht so schlimm. Aber es dauert seine Zeit das
alles zu lernen.
Und da habe ich die Zeit für C-Grundlagen noch gar nicht eingerechnet.
Wenns gar nicht anders geht, dann musst du in diesen sauren Apfel
beissen. Aber mach dich auf viele Nachtschichten gefasst. Wenn irgendwie
möglich, sieh zu dass du dieses Projekt wieder los wirst. Am besten wäre
es, wenn du ein neues Projekt starten könntest. Dann hast du keine
Altlasten, die du erst mal entweder mitschleppen oder bereinigen musst.
Ach und ja: Dein erster Weg muss dich in eine Buchhandlung führen, ob du
willst oder nicht. Dort suchst du dir ein C-Buch aus, das dir im Stil
zusagt und arbeitest das erste Drittel mit einem C-Compiler auf dem PC
durch. Damit hast du erst mal die C-Grundlagen. Da du Vorwissen hast,
wird das relativ schnell gehen. Aber ohne gehts nicht. Die paar
Nachmittage und Abende, die du dir da um die Ohren haust, kriegst du
danach in Zeit gemessen 10-fach wieder rein, weil den eigentliches
Projekt dann entsprechend flüssiger von der Hand geht.
Die Idee: Ach ich les mit einfach ds vorhandene Programm durch und was
ich nicht weiß, such ich mir mit Google zusammen.
Tja. Als Idee ganz nett. Nur funktionierts nicht. C steckt voller
kleiner Fallen und Stolpersteine.
ich muss den programmcode ja nur in der hinsicht verändern, dass ich
eine servoansteuerung kopiere (da wir 2 servos anstatt im
Ausgangprogramm nur 1 servo haben)
dann muss ich noch 2 led ansteuerungen löschen mehr müsste ja nicht
gemacht werden