Jump to content

IO16 API - kleine Frage


Recommended Posts

Was ist der Unterschied zwischen

 

io16_set_port(IO16 *io16, char port, uint8_t value_mask)

 

und

 

io16_set_selected_values(IO16 *io16, char port, uint8_t selection_mask, uint8_t value_mask) ?

 

Ist set_port das gleiche wie set_selected mit einer selection mask 0b11111111? Wenn ja, müsste es im Kommentar der header doku anstelle von

 

/* The bitmask is 4 bit long,

 

nicht heissen: *8* bit?

 

<kratzt sich am Kopf>

 

Jedenfalls bei allem was ich herumexperimentiere sieht das so aus...

Link zu diesem Kommentar
Share on other sites

Sorry, wenn ich noch mal auf meine Frage zurückkomme.

 

Ich möchte bei meinem IO16 das pin 7 bank A auf FALSE setzten (eine LED ist angeschlossen, die zeigt, dass es zur zeit High ist).

 

Mit

  char port = 'a';

  uint8_t mask = 0x80;

  uint8_t value = 0x00;

  io16_set_selected_values(&theIO16, port, mask, value);

 

sollte meiner meinung nach pin 7 auf 0 gesetzt werden. Geht aber nicht. werden geräteseitig eventuell doch die oberen 4 bit gelöscht?

 

Mit der älteren proc

 

  char port = 'a';

  uint8_t mask = 0x7f;

  io16_set_port(&theIO16, port, mask);

 

kann ich problemlos das bit löschen. Für mich kein echtes Problem, aber ich habe mir vorhin fast mein letztes Haar deswegen ausgerissen.

 

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...