Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
#include <stdio.h>
#include <stdlib.h>
union CadenaBits
{
unsigned long long dato; //Variable de 64 bits
unsigned char rec_datos[8]; //Vector de 8 bytes
};
int main()
{
union CadenaBits campo;
unsigned int cont;
campo.dato=0x1122334455667788; //8 bytes: 0x11 - 0x22 - 0x33 - 0x44 - 0x55 - 0x66 - 0x77 - 0x88
for(cont=0;cont<8;cont++)
{
printf("Byte %d= 0x%x\n",cont+1,campo.rec_datos[cont]);
}
return 0;
}
resultado dijo:Byte 1= 0x88
Byte 2= 0x77
Byte 3= 0x66
Byte 4= 0x55
Byte 5= 0x44
Byte 6= 0x33
Byte 7= 0x22
Byte 8= 0x11
#include <stdio.h>
#include <stdlib.h>
int main()
{
int cont;
unsigned long long int dato=0x1122334455667788;
void *ptr=&dato; //El puntero tomará la dirección en memoria de la variable de 64 bits
for(cont=0;cont<8;cont++)
{
printf("Byte %d= 0x%x\n",cont+1,*(unsigned char*)(ptr+cont)); //Simplemente uso esa dirección de memoria como si fuera un vector
}
return 0;
}
Ya que estamos te pregunto cosme. La solución que proponés ¿funciona independientemente de que el {procesador + compilador} guarde los datos como little endian o big endian?.
resultado dijo:Byte 1= 0x11
Byte 2= 0x22
Byte 3= 0x33
Byte 4= 0x44
Byte 5= 0x55
Byte 6= 0x66
Byte 7= 0x77
Byte 8= 0x88
Cuando sale un 1 logico por un pin, salen 3,3 voltios o 5 voltios por el pin¿?
#define PINSEL_TX_UART1 (1<<4) //Bit 5:4 PINSEL0 -> Funcionando como /TXD0
#define PINSEL_RX_UART1 (1<<6) //Bit 7:6 PINSEL0 -> Funcionando como /RXD0
LPC_PINCON->PINSEL1&=~((3<<6)|(3<<4));
LPC_PINCON->PINMODE1&=~((3<<6)|(3<<4));
#define PINSEL_TX_UART1 (1<<4)
LPC_PINCON->PINSEL1&=~((3<<6)|(3<<4));
void EINT1_IRQHandler (void)
{
if(puerto...tal 1) //O usando un switch!
{
estado_interrupcion_1=1;
}
else if(puerto...tal 2)
{
estado_interrupcion_1=2;
}
LPC_SC->EXTINT|=(1<<1); // Limpio la interrupción externa 1
}
int main()
{
....//inicialización
while(1) //Bucle principal
{
switch(estado_interrupcion_1)
{
case 0:{break;} //Sin interrupcion
case 1:
{
//Acción al detectar puerto 1
break;
} //Se detectó interrupción del puerto 1
case 2:
{
//Acción al detectar puerto 2
break;
} //Se detectó interrupción del puerto 2
....//etc
}
__wfi(); //Sleep-Mode
}
}
Directo desde la lpc, no. La placa se alimenta con 3.3v, por lo que generar un voltaje negativo es imposible, desde la placa.Hla a todos!
un pregunta, es posible hacer una señal senoidal con 4 valores que incluyan negativos, entre 511 0 y -512?
Mucha Gracias
Juan C.
Hla a todos!
un pregunta, es posible hacer una señal senoidal con 4 valores que incluyan negativos, entre 511 0 y -512?
Mucha Gracias
Juan C.
Si, toda la razón. Le di muchas vueltas al problema... [emoji17]El DAC es de 10 bits, por lo tanto tenés 1024 niveles. Si realizas una senoidal, simplemente vas a tener que colocar un capacitor en serie para eliminar el nivel de continua y ya.