Moderadores: 51, guest2003, Renie, gpenga
struct
{
unsigned char a;
unsigned char b;
unsigned short c;
} d;
struct
{
unsigned char a;
unsigned short c;
unsigned char b;
} d;
#include <LPC214X.h>
#include <absacc.h>
#define _u unsigned
volatile union{
_u char controle[132];
__packed struct{ //STRT END 0xE0024000
_u char ilr; // Interrupt Location Register
_u char _pad0[3];
_u short ctc; // Clock Tick Counter
_u short _pad1[2];
_u char ccr; // Clock Control Register
_u char _pad2[3];
_u char ciir; // Counter Increment Interrupt Register
_u char _pad3[3];
_u char amr; // Alarm Mask Register
_u char _pad4[3];
_u long ctime0; // Consolidated Time Register 0
_u long ctime1; // Consolidated Time Register 1
_u long ctime2; // Consolidated Time Register 2
_u char sec; // Seconds Register
_u char _pad5[3];
_u char min; // Minutes Register
_u char _pad6[3];
_u char hour; // Hours Register
_u char _pad7[3];
_u char dom; // Day Of Month Register
_u char _pad8[3];
_u char dow; // Day Of Week Register
_u char _pad9[3];
_u short doy; // Day Of Year Register
_u char _pad10[2];
_u char month; // Month Register
_u char _pad11[3];
// 0xE002 403F
_u short year; // Years Register
_u char _pad12[32]; //33 BYTES perdidos
//STRT END 0xE0024060
_u char alsec; // Alarm Seconds Register
_u char _pad13[3];
_u char almin; // Alarm Minutes Register
_u char _pad14[3];
_u char alhour; // Alarm Hours Register
_u char _pad15[3];
_u char aldom; // Alarm Day Of Month Register
_u char _pad16[3];
_u char aldow; // Alarm Day Of Week Register
_u char _pad17[3];
_u short aldoy; // Alarm Day Of Year Register
_u char _pad18[2];
_u char almon; // Alarm Months Register
_u char _pad19[3];
_u short alyear; // Alarm Years Register
_u char _pad20[2];
_u short preint; // Prescale Value Register (integer)
_u char _pad21[2];
_u short prefrac; // Prescale Value Register(fraction)
_u char _pad22[2];//FIM END 0xE0024087
}configs;
}controle __at(0xE0024000);
void acerta_hora(char hora, char minuto, char segundos){
controle.configs.hour = hora;
controle.configs.min = minuto;
controle.configs.sec = segundos;
}
void le_hora(char *hora, char *minuto, char *segundos){
hora = controle.configs.hour;
minuto = controle.configs.min;
segundos = controle.configs.sec;
}
fabim escreveu:Marcus, tu se engonou viu.
char *data;
char a=0;
*data = &a;
data = 10;
agora a = 10;;;
"*" indica endereço; pois o asterisco fala que é o endereço do ponteiro.
data = variavel propriamente dita, o qual o ponteiro dela aponta.
Abraços
char *data; //ponteiro
char a = 0;// variável
data = &a;//ponteiro recebe endereço da variável, ou seja, ambos tem o mesmo endereço
*data = 10;// o valor 10 é inserido no espaço de memória.
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante