1dave1
December 2, 2024, 7:56pm
1
Buongiorno ho utilizzato questo codice ma non riesco a capire dove sia l'errore qualcuno mi può aiutare ?
#include <MD_MAX72xx.h>
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 1
#define CLK_PIN 13 // or SCK
#define DATA_PIN 11 // or MOSI
#define CS_PIN 10 // or SS
#define DELAYTIME 100 // in milliseconds
MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
void rows() {
mx.clear();
for (uint8_t row=0; row<ROW_SIZE; row++) {
mx.setRow(row, 0xff);
delay(2*DELAYTIME);
mx.setRow(row, 0x00);
}
}
void intensity() {
uint8_t row;
mx.clear();
for (int8_t i=0; i<=MAX_INTENSITY; i++) {
mx.control(MD_MAX72XX::INTENSITY, i);
mx.setRow(0, 0xff);
delay(DELAYTIME*10);
}
mx.control(MD_MAX72XX::INTENSITY, 8);
}
void transformation() {
uint8_t arrow[COL_SIZE] = {
{
0b11111111,
0b10000001,
0b10010101,
0b10000001,
0b10100101,
0b10011001,
0b10000001,
0b10000001
}
};
e questo è il messaggio d'errore
exit status 1
braces around scalar initializer for type 'uint8_t {aka unsigned char}'
ciao...
questo:
void transformation() {
uint8_t arrow[COL_SIZE] = {
{
0b11111111,
0b10000001,
0b10010101,
0b10000001,
0b10100101,
0b10011001,
0b10000001,
0b10000001
}
};
non va bene...
manca una graffa di chiusura funzione dopo il punto e virgola ma soprattutto devi rimuovere le graffe che contengono i binari.
Aggiungerei anche "a che serve visto che c'è solo una dichiarazione di un array e nessuna istruzione?"
Datman
December 3, 2024, 7:27am
4
...e bisogna indentare correttamente, senza lasciare righe vuote inutili e indesiderate.
docdoc
December 3, 2024, 8:34am
5
No, in realtà se noti è un codice incompleto, visto che mancano setup() e loop(), quindi la graffa di chiusura l'avrà messa magari dopo.
L'errore dice che c'è una graffa di troppo per l'array ("braces around scalar initializer") per il quale, essendo monodimensionale, ne basta una. Deve essere così:
void transformation() {
uint8_t arrow[COL_SIZE] = {
0b11111111,
0b10000001,
0b10010101,
0b10000001,
0b10100101,
0b10011001,
0b10000001,
0b10000001
};
... e qui prosegue il resto, immagino/spero...