- 12V Akku mit 280 Ah bauen         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Hilfe: Programm übersetzen C -> BasCom [ Oszi Uhr ]

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    08.02.2007
    Alter
    45
    Beiträge
    40
    Anzeige

    Praxistest und DIY Projekte
    @SprinterSB: Sehr schönes interesantes Projekt - Da bin ich ja mal gespannt wenn du es richtig fertig hast !!


    @

    Was versteht man in C unter:

    Code:
    if (line[dIdx] & 1)
    das '&' bedeutet doch eine bitweise Und-Verknüpfung.
    aber was prüft dieser Ausdruck? Und wie würde man das in Bascom umsetzen?

    Danke
    Gruß MaXX

  2. #12
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    IF Line( didx ).0 = 1 THEN
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    08.02.2007
    Alter
    45
    Beiträge
    40
    Danke,

    und
    Code:
    if (line[dIdx] & 2)
    ...
    if (line[dIdx] & 4)
    ...
    übersetze ich dann mit:
    Code:
    IF Line( didx ).0 = 2 THEN
    ...
    IF Line( didx ).0 = 4 THEN
    ...
    ???

  4. #14
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    haaaaaaalt:
    Code:
    1 =>     b00000001 =>  BitNr  0 
    2 =>     b00000010 =>  BitNr  1 
    4 =>     b00000100 =>  BitNr  2 
    8 =>     b00001000 =>  BitNr  3 
    16 =>   b00010000 =>  BitNr  4 
    32 =>   b00100000 =>  BitNr  5 
    64 =>   b01000000 =>  BitNr  6 
    128 => b10000000 =>  BitNr  7 
    
    Also->
    If (line [idx] & 1 )    =>  IF Line ( idx ).0 = 1 THEN 
    If (line [idx] & 2 )    =>  IF Line ( idx ).1 = 1 THEN 
    If (line [idx] & 4 )    =>  IF Line ( idx ).2 = 1 THEN 
    If (line [idx] & 8 )    =>  IF Line ( idx ).3 = 1 THEN 
    If (line [idx] & 16 )    =>  IF Line ( idx ).4 = 1 THEN 
    If (line [idx] & 32 )    =>  IF Line ( idx ).5 = 1 THEN 
    If (line [idx] & 64 )    =>  IF Line ( idx ).6 = 1 THEN 
    If (line [idx] & 128 )    =>  IF Line ( idx ).7 = 1 THEN
    Wenn du dich jetzt auskennst, bist du eh gut drauf
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    08.02.2007
    Alter
    45
    Beiträge
    40
    Der Hammer

    Ich DANKE Dir!

    Gruß MaXX

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    08.02.2007
    Alter
    45
    Beiträge
    40
    Code:
    display[0] = (hh > 9) ? hh / 10 : 10;
    was mache ich hier in BasCom? ...C ist wirklich sehr abstrakt!

  7. #17
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502
    Das ist eine if Abfrage

    if (hh>9) display[0] = hh/10;
    else display[0] = 10;


    wie du das in Bascom machst hab ich keine Ahnung
    sast

    雅思特史特芬
    开发及研究

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    08.02.2007
    Alter
    45
    Beiträge
    40
    Zitat Zitat von sast
    Das ist eine if Abfrage

    if (hh>9) display[0] = hh/10;
    else display[0] = 10;


    wie du das in Bascom machst hab ich keine Ahnung
    sast
    Dankeschön!

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    08.02.2007
    Alter
    45
    Beiträge
    40
    So, hier die letzten Fragmente, was passiert hier & wie könnte es in Bascom umgesetzt werden ?


    Code:
    display[5] = ss % 10 ;
    Code:
    mn %= 60 ;
    Code:
     ‘ Clear buffers
    memset(&line, 0, sizeof(line)) ;
    memset(display, 0, sizeof(display)) ;
    Danke
    Gruß MaXX

  10. #20
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502
    eigentlich ist das Programm recht gut kommentiert.

    ss%10 bedeutet, dass ss ganzzahlig durch 10 geteilt wird und der eventuell vorhandene Rest in display[5] geschrieben wird. Ich glaube das heißt modulo.

    das selbe ist bei mn%=60;
    dafür kannst du auch mn=mn%60; schreiben

    memset schreibt wie es ja auch drüber steht in alle Bytes von line bzw display eine "0", um den Speicher zu säubern.

    das ist schon alles

    sast

    雅思特史特芬
    开发及研究

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen