Meine zweite Bascom Übung

Status
Für weitere Antworten geschlossen.
Es läuft sauber in Sekundentakt runter..ohne Pause---geflasht in Atmega

Code:
   $regfile = "m8def.dat"
   $crystal = 16000000
   $hwstack = 100
   $swstack = 100
   $framesize = 100
   Dim Sekunde As Byte                                      'Uhrzeit - Sekunde
   Dim Minute As Byte                                       'Uhrzeit Minute
   Dim Stunde As Byte                                       'Uhrzeit Stunde
   Dim Lcd_sekunde As String * 2                            'Ausgabe Sekunden
   Dim Lcd_minute As String * 2                             'Ausgabe Minuten
   Dim Lcd_stunde As String * 2                             'Ausgabe Sekunden



   Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , _
      Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5
   Config Lcd = 16 * 2
   Cls
   Cursor Off

   '-----------------------------------------------


   '-----------------------------------------------

   Config Timer1 = Timer , Prescale = 256
   On Timer1 Timer_isr
   Enable Timer1
   Timer1 = 3036
   Enable Interrupts



Do


Lcd_stunde = Str(stunde)
Lcd_stunde = Format(lcd_stunde , "00")
'----------------------------------
Lcd_minute = Str(minute)
Lcd_minute = Format(lcd_minute , "00")
'------------------------------------
Lcd_sekunde = Str(sekunde)
Lcd_sekunde = Format(lcd_sekunde , "00")


Anzeige:
Locate 2 , 13
Lcd Lcd_sekunde
Locate 2 , 11
Lcd ":"
Locate 2 , 8
Lcd Lcd_minute
Locate 2 , 6
Lcd ":"
Locate 2 , 3
Lcd Lcd_stunde
Locate 1 , 1
Lcd "   Timer  "
Waitms 5


If Sekunde > 0 Then
      Sekunde = Sekunde - 1
         Else
            Sekunde = 59

If Minute > 0 Then
      Minute = Minute - 1
         Else
            Minute = 59
            If Stunde > 23 Then
            Stunde = Stunde - 1
               Stunde = 00
            End If
        End If
 End If

Waitms 1000


Loop


Timer_isr:
Incr Sekunde
Timer1 = 3036
Stop Timer1
Return
 
Es läuft sauber in Sekundentakt runter..ohne Pause---geflasht in Atmega

Code:
[COLOR="Red"]Do[/COLOR]

If Sekunde > 0 Then
      Sekunde = Sekunde - 1
         Else
            Sekunde = 59

If Minute > 0 Then
      Minute = Minute - 1
         Else
            Minute = 59
            If Stunde > 23 Then
            Stunde = Stunde - 1
               Stunde = 00
            End If
        End If
 End If

[B][COLOR="Red"]Waitms 1000[/COLOR][/B]


[COLOR="Red"]Loop[/COLOR]


[COLOR="Red"]Timer_isr:[/COLOR]
[B][COLOR="Red"]Incr Sekunde[/COLOR][/B]
Timer1 = 3036
Stop Timer1
Return


Hi !

Na, dann ist doch alles bestens! :)

Wenn deine "Sekunden" im Sekundentakt runter gezählt werden, dann hat der Timer doch gestoppt!
Wo ist das Problem? :hmmmm:

In deiner Hauptschleife machst du doch eine Pause von einer Sekunde (Waitms 1000)!
Laut den IF-Then Anweisungen sollen dann die Sekunden von 59 bis 0 runter gezählt werden.

Wenn der Timer1 noch laufen würde, dann würde die Sub "Timer_isr" die Sekunden ja gleich wieder um 1 hochzählen (Incr Sekunde).

Ergo: Dein Timer1 steht! Was willst du mehr?

Gruß,
Cassio


PS: Nein, ich schreibe jetzt nicht, lern die Grundlagen! :D
 
Naja habe gedacht, wenn de Timer stoppt dann wird die Zählerei auch unterbrochen..aber war ja mal wieder falsch...ein Glück..

Ich werde es anders lösen, taster - Flag - Zählen in Sub...oder sowas...

aber bitte folgendes sparen ( nervt ) ansonsten habe ich gesagt, Ihr müsst sagen, dann bin ich weg..

