Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Logica AtmeL

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[21] Re: Logica AtmeL

Messaggioda Foto Utentesimo85 » 5 nov 2012, 21:05

Capisci la logica binaria?
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[22] Re: Logica AtmeL

Messaggioda Foto Utentebelva87 » 5 nov 2012, 21:06

Penso di si... se intendi sapere il significato di 0 e 1 e le operazione di AND, OR ecc.. tra questi valori.
Avatar utente
Foto Utentebelva87
2.292 2 6 12
free expert
 
Messaggi: 1323
Iscritto il: 9 mag 2011, 15:01

0
voti

[23] Re: Logica AtmeL

Messaggioda Foto Utentesimo85 » 5 nov 2012, 21:18

non riesco proprio a comprenderlo...

Cosa non ti è chiaro (eventualmente) di questo codice:
Codice: Seleziona tutto
#include <stdio.h>

int main(void)
{
   unsigned char x = 0x00;
   x = (1 << 2);
   printf("0x%x\n", x);
   x = (1 << 1);
   printf("0x%x\n", x);

   return 0;
}

E di questo:
Codice: Seleziona tutto
#include <stdio.h>

int main(void)
{
   unsigned char x = 0x00;
   x |= (1 << 2);
   printf("0x%x\n", x);
   x |= (1 << 1);
   printf("0x%x\n", x);
   x |= (1 << 7) | (1 << 5);
   printf("0x%x\n", x);

   return 0;
}

Penso di si... se intendi sapere il significato di 0 e 1 e le operazione di AND, OR ecc

Se non capisci quei codici allora solo lo pensi. E non è una offesa.. Sto solo cercando di farti capire.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[24] Re: Logica AtmeL

Messaggioda Foto Utentebelva87 » 5 nov 2012, 21:24

Mi sentirei di dire che non mi è chiaro niente a questo punto.
E credo, forse... che voi intendere "logica" binaria diversamente da me... quindi penso che l'AND classico inteso come 1 x 0 = 0 in questa cosa non centri... non ci sto capendo nulla sinceramente.
Ti ringrazio comunque per i tuoi sforzi, forse oggi non è giornata oppure devo maledire il mio prof di sistemi delle superiori che mi fece iniziare con i PIC e di questa roba quà non ci ha fatto vedere nemmeno un H... però forse sto cercando la soluzione nel modo sbagliato o nel posto sbagliato... quello che mi fa strano è che non riesco a trovare un documento che tratti questa roba in modo da essere comprensibile anche a chi non ne sa nulla come me (ormai mi assimilo al non sapere nulla perché tra la confusione che ho fatto e quello che non capisco...)
Avatar utente
Foto Utentebelva87
2.292 2 6 12
free expert
 
Messaggi: 1323
Iscritto il: 9 mag 2011, 15:01

0
voti

[25] Re: Logica AtmeL

Messaggioda Foto Utentesimo85 » 5 nov 2012, 21:35

belva87 ha scritto:l'AND classico inteso come 1 x 0 = 0

Usa gli operatori logici.

1 & 0 = 0

Comunque ho l'impressione che non li hai nemmo compilati ed eseguiti..

non riesco a trovare un documento che tratti questa roba

Uno, due, tre, quattro.
http://www.gnu.org/software/gnu-c-manua ... -Operators

Ne ho trovati a iosa..
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[26] Re: Logica AtmeL

Messaggioda Foto Utentebelva87 » 5 nov 2012, 22:09

L'operatore èra per far intendere proprio la scrittura PER .... ma siete sempre così pignoli?

I documenti sono interessanti ma io sto cercando qualcosa di altro genere, che spieghi perché si fanno quelle operazioni per settare un bit di un porta di un micro, e poi che spieghi passo passo come lavorano quelle operazioni dato che nel mondo della programmazione non le so ma sono rimasto alle porte logiche...

Ora lascio perdere, è meglio così.
Avatar utente
Foto Utentebelva87
2.292 2 6 12
free expert
 
Messaggi: 1323
Iscritto il: 9 mag 2011, 15:01

0
voti

[27] Re: Logica AtmeL

Messaggioda Foto Utentesimo85 » 5 nov 2012, 22:19

belva87 ha scritto:che spieghi perché si fanno quelle operazioni per settare un bit di un porta di un micro.

Come detto in precedenza, è solo una questione di comodità.

Tra
1)
Codice: Seleziona tutto
PORTA = 0x81;

2)
Codice: Seleziona tutto
#define PA7 7
...
#define PA0 0
...

PORTA = (1 << PA7) | (1 << PA0);

non cambia nulla.

Se non ti ricordi i valori binari a memoria userai il caso 2, altrimenti il caso 1 o come preferisci..

Altrimenti scusa ma non capisco cosa non capisci..
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[28] Re: Logica AtmeL

Messaggioda Foto Utentebelva87 » 5 nov 2012, 22:21

Non riesco a capire cosa fa questo:

PORTA = (1 << PA7) | (1 << PA0);

Se me lo sai spiegare te ne sarei grato.
Avatar utente
Foto Utentebelva87
2.292 2 6 12
free expert
 
Messaggi: 1323
Iscritto il: 9 mag 2011, 15:01

0
voti

[29] Re: Logica AtmeL

Messaggioda Foto Utentesimo85 » 5 nov 2012, 22:41

Prima ti ho detto di usare gli operatori perché per esempio:

0xa0 & 0xb0 non è come fare 10 x 11..

Non riesco a capire cosa fa questo:

PORTA = (1 << PA7) | (1 << PA0);


Brevemente questo:

(0000 0000 | 1000 0000 | 0000 0001) = 1000 0001

So simple.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[30] Re: Logica AtmeL

Messaggioda Foto Utentebelva87 » 5 nov 2012, 22:45

Grazie, non ho ancora capito comunque.
Avatar utente
Foto Utentebelva87
2.292 2 6 12
free expert
 
Messaggi: 1323
Iscritto il: 9 mag 2011, 15:01

PrecedenteProssimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti