Página 1 de 1

Ajuda para entender detalhes do C30.

MensagemEnviado: 23 Mai 2010 12:19
por ivan braga
Boa tarde a todos.
Atualmente, estou tentando me adaptar ao C30, pois fui convidado por um amigo para participar de um projeto, porem como a maioria aqui do fórum apenas utilizo CCS e MikroC.
Este é meu primeiro contato com DSPIC, e como utilizaremos o C30 estou meio perdido com algumas declarações que tenho encontrado, principalmente algumas dentro de STRUCTS.
Segue um exemplo abaixo.

Código: Selecionar todos
extern volatile unsigned int  PWM2CON1 __attribute__((__sfr__));
typedef struct tagPWM2CON1BITS {
  unsigned PEN1L:1;
  unsigned :3;
  unsigned PEN1H:1;
  unsigned :3;
  unsigned PMOD1:1;
} PWM2CON1BITS;
extern volatile PWM2CON1BITS PWM2CON1bits __attribute__((__sfr__));


Neste trecho acima pertencente ao handler do dsPIC33FJ32MC204.h, temos todas as variáveis dentro da estrutura seguidas por “:” e algum valor. Ex “unsigned PEN1L:1;” e tambem temos “unsigned :3;”.
Será que alguém poderia explicar o por que disto, seria uma inicialização das variáveis? Se for nunca tinha visto isso desta forma.

Ainda dentro do contexto DSPIC, qual a opinião de vocês sobro CCS e Mikoc para DSPIC?

Desde já agradeço.

MensagemEnviado: 23 Mai 2010 13:22
por Sergio38br
Esta estrutura apenas demonstra os bit e os seus nomes dentro do registrador PWM2CON1, veja no dataxit a estrutura deste registrador.

uma forma de vc acessar os bits deste registrador seria : ex.

PWM2CON1bits.PMOD1 = 1;


[ ]'s
Sergio

MensagemEnviado: 23 Mai 2010 13:30
por ivan braga
Obrigado pelo retorno Sergio.

Sim, sei que se refere aos bits deste registrador, essa parte eu entendo, minha duvida é se o ":1" seria o mesmo que "=1", pois nunca vi uma estrutura sendo inicializada desta forma.

E quanto ao “unsigned :3;”, nesta estou perdido, não sei como interpretar isso.

MensagemEnviado: 26 Mai 2010 09:46
por ze
mudança de estratégia. enviei-lhe mp. de nada.