Sari la conținut
ELFORUM - Forumul electronistilor

Migrare Arduino pe ATmega328P ?


messu

Postări Recomandate

Ce tip de modul folosesti, are LED on board ?
Deci la tine nu se aprinde LED daca programezi cu ceva de genul ?
 

void setup()
{
  pinMode(PIN_LED_N, OUTPUT);
  digitalWrite(PIN_LED_N, HIGH);
}

void loop(){}

 

Editat de mihaiaurul
Link spre comentariu
  • Răspunsuri 95
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • messu

    18

  • daniels

    15

  • nico_2010

    15

  • Marin1960

    11

Top autori în acest subiect

Imagini postate

Acuma nu sunt langa un calculator ca sa pot da detalii, dar le voi da.

Modulul folosit este acesta si are leduri.

https://shop.nextlab.tech/en/cumpara/placa-microprogramabila-nextlab-tech-a1-635

Acum 4 minute, mihaiaurul a spus:

Ce tip de modul folosesti, are LED on board ?
Deci la tine nu se aprinde LED daca programezi cu ceva de genul:
 

void setup()
{
  pinMode(PIN_LED_N, OUTPUT);
  digitalWrite(PIN_LED_N, HIGH);
}

void loop(){}

 

Probabil nu va functiona, indiferent ce incarc apare mesajul.

 

Link spre comentariu
7 minutes ago, daniels said:

Probabil nu va functiona, indiferent ce incarc apare mesajul.

Ignoră mesajul ! Este un simplu warning.
Apriderea unui LED nu are nicio legătură cu acest mesaj legat de eeprom.

Link spre comentariu
Acum 9 ore, roadrunner a spus:

@daniels sunt niste diferente subtitle de hardware la 328P versus 328PB 

 

diferențele ”subtile” sunt enorme. Uitați-vă la periferice și mai ales la Register Summary. Acei 3 biti de semnătură sunt ultima problemă pentru-că cel puțin, se găsesc la aceeași adresă. Dar la Register Summary foarte multe nu mai corespund. La ce diferențe sunt între 328P și 328PB, microcontrolerul 328PB nici nu ar fi trebuit să se denumească 328, dar cred că li s-au terminat numerele...

Interesant e că au introdus din nou chestia cu serialul unic pe uC. Acum se pot face programe care să meargă pe un singur uC fără să mai fie nevoie să activezi protecția la citire și să te temi că cineva o să-ți fure programul...

 

Dacă ceva s-a instalat greșit la update, e imposibil să-ți mai meargă. Cel mai bine, faci una bucată copie la ce ai acolo, dai uninstall și apoi re-install.

Link spre comentariu

Fisierul eep e intradevat gol (are un singur record cu nimic) - deci Warning-ul e pe bune.

Exista pe undeva (nu mai stiu exact unde ca n-am atins Arduino de ani buni) o optiune unde poti sa dezactivezi scrierea datelor in memoria EE. (e o optiune care de fapt o paseaza lui avrdude cand programeaza.) - daca dezactivezi optiunea aia probabil ca nu mai vine cu Warning-ul. (oricum e warning-ul nu are nici o legatura cu problema ta)

Tin sa cred ca ai o biblioteca corupta sau instalata pe jumate.

RR

 

Uite aici optiunea - daca o pui pe "retained" nu mai re-programeaza memoria EE si probabil (sper) scapi de warning. 

c4fdc8952699af22c9712232d7101bfbe6961192

Editat de roadrunner
Link spre comentariu

Am niste intrebari:

- de ce nu folosesti libraria de board-uri AVR cu care vine Arduino. "by default"? Care ar fi functionalitatile exclusiv oferite de MiniCore, in detrimentul librariei de board-uri AVR?

- cel putin in Arduino nu sunt sesizabile diferentele intre Atmega328, 328A, 328AU, 328P  228PB (sigur, ele exista in DS, dar nu sunt luate in considerare in librariile Arduino, sau nu stiu eu), cand folosesti board-urile AVR. Si atunci de ce ai folosi MiniCore?

- ce bootloader ai inscris in Atmega328PB?

-esti sigur ca ai instalat cum trebuie Arduino IDE?

-ai nevoie de TC3 si TC4 pentru a modula un semnal? Vrei sa verifici daca ai probleme cu semnalul de clock? Cam pe aici se invart modificarile (plus alte maruntisuri,identificabile in DS, dar putin utilizate cand folosesti Arduino. Altfel sta treaba cand vrei sa programezi un Atmega328PB in C si trrbuie sa accesezi registrii direct.

Link spre comentariu

Banuiesc ca pur si simplu a avut placa asta cu ATMEGA238PB si vrea sa se foloseasca de ea. Arduino tine cont de diferente (IDE-ul) daca te uiti in screenshot-urile de mai sus, dar depinde cum sunt scrise diverse biblioteci/exemple care unele "scurcircuiteaza" fisierele header (*.h) care tin cont de diferente. Teoretic bibliotecile/exemplele ar trebui sa fie HAL dar in realitate nu sunt. (cel putin nu toate). Mai e si problema ca e posibil sa aiba biblioteci corupte de cand a facut upgrade.

Subscriu la intrebarea cu ce e mai buna "MiniCore"?

 

 

Citat

Altfel sta treaba cand vrei sa programezi un Atmega328PB in C si trrbuie sa accesezi registrii direct.

accesatul registrilor direct nu ofera nici un avantaj dar are o gramada de dezavantaje pe termen lung. Exista impresia ca daca-l accesezi dupa SFR nu prin fisierele header e codul mai mic (in realitate e la fel ca sunt doar niste referinte) -  intradevar folosirea sau nu a layereleor HAL poate face codul mai mic dar te poate scutii de multe alte probleme (race conditions, facilitati de debug si trace) - nu mai zic ca, codul devine portabil (ca de fapt asta e rostul)

RR

Editat de roadrunner
Link spre comentariu

nu stiu exact care-i misiunea cu placa aia cred ca problema e ca tool-urile (si bibliotecile) nu mai functioneaza dupa upgrade (cred esuat) si incearca sa determine unde e problema. Surprize din categoria free/hobby.

RR

 

PS - de cate ori vad IDE-ul de Arduino ma gandesc la unul care bate cuie cu un patent.

Editat de roadrunner
Link spre comentariu
Acum 2 ore, roadrunner a spus:

Surprize din categoria free/hobby.

Asa este, chestie de timp liber.

 

Acum 2 ore, roadrunner a spus:

Subscriu la intrebarea cu ce e mai buna "MiniCore"?

Nu am ceva anume cu placa asta, placa am capatat-o si era placa de test care a tinut la tavaleala. Cand mai fac cate ceva fac cu Nano ca este mic.

 

Acum 4 ore, roadrunner a spus:

Uite aici optiunea - daca o pui pe "retained" nu mai re-programeaza memoria EE si probabil (sper) scapi de warning. 

Era presetat.

 

Acum 2 ore, nico_2010 a spus:

Si vezi si cand isi da peste degete?😅

Iau o bere, cate odata imi dau de mai multe ori.

Link spre comentariu
1 hour ago, daniels said:

Iau o bere, cate odata imi dau de mai multe ori.

Dacă tot suntem la beri, Hai noroc, ce zice 328PB daca pui asta in el ?
 

void setup() 
{
  Serial.println((Serial.begin(9600),"\nHello world!"));
}
void loop(){}



 

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări