× MSP430, Microcontrollori 16 bit Ultra Low Power

Struct e bits

12 Anni 6 Mesi fa #1 da borelg
Struct e bits è stato creato da borelg
Ciao :)
ho provato ad usare code composer studio, ma ho notato alcune differenze con MPLab per quanto riguarda le struct:

typedef union
{
struct
{
unsigned LCD_E :1;
unsigned LCD_RS :1;
unsigned LCD_RW :1;
unsigned LCD_D4 :1;
unsigned LCD_D5 :1;
unsigned LCD_D6 :1;
unsigned LCD_D7 :1;
}bit;

struct
{
unsigned Control:3;
unsigned Data:4;
}sep;

} LCD_REG;

Prendendo ad esempio questa struttura, il compilatore mi da errore su
unsigned LCD_E :1;
unsigned LCD_RS :1;
unsigned LCD_RW :1;
come mai?
Ed inoltre ho docuto mettere un nome ad ogni sottostruttura dell'unione, c'è un modo per evitarlo?
Grazie :)

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • borelg
  • Avatar di borelg
  • Elite Member
  • Elite Member
Di più
12 Anni 6 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Struct e bits
...hai fatto una domanda da un milione di Euro! :)

Feci la stessa domanda ad un collega del team MSP430 e mi disse che era per ragioni di efficienza! :)
...ma ovviamente non e' una risposta valida al 100%! :)
Un compilatore sveglio pruo' ovviarea questo.
...anche se il bit masking e' in generale piu' efficiente.

IAR supporta le strutture come quelle della Microchip mentre Code Composer Studio no.

In questo topic del forum e2e se ne parla in qualche dettaglio.

Purtroppo questa definizione delle strutture non e standard.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 6 Mesi fa #3 da borelg
Risposta da borelg al topic Re: Struct e bits
Ho provato anche con IAR e le union di strutture me le accetta anche se dare un nome ad ognuna di esse, ma l'errore sui bit rimane :(
Comunque secondo me devo aver fatto un errore nel codice ad usare quei 3 bit perchè me li da solo su quei 3. Sugli altri non mi da errore, anche se commento quei 3.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • borelg
  • Avatar di borelg
  • Elite Member
  • Elite Member
Di più
12 Anni 6 Mesi fa #4 da borelg
Risposta da borelg al topic Re: Struct e bits
Allora confermo con IAR si riescono ad usare le strutture senza dover dare un nome ad ogni membro.
Il compilatore non da errore neanche sui bit fields.
Però non riesco a programmare la Launchpad... qualcuno sa come si fa dall' IDE di IAR?
Grazie :)

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • borelg
  • Avatar di borelg
  • Elite Member
  • Elite Member
Di più
12 Anni 6 Mesi fa - 12 Anni 6 Mesi fa #5 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Struct e bits
Ciao,

come ti avevo detto IAR ha gia' le strutture definite di suo, per cui non devi crearle.
Unico inconveniente di IAR e' che puoi fare programmi fino a 4KB o senza limiti ma solo per 30 giorni.
CCS e IAR stanno diventando sempre piu' compatibili. Se guardi gli header file di CCS trovi diverse definizioni fatte ad hoc per IAR.

Per compilare e programmare accertati che:

1) Hai la versione IAR per MSP430
2) Sulla sinistra del progetto clicca su opzioni, seleziona il dispositivo e il programmatore (FET programmer)
3) Per compilare lo fai dalla toolbar con il play (Compila e Debug) ma puoi anche solo compilare

Se il dispositivo e programmatore non sono impostati ti vengono segnalati diversi errori.

Personalmente non ho usato IAR con il LaunchPad ma solo con il FET programmer e le target board per MSP430.

Saluti,

Mauro
Ultima Modifica 12 Anni 6 Mesi fa da Mauro Laurenti.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login