PS: Nein, ich schreibe jetzt nicht, lern die Grundlagen!

PS: Was mache ich denn mit der Übungen ? Zeitvertreiben...
 
Naja habe gedacht, wenn de Timer stoppt dann wird die Zählerei auch unterbrochen..

Hallo!

Nun ja.... die Zählerei wird ja auch unterbrochen!
Allerdings bleibt deswegen deine Do-Loop Schleife nicht stehen!



PS: Was mache ich denn mit der Übungen ? Zeitvertreiben...

Was für Übungen? :hmmmm:
Irgendwo in der "Mitte" anfangen sind doch keine Übungen!



aber bitte folgendes sparen ( nervt ) ansonsten habe ich gesagt, Ihr müsst sagen, dann bin ich weg..

Kann ich mir vorstellen, dass es nervt!
Das soll es ja auch! Damit du endlich merkst, dass es so keinen Sinn macht und du nichts lernst!


Sieh es doch mal so.....
Wenn jemand wirklich schreiben lernen will bringt es ihm auch nichts, wenn er versucht sich nur einzelne Wörter zu merken. :rolleyes:

Gruß,
Cassio
 
So hiermit verabschiede mich vom Forum.

Gründe :

habe zwar nützlichen Tipps bekommen aber diese Belehrungen gehen echt auf dem Keks !!!!

Habe schon gesagt, dass ich keine fertige Codes haben wollte, sondern tipps wie ich mein vorhaben ( auf meine Art und Weise ) umsetzen kann.

Ich komme auch zum Ziel ohne dass ich Taster led ein und aus machen MUSS

Bin von einer Seite froh über die Tipps und Ratschläge aber von der anderer Seite echt enttäuscht, ich bin doch keiner 14 jährige mehr...

Tja wenn ich sehe mit welche Fragen in den anderen Foren die Leute teilweise kommen, dann bekommen sie mehr Tipps wie man Led ein und ausschaltet ...als rumnerven mit Antworten die garnicht zu Frage passen.

Einestages werde ich evtl soweit sein, aber ich klar alle habt mal angefangen und musst wissen, mindestens ich, daß ich schon Zeit mit dem Problem verbracht habe bevor ich es gepostet habe !!!!
 
Hallo zusammen,

jetzt sitz ich hier und kann nicht anders (oder so) ...
jeztzt geb ich auch mal meinen Senf dazu.

Ich hab mir das "Elend" ja nun auch schon ein paar Tage mit angesehen. Immer
wieder Problemchen im Programm und es hakt an allen Ecken und Enden und
geht nicht so richtig weiter. Dein erstes Uhrenprogramm hast du ja soweit in
folgendem Status verlassen :
"Es funktioniert zwar noch nicht so richtig wie ich wollte aber es ist im Moment
gut genug. War ja auch nur ne Übung"

Danach fängst du dann auch gleich wieder ein "großes" Projekt an ...
Nun nach dem einiges gelernt habe..( Angeber..ich weiss ) habe folgendes für mich als Übung ausgedacht. Ein Timer..Klar ähnlich wie die Uhr.
und rennst natürlich (wie hätte es auch anders sein können) sofort wieder
vor die Wand ...
Nun habe ich gedacht wenn ich anstatt incr decr verwende müsste das ganze einfach rückwärts laufen..dachte ich..falsch...

Beim starten passiert folgendes :
00:00:00 dann 00:00:255

woher kommt plötzlich die 255 wobei an der Formattierung nichts geändert wurde ????????????:confused: :confused:
Dazu würde ich mal sagen ... Grundlagen der Digitaltechnik!
Dafür muß man noch nicht mal was über Mikrocontroller wissen. Dafür reichen
bereits digitale Schaltungen (Zähler).

Aber du hast dich ja anders entschieden ...
Na gut...wenn ihr die Meinung seid, daß ich eine LED ein und ausschalten muss, dann ist es OK...
Zusätzlich hört sich der Satz auch noch ein wenig "trotzig" an. Wie bei einem
kleinen Kind das sich beschwert weil man ihm nur einen kleinen Keks geben
will und es aber doch einen großen Keks haben wollte.
Grundlagen sind dir ja anscheinend zu "langweilig" auch wenn Cassio dir das
schon ein paar mal gesagt hat ...
Ich dachte wir hätten beschlossen, dass du erst einmal die Grundlagen lernst.....
und dich erst danach wieder an KLEINE Aufgaben wagst. :hmmmm:

Warum du nicht verstehst, dass "Decr 0" = 255 ergibt liegt einfach nur daran, das dir immer noch die Grundlagen fehlen!!!
Du versuchst immer wieder das Gebäude vom Dach an zu bauen und
wunderst dich das du dein Dach am Boden wiederfindest weil die Pfeiler
noch fehlen. So wird das nichts. Tut mir leid aber das ist einfach so.

Mit der Wiederverwendung von Codestücken ist das auch so eine Sache ...
Mir fehlt die Zeit alles komplett neu einzutippen die ich schon weiss...

Unsere Professionelle Programierer benutzen auch schon fertige "Module" an passen es an und tippen nicht jedesmal ein
da ist ja nichts gegen einzuwenden. Aber wie Cassio schon sagt ...
Das mit dem Zurückgreifen auf fertige Module verstehe ich schon und ist auch völlig OK!
Dafür müssen die "Module" dann auch aber wirklich fehlerfrei und "modular" programmiert sein.
wir erinnern uns nochmal kurz ... dein erstes Programm aus dem du dich
bedienst ist im Status "gut genug" und nicht im Staus "fehlerfrei"! Also
baust du dir deine Fehler vom ersten Programm in das zweite wieder ein
und wunderst dich das das auch nicht so richtig funktioniert.

Zu folgendem Beitrag ...
ich beobachte dich schon eine geraume Zeit. Also, so kommst du nicht wirklich weiter. (und ein Forum hast du scheinbar ja schon hinter dir;) )
Nimm es mir nicht übel, aber mir scheint, jeder entscheidende Schritt in deinem :pleasantry: Projekt :pleasantry: ist irgendwie das Werk eines Dritten.

Darum ein wirklich, wirklich gut gemeinter Rat von mir:
Fang mit Leds an.
kann ich nur sagen ... das ist auch meine Meinung. Löse dich von deinem
ganzen Uhrengedöns und spiel mal mit allen möglichen "kleinen" Sachen
beim Mikrocontroller. Dann gibt es genug Aha-Effekte die man später in
größeren Programmen unterbringen kann.

Und bei folgendem Satz von dir ...
Es wird irgendwannmal ein Projekt geben wie vom Cassio ....
glaube ich eher ... Von anderen Leuten zusammenkopiert und verschlimmbessert
ganz eventuell. Aber wenn du so weitermachst wirst du nie ein eigenes
größeres Projekt (ne Uhr mit Weckfunktion, was auch immer) selber
zusammenprogrammieren (und wenn es auch mit Hilfe im Forum ist).

Dir fehlen immer noch absolut wichtige Grundlagen um überhaupt zu verstehen
warum da etwas so und so geschieht wenn du bestimmte Befehle einbaust.
Du strickst im Moment noch total blind einfach so in der gegend rum. Deine
Programmierkünste erinnern im Moment eher an ein Roulette-Spiel als an eine
logische Vorgehensweise.

Ich weiß nicht ob ich jetzt als Buh-Man dastehe ... ist mir aber glaube ich
auch egal. Das mußte jetzt einfach raus.

So ... und wenn du hier bleibst um weiter Hilfe zu bekommen dann ist das gut
und wir helfen gerne weiter und wenn du jetzt genug von uns hast und lieber
in einem anderen Forum weitermachen willst dann ist das auch gut. Mir solls
egal sein.

Gruß
Dino
 
Hallo !

Es ist deine freie Entscheidung! :cool:

Wir würden dir ja gerne helfen, damit du das Programmieren lernst.....
aber du möchtest ja mit deinen gesammelten Codestücken gleich Raketen zum Mond schießen.
Bitte schön, da hindern wir dich auch nicht dran, aber helfen wird dir dabei auch keiner!

Wie Dino schon schrieb....
Du beginnst das Haus vom Dach an zu bauen!

Tja und wenn du dich nun auf diese Weise aus dem Forum verabschiedest, dann habe ich wohl mal wieder nur leere Versprechungen bekommen......
Ich gehe zumindest nicht davon aus, dass ich nun mein Makrolongehäuse oder die "all you can eat" Pizza noch bekomme. ;)

