volatile uint8_t reset_mask[768] = {0}
Jetzt setze ich die Werte dieser Array-Elemente während einer der internen Operationen auf 1.Wie setze ich flüchtiges Array mit Memset auf Null?
In einem anderen Funktionsaufruf, ich brauche auf 0. Eine Möglichkeit, alle Elemente dieses Arrays zu setzen, ist von for-Schleife, aber ich glaube bessere Weise alle Elemente des Arrays zuordnen, indem Memset
memset(reset_mask, 0, sizeof(reset_mask));
verwendet, ist
aber ich diesen Fehler: -
Falls "von Typ umwandeln 'volatile uint8_t * {aka volatile unsigned char *}' 'void *' Qualifier wirft weg zu geben" memset wir können hier nicht verwendet werden, ist Gibt es eine bessere Möglichkeit, alle Elemente dieses flüchtigen Arrays auf einmal zu setzen?
'std :: füllen (std :: begin (reset_mask), std :: end (reset_mask), 0);' funktioniert. –
@ R.MartinhoFernandes Das sollte eine Antwort sein (da es wirklich die einzig richtige Antwort ist). In C müsste er natürlich seine eigene Schleife benutzen. –
Wofür verwenden Sie das flüchtige Array? Möglicherweise müssen Sie einige/alle Interrupts deaktivieren? –