Arduino, concatenare variabili INTin unica variabile int...

Jul 15, 2022 18 Replies

Sembrerebbe una cosa semplice ma non ho trovato nulla in rete che spieghi come concatenare diverse variabili INT in un'unica variabile INT per crare un numero.



Ho questa 4 variabili



int a1=2; int a2=0; int a3=1; int a4=2;



le vorrei concatenare per ottenere



year = 2021;



come caspita faccio, ho fatto tanti esperimenti ma il numero non corrisponde mai.



PS: mi serve per mandare la data al RTC.


Saluti da Drizzt, quello vero! www.agidone.altervista.org MAI PIU' UN CESSO DI OPEL IN VITA MIA!!!! http://www.tappezzeriagraziella.com/

year = a1*1000 + a2*100 + a3*10 + a4;

Fletto i muscoli e sono nel vuoto.

Il 15/07/2022 21:07, Drizzt do'Urden ha scritto:

Non potrai mai riuscirci con quei numeri a meno che non capisca nulla io...... Che puo' essere altamente probabile..... ;-)

Renato

Il 15/07/2022 21:45, dalai lamah ha scritto:

nelle prove che facevo :-)

-- Saluti da Drizzt, quello vero!

formatting link
MAI PIU' UN CESSO DI OPEL IN VITA MIA!!!!
formatting link

Il 15/07/2022 22:08, Renato_VBI ha scritto:

Fatto, il suggerimento di dalai lamah ha funzionato :-)

Saluti da Drizzt, quello vero! www.agidone.altervista.org MAI PIU' UN CESSO DI OPEL IN VITA MIA!!!! http://www.tappezzeriagraziella.com/

po' male al cuore vedere moltiplicare e dividere per numeri che non siano potenze di due su questo genere di hardware ma come dice lord Casco, 'se devo, devo' :D

Eelon programmami

Il 15/07/2022 22:17, Drizzt do'Urden ha scritto:

Soluzione elegante e sicura ... che evita l'uso di array di char o peggio di rognose String.

_ _ 0 0 @ E. Delacroix

Il 15/07/22 22:53, pcf ansiagorod ha scritto:

Beh

year = a1*512 + a1*256 + a1*128 + a1*64 + a1*32 + a1*8 + a2*64 + a2*32 + a2*4 + a3*8 + a3*2 + a4;

pero` insomma... sara` piu` veloce? ;)

Il 15/07/2022 22:53, pcf ansiagorod ha scritto:

32 bit e quindi con capace moltiplicatore Hardware all'interno? Di solito ,e non dico niente di eclatante,se ho tempo,quando voglio vedere quanto tempo richiede una funzione uso un pin libero da collegare a oscilloscopio e con una funzione a basso livello,direttame te coi registri alzo immediatamente prima e abbasso immediatamente dopo il livello logico del pin per avere un'ide di quanti milli o micro secondi richiede,

interrupt che ci possono cadere di mezzo ecc

Il 31/07/2022 09:55, blisca ha scritto:

interessante e velocissimo..

meno veloce e preciso).

Il 31/07/2022 09:55, blisca ha scritto:

Uso arduino uno.

-- Saluti da Drizzt, quello vero!

formatting link
MAI PIU' UN CESSO DI OPEL IN VITA MIA!!!!
formatting link

Il 31/07/22 12:10, Franco Af ha scritto:

Bisogna tenere conto anche della durata di una digitalWrite (se si usa una digitalWrite)

Il 02/08/2022 19:21, Claudio_F ha scritto:

non conosco Arduino,ma in questi casi per vedere la durata di una funzione non userei un'altra funzione come credo che sia digitalWrite,

userei una istruzione C che agisce a livello di registro che credo che venga tradotta i n una singola istruzione assembly es per un STM32 GPIOA->BSRR |= (1

Il 02/08/2022 21:07, blisca ha scritto:

almeno un centinaio di volte, altrimenti diventa veramente difficile :)

ovviamente dove possibile.

Il 28/07/22 17:57, Claudio_F ha scritto:

ld a,(A1) add a,a ld e,a add a,a add a,a add a,e ; a = A1*10 ld hl,A2 add (hl) ; a = A1*10 + A2 ld l,a ld h,0 add hl,hl ld e,l ld d,h add hl,hl add hl,hl add hl,de ; hl = A1*100 + A2*10 ld a,(A3) ld e,a ld d,0 add hl,de ; hl = A1*100 + A2*10 + A3 add hl,hl ld e,l ld d,h add hl,hl add hl,hl add hl,de ; hl = A1*1000 + A2*100 + A3*10 ld a,(A4) ld e,a ld d,0 add hl,de ; hl = A1*1000 + A2*100 + A3*10 + A4 ld (YEAR), hl

Il 04/08/2022 13:34, Bernardo Rossi ha scritto:

brasiliano dei primi anni 80

Il 04/08/2022 16:14, El_Ciula ha scritto:

E qui si aprirebbe un inquietante collegamento che ho notato tra "L'allenatore nel pallone" e "Il nome della Rosa" ,ma si andrebbe ancor

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required