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
4.7.2-es avr-gcc-t használok. Én úgy tudom, hogy ő már egyből linkel(és a tapasztalat is ezt mutatja), nem kell nekem külön linkert hívnom. De most ennek utána járok. Ha ez a kínja, akkor azt hiszem nem egy sörrel jövök.
![]()
Ja, ezen átsiklottam, odáig pedig nem jutottam.
Jó nyomon vagyunk pedig. Az avr-objcopy-nak adtam egy -j .data opciót is pluszba, mostmár a "tesztelés" stringből annyi átjött, hogy "tesztele" és utána egy rakat szemét. Itt márpedig a fordítás van leszúrva.
Látod jó napom van. Gcc 4.3.3-at használok, de a makefile-t és a kódot azért felrakom.
Fordítsd le, ez legenerálja neked az assembly-t is .src kiterjesztéssel.
Tudsz mondani neki egy
avr-objdump -h thermonemtudommi.elf parancsot. Abbol latni fogod a section-oket. -d vel meg disassembly-t kapsz.
Basszus, köszönöm. Megint tanultam valamit, több napos szívás árán. Köszönöm a segítséget!
C nyelvbe a switch-case utasításnál adhatok olyat hogy :
Igen a break kell, de sajnos nem int tipusu szamokat akarok vizsgálni, hanem egész számokat, akkor maradjak az if nél?
Tulajdonképpen adc vel mért feszültség után az aksi állapotát mutatná ki százalékban, tehát 21,6v nál 0% ot kell megkapjon a percent nevű változó, 24v nál 100%
A switch-case csak int tipus tud.
Idézet: „de sajnos nem int tipusu szamokat akarok vizsgálni, hanem egész számokat” Azt int az egeszet jelent (integer), gondolom, hogy tortet akartal irni, amire a C nyelvben float vagy double tipus van. Azon felul a 23,42 az nem tört szam! A tizedes torteket ponttal irjak: 1.2. De ugye nem 100 if-else aggal akasz megoldani egy kivonast es egy osztast?!
Ha ugyes vagy, akkor a float szamolast ki lehet hagyni, mert az A/D erteked is int, felesleges a float hasznalata. Mikrokontrolleren eleg 'draga' dolog.
Ha a feszültség-akksi állapot lineáris, akkor ezt egyszerű matematikával kiszámolhatod (aránypár):
állapot(%) =100*(mértADC-ADC21V)/(ADC24V-ADC21V) ahol ADC21V és ADC24V a 21.6V-nál és 24V-nál mért ADC érték.
Bővebben: Link
igy jólvan elmentve volt változóba a mért feszültség?
Az attól függ...
Az általad linkelt oldalon a beállításhoz ráad 5V-ot az ADC bemenetre, és addig taker egy potit amig 5V-ot nem mutat. Az ACD 0-1023 közötti értéket ad, és 0-5V között tud mérni, ezért minden a mérendő feszültség leosztásától függ.
Na, túl vagyok életem legnagyobb AVR-es szívásán.
Letöltöttem egy low cost ethernet shield kapcsolási rajzát innen. Ezek után bemegyek a ChipCad-be, megveszem a WE 7499010211A-es magjack ethernet csatlakozót, megtervezem a PCB-t, a DesignSparkban kiválasztom azt, hogy magjack csatlakozó és összekötöm a huzalokat. Maratom, fúrok, faragok, elkészül a mű, bekapcsolom és nem megy. A vicc az, hogy ugyebár hiába van 8+4 lába annak a szerencsétlen csatlakozónak, hiába magjack, a gyártók úgy kötik be a lábakat, ahogy éppen jólesik. A DesignSpark csatlakozója egy megvalósítást tükrözött, de végülis miért ne kötné másik gyártó másképpen be ugyanazokat a lábakat. Most már megy, tudok DHCP-zni, csak a panel alján 3 vezeték csüng, meg egy átvezető huzallal több lett. ![]() A hozzászólás módosítva: Szept 21, 2013
Jogos a kérdés. Végülis ha C64-en izzítottam volna be az ethernet kártyát (lehetséges), akkor ott szívtam volna vele.
Nálam a tervezés mindíg úgy indul, hogy az alkatrész már a kezemben + adatlapja.
Az ENC-vel vigyázz! - sok erőforrást elvesz a csomagfeldolgozás, - sok csomag esetén az AVR nem bírja (Nálam kifagy: 2 ping + 2 böngészős oldallekérés). Kicsi az ENC memóriája! A hozzászólás módosítva: Szept 22, 2013
Igazából az egész egy játék volt. Kb. 3500-ból építettem meg a shield-et, de ha mikrokontrollert is tennék hozzá, akkor még 2000 Ft jönne rá járulékosan. Magyarul egy ethernetes áramkör elkészítése ebben a formában minimum 5500 Ft.
A Wiznet chippel az a bajom, hogy drága és felületszerelt. Egy ezressel megdobná a költséget, emellett pepecselhetnék az SMD-s forrasztással is hozzá. Szóval, ha webszervert akarnék és nem csak fillérekből szórakoztatni magamat, akkor megvennék 8000-ért egy Raspberry Pi-t, aminek az internetes képessége messze túltesz az AVR-en és a Wizneten, miközben árban közel ugyanott vagyok.
Viszont az érdekelne, hogy a 60% körüli packet loss is ezért van, vagy az más hiba?
Mindenesetre ha a chrome-ot kilököm leesik 40%-ra.
A helyzet az, hogy az ENC28J60-ban nincsen polaritásérzékelés és az én routerem fordított polaritással küldött. Mivel a panelen már úgyis össze-vissza lógnak alul a kábelek, minden mindegy alapon átforrasztottam és lám 0% adatvesztés.
Lehet ezt egyáltalán ilyenformán komoly dolgokra használni? Mi van, ha egy új router nem fordított polaritással küld?
Komoly dolgokra én a W5100-t hazsnalom.
Az ENC eseten ha nem hyors az adatfeldolgozas illetve nem M328 van mellette, akkor elveszti a legtöbb program azt a funkciót, hogy adott csomagra valaszolni tudjon ![]() Az ENC-t en ezert max relekattogtatasra ill. minimal-WEB kiszolgalasra merem rakni. A RasPi eseten meg ott a gond, hogy az Linux és komplexebb.... ![]()
Sziasztok! Valaki segitene elhárítani ezt a sok errort (még MCU programozásban kezdő vagyok)
Milyen szerkesztőt használsz?
Azért itt a szemeddel is gond van.
Egy csomó elütés. Előbb ezeket javítsd. Ez mi?:
A hozzászólás módosítva: Szept 23, 2013
Sziasztok!
Küzdök egy Attiny45-el és már teljesen csupasz kóddal az a bajom, hogy gyorsan villog a led.
Valaki esetleg tudna segíteni?
A 7 üres sor helyett inkább tedd be azt a részt, ami a LED-et villogtatná
![]()
Wait vagy delay hiányzik.
Vagy a szemed már öreg és nem látja a 0.5...4 MHz-s villogást. Vagy a LED-ed határfrekije kicsi ![]()
A ledet nem villogtatni akarom, hanem csak simán világítson.Most villog kb. másodpercenként 4-5-öt.
Akkor viszont itt elbuktam, mert ennek nem kéne villognia.
LED-en átfolyó áram?
Reset lábon felhúzó 10K és 100n hidegítő kerámia kondi van?
Tápfesz OK!
Az ellenálás, kondi megvan tápfesz 5,04v, a leden az áramot nem tudom megmérni rendesen mert villog - így csak 2mA.
|
Bejelentkezés
Hirdetés |