Ist auch nicht schlimm!
Ich mache das hier ja schließlich sowieso nur aus Spaß und nicht, weil ich dafür vielleicht mal ein Dankeschön bekommen könnte.

Wünsche dir jedenfalls viel Erfolg beim Programmieren.... auf deine Art und Weise!

Gute Reise...
Cassio



EDIT:
Ach so...
Hier noch mal das vollständige Zitat:
Kann ich mir vorstellen, dass es nervt!
Das soll es ja auch! Damit du endlich merkst, dass es so keinen Sinn macht und du nichts lernst!

Ich mag diese "Bildzeitungsmasche" überhaupt nicht wenn man ein Zitat abschneidet, um den Sinn zu verfälschen!

:cool:
 
Am Anfang war ich gerne hier aber wenn es nur generve wird, macht es auch keinen Spass mehr und nochmal bedanke mich für die Beiträge die mir nützliche Tipps oder Erklärungen gemacht haben
 
Hi
Laßt ihn ziehen. Wer nicht zwischen blödsinnigen Belehrungen und nützliche Tipps unterscheiden kann und sich mit einem derart vertieften Wissen mit einer ganzen Forengemeinde anlegen will, laßt ihn ziehen. :lollypop: Er war sowieso nicht ehrlich, das ist meine feste Überzeugung. An manchen Stellen hatte ich schon arge Probleme, ihn als einen erfahrenen Kundenberater zu sehen, eher so 9-11. Klasse....
Egal, es ist doch immer wieder mal interessant. auch diese Art der Mitmenschen kennenzulernen. Na ja, ein Bier dürfte ich allerdings nicht mit ihm trinken... (wg. der 18 Jahre....)
Viel Spaß noch in anderen Foren, da du ja so belesen bist. Ach ja, nicht am Namen, an der Art wirst du wiedererkannt. :)
Nun nehmt den Abschied mal nicht so schwer, :bawling: es kommen auch wirklich Interessierte ins Forum, wo es dann auch wieder Spaß macht.:victory:
Gruß oldmax
 
Hallo alle zusammen,

ich glaube es hat jetzt jeder soweit seine Meinung kundgetan und damit soll
es auch gut sein. Sehen wir also was die Zukunft bringt.

Lassen wir es also nicht soweit kommen das hier noch Flames und gegenseitige
Beschuldigungen oder anderes Rumgemotze anfangen.

Was es mal wieder zeigt ist wohl das es ohne Grundlagen nicht geht.
Egal wie alt man ist ... wenn man mit was neuem anfängt sollte man langsam
anfangen. Man sollte nicht nur erkennen was man bereits weiß sondern auch
was man noch nicht weiß.

Ich habe auf der Arbeit schon oft genug Schulungen gegeben. Da waren bunt
gemischt Azubis aber auch Kollegen die kurz vor der Rente standen dabei.

Meine Einstellung :

Ich hab keine Probleme damit wenn jemand sagt das er etwas noch nicht
kann, versteht oder weiß. Dann kann man es erklären und gut ist.
Ich hab allerdings auch schon Schulungsleiter "bildlich gesehen" gegen die
Wand rennen lassen die meinten das sie super was draufhaben und mit ihren
Zertifikaten rumgeprahlt haben. Wenn man sagt das man was drauf hat dann
sollte man es auch beherschen. Es ist keine Schande mal Wissenslücken
zuzugeben. Man kann nicht alles wissen und jeder hat mal irgendwann bei
irgendwas klein angefangen.

Das war es jetz aber auch. Nun soll es auch gut sein. Ende ...
Ich hab mal wieder viel zu viel geschrieben :rolleyes:

Gruß
Dino
 
Hallo !

Ja, ich würde es auch nicht gut finden, wenn sich das nun ins Negative wandelt!

Es wurde wohl nun alles gesagt bzw. geschrieben und die Sichtweisen beider "Lager" ausgiebig dargestellt!

Gelernt haben wir wohl alles etwas daraus.... ob wir wollten, oder nicht. ;)


Aus dem Grunde möchte ich hier nun das Thema schließen!


Grüße,
Cassio
 
Status
Für weitere Antworten geschlossen.

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)