Fórum témák
» Több friss téma |
WinAVR / GCC alapszabályok: 1. Ha ISR-ben használsz globális változót, az legyen "volatile" 2. Soha ne érjen véget a main() függvény 3. UART/USART hibák 99,9% a rossz órajel miatt van 4. Kerüld el a -O0 optimalizációs beállítást minden áron 5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás 6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et Bővebben: AVR-libc FAQ
Az A jelzesu modernebb, amugy interchangeable.
Nagyon köszönöm,kielégítő válasz volt.
Helo.
Nézegettem egy projektet githubon és találtam egy ilyen sort:
Azért van, hogy biztosan megtörténjen a logikai típussá konvertálás.
C++ esetén az egészet érdemes mellőzni, és makró helyett megírni a függvényt. Ami akár lehet inline.
Sima C ben van írva minden, ott van olyan hogy logikai típus? Úgytudtam van a 0 és van a többi érték, a nulla megfelel a hamisnak, minden más igaz.
Szerintem a szerző C++ kódból másolta a makró formátumát, és csak átírta.
Sziasztok!
Van valakinek esetleg T56 vagy VP-998 programozó készüléke, vagy végülis bármilyen olyan típus ami képes ATMEGA16A-AU TQFP44 tokozású processzor tartalmát másolni másikra? Az is jó ha valaki tud olyan vállalkozót aki foglalkozik vagy legalábbis rendelkezik hozzá eszközzel, nem tudom mennyibe kerülhet, de nem kérem ingyen. Előre is köszi, Peti
Jól értem, hogy a lényeg az eredeti program kiolvasása, és 1 példányos amit másolni kell?
Azt nem értem, hogy amit másolni kell, az nincsen felforrasztva egy NYÁK-ra? A NYÁK-on legtöbbször van programozó csatlakozó, szinte mindenki így tervez. Le kell forrasztani, betenni a foglalatba és kiolvasni? Szerintem mindegy, hogy milyen programozója van valakinek, a TQFP44 socket adapter a lényeg, hogy az kell hozzá, hogy ha a pőre csipet forrasztás nélkül akarjuk rögzíteni. Az adaptert bármilyen AVR programozóra rá lehet csatlakoztatni. Szerintem ez kellene ide, vagy hasonló: https://www.microchip.com/en-us/development-tool/atstk600-sc06 Nekem nincs adapterem, meg nem is vállalnám, mert fakezű vagyok és másnak fontos egypéldányos dologgal nem szeretnék dolgozni. A lényeg, hogy ha rendelsz egy adaptert, akkor azzal bárki meg tudja csinálni aki AVR-ezik, és el meri vállalni. A hozzászólás módosítva: Feb 23, 2024
Az egyik dolog a csatlakozás, a másik meg a kódvédelem. Ha nincs meg az eredeti program, akkor az valaki másnak a terméke, aki szinte 100%, hogy aktiválta a kódvédelmet és igy a tartalom nem olvasható ki.
Előző munkahelyemen forgalmaztunk/ használtunk kínai gyártmányú PID-es hőfokszabáylzót, amiben ATmega16, vagy 32 volt. Kíváncsiságból kiolvastam, és legnagyobb meglepetésemre nem volt bekapcsolva az olvasásvédelem.
A kivétel erősíti a szabályt
Nem az adapter a probléma, az eszköz amivel kiolvassuk. Ha át kell rakni adapterbe vagy át kell forrasztani azt megoldom, de van ICSP port.
Pont 50% az esélye annak, hogy olvasható vagy nem, de pont ezért akarnám kipróbálni, hogy leolvasható-e. Ha igen akkor beruházok egy komolyabb eszközbe mint ami most rendelkezésre áll nekem itthon. Szóval Xgecu T56 és Wellon VP-998 írók biztosan kezelik ezt a típust, szóval ha valaki rendelkezik ilyennel kérem írjon Köszönöm, Peti
Nem irtad, hogy helyileg hol keresel. Nekem van programozóm, akár JTAG akár SPI csatlakozó van a NYÁK-on, akkor ki tudnám próbálni ha eljuttatod hozzám. Egy képet esetleg tegyél fel a csatlakozóról, lássuk miről van szó.
A hely annyira nem érdekes, ha nem határmentén vagy elviszem, de egyébként Budakalászon vagyok.
Csatoltam a képet.
JTAG van rajta, de nem a szokásos 2x5 pines tüskesor:
6 - GND 5 - RESET 4 - TMS 3 - TDI ??? 2 - TDO 1 - +5V ??? 1-es és 3-os láb nem látszik hova megy, azt csak feltételezem. AVR JTAG kiosztásra kellene alakítani, mert a programozón ez van. A hozzászólás módosítva: Feb 26, 2024
Az 1 az TCK a többi stimmel.
ICSP kiosztás : https://upload.wikimedia.org/wikipedia/commons/8/8f/Icsp-pinouts.png A VCC az USB-ről megy 5 volt. Kábelt meg tudom oldani, de a 6 pin adott. De úgy látom a JTAG-nek se kell több valójában, mert a VCC meg a GND megvan az USB-ről. De ha kell az eszköznek a VCC és GND is megoldom, végül is be lehet azt forrasztani az USB csatlakozó tövéhez.
AZ ICSP amit linkeltél az az SPI módban programozás, ez itt JTAG lenne. +5V kell, mert a programozó ellenőrzi a cél áramkör tápjának meglétét.
Kedves Fórumtársak!
Az AD9833 mellékelt kódját nagyjából érteném, ha működne, de erről szó sincs... Azon sorokat, melyekben a "gen.(stb.)" szerepel az "AD9833 gen(9);" kivételével "megpirosozza" (kép mellékelve). Mi hiányzik nekije???
Köszönettel; Tambi.
A lényeg ami nem látszik a képeden, a hibaüzenet, hogy mire-miért fúj a fordító ...
Lehet nem hozzávaló library-t használsz, hiába ugyanaz a neve, lehet tök más "belül"...
Bocsánat, az AD9833 még a boltban van, lehet, hogy azt keresi?
Kedves Pipi!
Ezt mind írja, ami az én "-végtelen -> 0" angoltudásomat még Google fordítóval is messze meghaladja... C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino: In function 'void setup()': C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:12:7: error: 'class AD9833' has no member named 'Begin'; did you mean 'begin'? gen.Begin(); ^~~~~ begin C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:13:7: error: 'class AD9833' has no member named 'EnableOutput' gen.EnableOutput(true); ^~~~~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino: In function 'void loop()': C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:21:35: error: 'class AD9833' has no member named 'ApplySignal' if(sw1==LOW && sw2==LOW) gen.ApplySignal(SINE_WAVE,REG0,f); ^~~~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:21:47: error: 'SINE_WAVE' was not declared in this scope if(sw1==LOW && sw2==LOW) gen.ApplySignal(SINE_WAVE,REG0,f); ^~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:21:47: note: suggested alternative: 'SIZE_MAX' if(sw1==LOW && sw2==LOW) gen.ApplySignal(SINE_WAVE,REG0,f); ^~~~~~~~~ SIZE_MAX C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:21:57: error: 'REG0' was not declared in this scope if(sw1==LOW && sw2==LOW) gen.ApplySignal(SINE_WAVE,REG0,f); ^~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:21:57: note: suggested alternative: 'FE0' if(sw1==LOW && sw2==LOW) gen.ApplySignal(SINE_WAVE,REG0,f); ^~~~ FE0 C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:22:35: error: 'class AD9833' has no member named 'ApplySignal' if(sw1==LOW && sw2==HIGH) gen.ApplySignal(TRIANGLE_WAVE,REG0,f); ^~~~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:22:47: error: 'TRIANGLE_WAVE' was not declared in this scope if(sw1==LOW && sw2==HIGH) gen.ApplySignal(TRIANGLE_WAVE,REG0,f); ^~~~~~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:22:61: error: 'REG0' was not declared in this scope if(sw1==LOW && sw2==HIGH) gen.ApplySignal(TRIANGLE_WAVE,REG0,f); ^~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:22:61: note: suggested alternative: 'FE0' if(sw1==LOW && sw2==HIGH) gen.ApplySignal(TRIANGLE_WAVE,REG0,f); ^~~~ FE0 C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:23:35: error: 'class AD9833' has no member named 'ApplySignal' if(sw1==HIGH && sw2==LOW) gen.ApplySignal(SQUARE_WAVE,REG0,f); ^~~~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:23:47: error: 'SQUARE_WAVE' was not declared in this scope if(sw1==HIGH && sw2==LOW) gen.ApplySignal(SQUARE_WAVE,REG0,f); ^~~~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:23:59: error: 'REG0' was not declared in this scope if(sw1==HIGH && sw2==LOW) gen.ApplySignal(SQUARE_WAVE,REG0,f); ^~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:23:59: note: suggested alternative: 'FE0' if(sw1==HIGH && sw2==LOW) gen.ApplySignal(SQUARE_WAVE,REG0,f); ^~~~ FE0 C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:24:35: error: 'class AD9833' has no member named 'ApplySignal' if(sw1==HIGH && sw2==HIGH) gen.ApplySignal(HALF_SQUARE_WAVE,REG0,f); ^~~~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:24:47: error: 'HALF_SQUARE_WAVE' was not declared in this scope if(sw1==HIGH && sw2==HIGH) gen.ApplySignal(HALF_SQUARE_WAVE,REG0,f); ^~~~~~~~~~~~~~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:24:64: error: 'REG0' was not declared in this scope if(sw1==HIGH && sw2==HIGH) gen.ApplySignal(HALF_SQUARE_WAVE,REG0,f); ^~~~ C:\Users\APA-PC-Otthon\Desktop\OneDrive - Csarnok.hu Kft\EN\AVR_2024\AD9833_ALAP\AD9833_ALAP.ino:24:64: note: suggested alternative: 'FE0' if(sw1==HIGH && sw2==HIGH) gen.ApplySignal(HALF_SQUARE_WAVE,REG0,f); ^~~~ FE0 Multiple libraries were found for "AD9833.h" Used: C:\Users\APA-PC-Otthon\Documents\Arduino\libraries\AD9833 Not used: C:\Users\APA-PC-Otthon\Documents\Arduino\libraries\AD9833-Library-Arduino-master exit status 1 Compilation error: 'class AD9833' has no member named 'Begin'; did you mean 'begin'?
99.99% hogy nem azt a AD9833 libraryt használod, amihez a forrásszöveg készült.
Köszi Pipi!
Hogyan találhatnám meg az "eredeti" könyvtárat?
Király vagy PIPI (így; csupa NAGYBETŰVEL)!!!
Két AD9833.h volt, egy 3k-s és egy 5k-s. A 3-ast letöröltem, az 5-öst meg beletettem az "AD9833_ALAP" mappába. Kiegészítettem Serial. print-el, és látom, hogy működik!!! Reggelitől vacsoráig dolgoztam azon, amit te két perc alatt megfejtettél! Gratulálok, és köszönöm szépen! Derűs estét; Tambi. (nekem már van...)
AD9833
Megérkezett a várva várt kit (ad9833 1), de nem tudom a frekvenciát változtatni. A három vezérlőjelhez (SDATA, FSCLK, FSY) a kitnek 4 lába, és három, egybemosódó felirata van. A jelalakot tudom változtatni, de a frekvenciaváltoztatáshoz nem fogadja el az analogRead-et. Ha "f" helyére beírok egy konkrét számot, akkor annak pontosan a felével rezeg.
vagy:
Ez utóbbi program teljesen független a beírt 10000-es frekvenciától, bármit írok 1600Hz körül rezeg... A 4 érintkezőből melyik az a 3, amelyiket használni kellene? Köszönettel; Tambi. A hozzászólás módosítva: Márc 13, 2024
|
Bejelentkezés
Hirdetés |