February 25, 2013 at 12:09 PMFeb 25, 2013 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...
February 25, 2013 at 12:12 PMFeb 25, 2013 Ups. Das wurde bestimmt von der IO-4 Dokumentation kopiert und nicht korrekt angepasst . 8 Bit ist korrekt.
February 26, 2013 at 04:45 PMFeb 26, 2013 Author 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.
February 26, 2013 at 06:20 PMFeb 26, 2013 *kopfkratz* Sieht korrekt aus. Muss ich mir morgen früh angucken, vielleicht ist da wirklich ein Bug in der Firmware.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.