elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Tres pumtos en header de funciones. en: 31 Agosto 2018, 01:26 am
Hola

Siempre esta bien saber lo de los 3 puntos. ya se algo más =)

Mi duda es algo más básico, ¿cómo entiende el programa eso del "si libusbi_ no esta definido, definir libusbo_H"? osea ¿que significa para el compilador o el ide esas lineas? ¿Esto va siempre en el archivo .h o podría encontrarmelo en otros ficheros?

Código:
#ifndef LIBUSBI_H
#define LIBUSBI_H
 
...

#if defined(_MSC_VER)

#define PTR_ALIGNED __declspec(align(8))

...

¿Y qué significa estas otras dos lineas?



Ya se que son muchas preguntas, pero me lo encuentro en todo los códigos avanzados y me gustaría por una vez por todas, entenderlo
Agradecerimientos de antemano =)
2  Programación / Programación C/C++ / duda máscara de bits. ATmega en: 15 Junio 2017, 00:16 am
Hola.

Tengo un código hecho en c del cuál hay unas líneas que no se como interpretarlo.
El código es el siguiente

Código:
/****************************************************** 
Programa para gestion de pulsadores por interrupcion ******************************************************/
#include <avr/interrupt.h> /* Tipo bits para acceso a nivel de bit en GCC */
typedef struct{
uint8_t b0:1;
uint8_t b1:1;
uint8_t b2:1;
uint8_t b3:1;
uint8_t b4:1;
uint8_t b5:1;
uint8_t b6:1;
uint8_t b7:1; } bits;
//Definicion de entradas
#define Tecla_SW5 (* (volatile bits *) &PIND).b5
//variables globales unsigned volatile char tecla;

// Rutina de tratamiento de interrupción externa
ISR(INT0_vect) {
if (!(PINB&(1<<PB1))) tecla=0x01;
else if (!(PINB&(1<<PB2))) tecla=0x02;
else if (!(PINB&(1<<PB3))) tecla=0x03;
else if (!(PINB&(1<<PB4))) tecla=0x04;
else tecla=0x05; // Apaga si se pulsan varias teclas
EIFR|=_BV(INT0); //Opcional, Bajamos la bandera de interrupción
}
unsigned char Siete_seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x00};
/**********************************************************
Rutina de inicio. (habilita interrupciones y INT EXT) **********************************************************/
void setup() {
DDRC=0xFF; //Puerto C como salida
DDRB=0x00; //Puerto B como entradas
PORTB=0xFF; // Activa pull-up
DDRD=0x00; //Puerto D como entradas
PORTD=0xFF; // Activa pull-up
tecla=0; //Habilita int flanco ascendente
EICRA &= ~(_BV(ISC00) | _BV(ISC01)); // Habilita interrupcion externa en patilla PD2 EIMSK|=_BV(INT0); }

void loop() {
PORTC=~Siete_seg[tecla]; //Codifica para mostrar el digito
if (!Tecla_SW5) tecla=0x00; // Saca un cero
}


Hay unas líneas que no se como funcionan, se que son máscaras de bits pero no se como funcionan realmente.
Por ejemplo,
if (!(PINB&(1<<PB1)))  ---> si... qué?

EICRA &= ~(_BV(ISC00) | _BV(ISC01))  --> no se que valor se guarda en EICRA


Agradecería toda ayuda
3  Informática / Electrónica / Re: Hacer circuitos con LEDs en: 18 Diciembre 2009, 21:04 pm
Señores:

Llevo días intentando crear un circuito con LED's y bueno, he hecho uno de prueba en paralelo que me ha resultado muy fácil. Ahora mi intención es crear un circutio que estén conectados 50 LED's en serie y no sé lo que debo hacer:

- Que valor debe tener la resistencia

- Que valor de tensión debo añadir

- No sé si es mejor conectarlo en paralelo o en serie por que lo que yo quisiera es una alta luminosidad

GRAXES
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines