Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   552 / 839
(#) atus1981 válasza atus1981 hozzászólására (») Aug 21, 2019 /
 
Rosszat kérdeztem?
(#) tbarath válasza Bell hozzászólására (») Aug 21, 2019 /
 
A változónak by definition nincs értéke addig, amíg nem adsz neki. Illetve valamilyen értéke biztosan lesz, hiszen van neki egy memóriaterület lefoglalva, és az is lehet, hogy ez 0/üres string/stb. lesz, mert az adott körülmények között ez lesz a kezdeti értéke, de erre nem szabad számítani. A változó értékét onnan lehet "komolyan venni", hogy inicializáltad.
(#) Kovidivi válasza tbarath hozzászólására (») Aug 22, 2019 /
 
Arduino alatt minden változó, ami nem kapott kezdőértéket, automatikusan 0-t kap.
(#) rolandgw válasza Kovidivi hozzászólására (») Aug 22, 2019 /
 
A lokális változó is?
(#) Kovidivi válasza rolandgw hozzászólására (») Aug 22, 2019 /
 
Minden változó, ami nem kapott kezdőértéket! Minden!
Egyébként meg próbáld ki. Változó definiálása, inicializálás nélkül, majd írasd ki soros porton keresztül PC-re. 3 perc alatt meg van a válasz! De elég rosszul nézne ki, ha véletlenszerű számot kapnál vissza, nem? Arduino ezekre is figyel. De szerintem az össze programnyelv.
A hozzászólás módosítva: Aug 22, 2019
(#) tbarath válasza Kovidivi hozzászólására (») Aug 22, 2019 /
 
Lehet, hogy igazad van, de én akkor se építek erre, ezt anno belém verték. Egyébként a helyzet messze nem egyértelmű: Bővebben: Link.
(#) pipi válasza Kovidivi hozzászólására (») Aug 22, 2019 /
 
Hali!
Nem minden programnyelvben van változó inicializálás. Múltkor szívtam vele, átollóztam egy programrészletet. A régiben a mainban volt az első értékadás, ezt elfelejtettem áthozi, aztán kerestem a hibát, hogy hülyeséget csinál random bekapcsolásnál...
Pic XC8 fordító. Amúgy szerintem nem biztos, hogy jó, ha a fordító nekiáll az inicializálatlan változókat önkényesen töltögetni, nagyobb memóriájú kontrollernél ez jelentős bekapcsolási idő növekedést jelenthet. Nem vitázni akarok, - a fordító mélyebb ismerete nélkül - de az hogy írok rá egy progit, és kiíratom az értékét, látom a nullát, az jelentheti azt hogy éppen bekapcsoláskor a ramban 0 van(de nem biztos hogy minden alkalommal - ezt szívtam), de jelentheti azt, mint írtad hogy a fordító inicializálta... Szoval dokuban kell megnézni, már ha le van írva.
(#) Bell válasza tbarath hozzászólására (») Aug 22, 2019 /
 
Köszönöm!
Valóban nem jól tettem fel a kérdést, nem a definiált, hanem az inicializált változók értékét szeretném megjeleníteni.
Programból ezeket elég macerás megtudni, arra gondoltam, hogy más fejlesztőrendszerekhez hasonlóan itt is van erre lehetőség. De a lépésenkénti futtatás is sokat segítene.
Az IDE-ben nem látok ilyesmire lehetőséget.
(#) tbarath válasza Bell hozzászólására (») Aug 22, 2019 / 1
 
Az arduino IDE buta mint a föld. Ha kell, akkor be lehet gyógyítani pl. visual studio alá is az arduino SDK-t, de egy rendes trace-eléshez szerintem a hw-t is bütykölni kellene.

A fapad megoldás az, hogy a változó értékét kiírod soros portra ha kell.
(#) KoblogPerGyok válasza tbarath hozzászólására (») Aug 22, 2019 /
 
Idézet:
„A fapad megoldás az, hogy a változó értékét kiírod soros portra ha kell.”


Ezért volt a "Serialprintln" az első amit létrehoztak.
(#) Bell válasza tbarath hozzászólására (») Aug 23, 2019 /
 
Köszönet!
Alkalmi megoldásnak megteszi, de azt gondoltam van valami egyszerű megoldás, pl. a fordítónál beírt opció, ami beszédessé teszi, külön program, vagy egyéb trükk.
Mert nekem nem szimulátor kell.
(#) Kera_Will válasza Bell hozzászólására (») Aug 23, 2019 / 1
 
Lehet neked nem s(t)imulátor kell de létezik 1 2 ilyen program pl.: UnoArduiSim .
Itt step by step láthatod a változók értékeit sorról sorra.
("Kicsit sárga , kicsit savanyú" de mégis van... persze néha kínlódik ezzel azzal a lásd upgradek változás jelentései , némi szimulált periféria készlete is van , verzió függően változik a tudása.
pl.: amibe bele futottam : egyiknél (régebbi "kevesebb pont valamennyi" verziójúnál működött az utána jövő "több pont valamennyi "verzióban már nem ) még zörgette a PC hangszórót is ha zümmert "bekötöttem mint perifériát", másiknál meg elszállt hibával az ugyanaz a forráskód "fordítása", ha a tone() -t használtam volna )

ArduSim fejleszői oldala
A hozzászólás módosítva: Aug 23, 2019
(#) Kovidivi válasza Bell hozzászólására (») Aug 23, 2019 / 1
 
Amit te szeretnél, az real time debug lenne, amit az Arduino nem támogat. Azt hiszem, az AVR-ben van ilyen opció, de a sima Arduino ehhez nem elég.
Nem olyan egyszerű ez, mint te gondolod, ha folyamatosan debuggolod a változók értékét, az prociidőt vesz el, ami miatt minden csúszni fog, tehát már nem ugyanúgy fut a programod, mint debug nélkül, vagy pedig van egy külön hardware az AVR-ben, ami debuggol, és akkor mehet a proci max. sebességgel, de akkor meg drágább lesz a uC. A fordító és az Arduino IDE nem szimulátor, nem tudja, hogy az AVR-ben a változókkal pontosan mi történik, ő csak a programot állítja elő (fordít), optimalizál, stb.
(#) Bell hozzászólása Aug 23, 2019 /
 
Kera_Will, Kovidivi, köszönöm a hasznos válaszokat!
Legutóbb egy NRF24L01+ -nál szoftveres SPI lábkiosztásával volt gondom, mert különböző paneleknél (Leonardo és Uno) az egyik nem volt hajlandó megszólítani az rf modult.
Szkóp nincs kéznél, programból meg elég necces ezt előkaparni, ezért gondoltam, hogy ez esetben és máskor is hasznos lehet.
(#) rolandgw válasza Kovidivi hozzászólására (») Aug 24, 2019 /
 
A fordító dönthet úgy, hogy nem teszi stack-be a változót, hanem regiszterbe. Ez a bss terület része, amit a startup nulláz. Nem 0-t kap, hanem olyan részre kerül, ahol nulla van. Ha már stack-el is, ez nincs garantálva.
(#) atiotezer hozzászólása Aug 26, 2019 /
 
Sziasztok.
Valaki át tudná nézne nekem ezt a kódót, ugyanis olyan problémám van, hogy ha kibővítem egy egyzserü nyomógombos LED ki és bekapcsolással akkor a eredeti program teljesen belassul.
Pl. Az addigi villogó kimenet kb. 10szer lesz lassab és a gombnyomás érzékelése is belassul.
Amit utólag hozzáírtam az a funkció rendesen működik.
Külün mindkettő működik rendesen.
Lefordul, nincs hibaüzenet.
Csak ennyit írok be pluszban a programba. (led ki-be kapcsolás)

int elozoErtek0 = 0;
pinMode (A5, INPUT_PULLUP);
pinMode (7, OUTPUT);

// void loop alá from ezt.

if(digitalRead(A5) == LOW && elozoErtek0 == 1)
{
digitalWrite(7, !digitalRead(7) );
}
elozoErtek2 = digitalRead(A5);
delay(10);

https://www.dropbox.com/sh/4bty5hlw0pncr1l/AADIJahURYgFomxjLyikGbRba?dl=0


Előre is köszönöm.
(#) Elektro.on válasza atiotezer hozzászólására (») Aug 26, 2019 /
 
Vedd figyelembe azt, hogy amég a
Idézet:
„delay(10);”
fut, addig nem csinál mást az MCU.

tehát jelen esetben minden vizsgálat után 10ms pihenő idő van.
(#) atiotezer válasza Elektro.on hozzászólására (») Aug 26, 2019 /
 
Szia.

Levettem 1ms-re, így jónak tűnik.

Van erre valami elegáns megoldás, ugyanis még kellene 4 gomb és akkor megint lassulni fog.

Köszönöm.
(#) pipi válasza atiotezer hozzászólására (») Aug 26, 2019 /
 
Olvasd ki a négy gombot egyszerre, tedd el változóba, utána/előtte kiértékelés/várakozás 1*
(#) Elektro.on válasza atiotezer hozzászólására (») Aug 26, 2019 /
 
Én nem Arduino -zok, ezért nem vagyok benne toppon.
Nem lehet benne megszakításokat kezelni?

UI.:

Arduino Interrupt references

Megszakítás esetén meghív egy függvényt:

  1. const byte ledPin = 13;
  2. const byte interruptPin = 2;
  3. volatile byte state = LOW;
  4.  
  5. void setup() {
  6.   pinMode(ledPin, OUTPUT);
  7.   pinMode(interruptPin, INPUT_PULLUP);
  8.   attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
  9. }
  10.  
  11. void loop() {
  12.   digitalWrite(ledPin, state);
  13. }
  14.  
  15. void blink() {
  16.   state = !state;
  17. }
A hozzászólás módosítva: Aug 26, 2019
(#) atiotezer válasza Elektro.on hozzászólására (») Aug 26, 2019 /
 
Biztosan lehet, de pár napja foglalkozom csak arduinoval.
(#) Elektro.on válasza atiotezer hozzászólására (») Aug 26, 2019 /
 
Módosítottam a fenti hozzászólásomat. Csatoltam minta kódot, amit találtam. Elég érthető, gondolom nem kell hozzá magyarázat.
A felette lévő linken megtalálod , hogy az adott board melyik PIN -en tud megszakítást.
A hozzászólás módosítva: Aug 26, 2019
(#) atiotezer válasza Elektro.on hozzászólására (») Aug 26, 2019 /
 
Köszönöm, megpróbálkozom vele.
(#) jointsilver36 hozzászólása Aug 28, 2019 /
 
Sziasztok!Valaki megtudná mondani,hogyan tudom letölteni arduino nanóról az áttküldött programot (ino) .Sajnos az eredetit az oldalon nem talaltam.
Köszi
(#) vargham válasza jointsilver36 hozzászólására (») Aug 28, 2019 /
 
Az ino-t sehogyan. Az csak a számítógépen létezik, a mikrokontrollerre nem kerül át.
(#) jointsilver36 válasza vargham hozzászólására (») Aug 28, 2019 /
 
Nanorol letölteném a programot és egy másik nanóra tölteném fel.
A hozzászólás módosítva: Aug 28, 2019
(#) vargham válasza jointsilver36 hozzászólására (») Aug 28, 2019 /
 
Ha nincs kódvédelem, akkor az lehetséges. Gondolom, programozó hardvered (Atmel ICE, AVRISP, Dragon, stb) nincsen.
(#) jointsilver36 válasza vargham hozzászólására (») Aug 28, 2019 /
 
Avr isp usb sticem van.
(#) jointsilver36 válasza vargham hozzászólására (») Aug 28, 2019 /
 
Ez a falytaBővebben: https://m.aliexpress.com/item/32725468354.html?pid=808_00...194549
A hozzászólás módosítva: Aug 28, 2019
(#) vargham válasza jointsilver36 hozzászólására (») Aug 28, 2019 /
 
Használtad már?
Következő: »»   552 / 839
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem