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 to comment
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 to comment
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...