Hexadezimale Flanke erstellen

  • Ich habe eine Funktion über die ich einen 12bit-DAC (benötigt einen 16bit write command) ansteuere:

    Code
    sendvalue(0x3FFF)

    Dies entspricht dem maximalwert von 4095 (Header 0011 und angehängte 12 bit)

    Jetzt möchte ich aber, dass die Werte von 0x3000 bis 0x3FFF (entspricht 0 bis 4095 inkl. header) nacheinander übergeben werden. Nur wie mache ich das mit Hexadezimalzahlen?
    Im Dezimalsystem würde ich das so machen:

    Code
    for value in range(0,4095):
    	sendvalue(value)
    	time.sleep(1)
  • Spielt das überhaupt eine Rolle? Ich meine, der Interpreter wandelt intern eh alles in Binärcode um. Die builtin Funktionen wie ``hex()``, ``bin()`` geben ja "nur" eine String zurück.

    Also wird dann

    Code
    for value in range(0, 4095):
        print hex(value)
        # sendvalue(hex(value))

    nicht gehen, es sei denn, die Funktion ``sendvalue`` wandelt den Wert um.

    Ob

    Code
    >>> 0x01
    1
    >>> 0b01
    1
    >>> 1
    1
    >>>

    werden vom Interpreter als Integers gehandelt.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!