Porta kod från Arduino Uno till ATtiny85

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Xoffis
Inlägg: 303
Blev medlem: 31 maj 2014, 19:13:37
Ort: Ingelstad
Kontakt:

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av Xoffis »

Tackar för hjälpen!

Den funkade fint!
Xoffis
Inlägg: 303
Blev medlem: 31 maj 2014, 19:13:37
Ort: Ingelstad
Kontakt:

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av Xoffis »

SeniorLemuren skrev: 2 maj 2024, 08:28:23 Lägg märke till att bitarna som används inte är samma på Uno och Atiny och att det bara finns interupt 0 på Atiny men interupt 0 och 1 på Uno. Läs mer här.
Jo, detta listade jag ut själv med INT :)
Xoffis
Inlägg: 303
Blev medlem: 31 maj 2014, 19:13:37
Ort: Ingelstad
Kontakt:

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av Xoffis »

Glädjen va kort!

Den fungerar sådär...

Den fungerar fint första gången stereon startas efter att varit strömlös, men andra gången (efter bara tändning av), då stereon dubbelkollar ifall CD-växlaren verkligen är där så verkar den inte få svar å då tar stereon bort ingången igen tills jag gör den strömlös igen...

Så någonstans felar det...


Någonting som jag har funderat på i koden är den absolut sista raden

Kod: Markera allt

    TIFR |= (1 << INTF0);
Kan det vara så att detta är en typo? med tanke på att det står INTF0 ?

Kanske skall denna raden vara INT0??

Tacksam för svar!

Får experimentera med att ta bort F et när jag orkar å se om det gör nån skillnad...


EDIT:

Nej, det va en miss i min portning gällande den raden, kollade datablad och precis som de flesta andra grejjer så har inte Attiny85 någon TIFR, utan istället GIFR, men det skulle vara INTF0 enligt datablad

Skall ladda upp å se om det funkar!

EDIT2:

Ja, kollade jag datablad nogrannare så fanns visst TIFR i attiny, men det va nån helt annan funktion, nån timer interrupt historia, så det skulle det ju verkligen inte vara, märkligt att den funkade (init) med det?

Men den verkar inte funka med GIFR häller...


Tycker detta är märkligt, på någon nivå funkar ju skiten, då stereon initialt plockar upp "växlaren" och allt funkar fint, tills man bryter ACC? känns som att första biten fungerar men inte andra, då borde ju min port vara rätt gällande PORTD till PORTB och DDRD till DDRB? för annars hade ju inte initen funkat häller? eller tänker jag totalt fel?

Börjar luta åt att jag gör så bilen bryter både VIN och ACC på tändningen :(
Xoffis
Inlägg: 303
Blev medlem: 31 maj 2014, 19:13:37
Ort: Ingelstad
Kontakt:

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av Xoffis »

Tidigare i tråden så snackade SeniorLemuren om att inte bitarna va samma mellan registren, vilket de ju inte är, kan det spela in? å hur fixar jag det?

Tex på ATM328 så är ju INT1 på bit 1
medans ATT85 så ligger den på bit 6

Kollar jag i Arduino IDE så säger den att INT1 är just 1 på 328 och på 85 så säger den 6, så känns ju som att IDE har koll på det då?


EDIT: Testade den andra koden, på första hemsidan, den som tyvärr visar "CD ERROR" i displayen, ändrade alla PORT och DDR och EIMSK på precis samma sätt i den koden, den fungerar!

Så jag får leva med CD ERROR i displayen yills vidare, kanske själv kan kombinera koderna så det fungerar i framtiden...

Hade ju varit nice ifall man kanske tillåmed kan styra en BT modul med koden framöver, byta låt osv via BT på stereon!

Men men, får bli ett senare projekt...
SeniorLemuren
Inlägg: 7826
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av SeniorLemuren »

Uttrycket X |= (1 << Y); manipulerar den Y:te biten i variabeln X, och behåller resten av bitarna som de var innan operationen.
Du får ta reda på vilken siffra som variabeln INTF0 innehåller för att veta viken bit som manipuleras och manipulera motsvarande bit i Attiny.

Edit: Jag brukar använda den seriella monitorn för att ta läsa värdet på variabler m.m. när jag felsöker.
Xoffis
Inlägg: 303
Blev medlem: 31 maj 2014, 19:13:37
Ort: Ingelstad
Kontakt:

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av Xoffis »

Visade sig senare igårkväll att även den andra koden inte varade då cd växlaren va borta igen...
SeniorLemuren skrev: 4 maj 2024, 08:45:35 Uttrycket X |= (1 << Y); manipulerar den Y:te biten i variabeln X, och behåller resten av bitarna som de var innan operationen.
Du får ta reda på vilken siffra som variabeln INTF0 innehåller för att veta viken bit som manipuleras och manipulera motsvarande bit i Attiny.

Edit: Jag brukar använda den seriella monitorn för att ta läsa värdet på variabler m.m. när jag felsöker.
Ingen monitor på attiny, funderade på att köra med softwareserial på tinyn för att debugga, får ta en kik på det när jag får tillbaka suget!
SeniorLemuren
Inlägg: 7826
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av SeniorLemuren »

Ok. fast INTF0 och andra variabler och konstanter får ju sina värden någonstans i originalprogrammet. Det går ju att söka efter.
nifelheim
Den första
Inlägg: 2336
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av nifelheim »

vad har du valt för "board" i ArduinoIDE?
Digispark eller något annat med ATTiny85?
Xoffis
Inlägg: 303
Blev medlem: 31 maj 2014, 19:13:37
Ort: Ingelstad
Kontakt:

Re: Porta kod från Arduino Uno till ATtiny85

Inlägg av Xoffis »

SeniorLemuren skrev: 4 maj 2024, 13:31:39 Ok. fast INTF0 och andra variabler och konstanter får ju sina värden någonstans i originalprogrammet. Det går ju att söka efter.
Får ta en kik nån dag, funderar på att bara köra en test med en ATMega å se så det funkar klockrent så det inte är nått annat fel! =)
nifelheim skrev: 4 maj 2024, 17:28:33 vad har du valt för "board" i ArduinoIDE?
Digispark eller något annat med ATTiny85?
Bara en "ren" ATTiny85
Skriv svar