Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   750 / 840
(#) Topi válasza gabi20 hozzászólására (») Nov 5, 2016 /
 
Pacsi! Én is a legelső használatkor így jártam
(#) sankesz19 hozzászólása Nov 5, 2016 /
 
Tisztelt Nagyérdemű!
Olyan kérdéssel fordulok hozzátok, hogy miért lehet az, hogy atmega16a-nál mikor beolvasok a D-port felső 4 bitjéből egyet és azt el tudom küldeni a TxD-n, de ha az alsó 4 bitből próbálok egyet,azt semmi képp nem olvassa be így el sem küldi. A kód jó, mert ugyan azt használom a felső 4 bájtra, mint az alsóra. Nem tudom, de lehet az UART beállítások nem megfelelőek?
Kipróbáltam egy másik m16a-val is és ott is ugyan ez a probléma.
Ha valaki tud segíteni annak nagyon köszönöm.
Sajnos határidős a munkám és ez miatt csúszok már vagy 1 napja.
(#) std66 hozzászólása Nov 5, 2016 /
 
Sziasztok!

Még 2011-ben kaptam egy STK500 típusú AVR programozót, amit Windows 7 32-bites rendszeren tudtam is használni. Az eszközkezelő "Virtual Communications Port" néven ismerte fel. Van hozzá 64 bites driver, de mivel az nincs digitálisan aláírva, ezért nem is engedi azt feltelepíteni (tudom, ez az ellenőrzés kikapcsolható, de szerintem jobb ötlet engedélyezve hagyni). Az lenne a kérdésem, hogy tudnátok ehhez ajánlani digitálisan aláírt 64-bites drivert?
(#) zombee válasza sankesz19 hozzászólására (») Nov 5, 2016 /
 
Ha most a C portról lenne szó akkor azt mondanám, a JTAGEN nevű fuse bitet kapcsold ki.
A D porttal az a probléma hogy az USART is azon van, PD0 és PD1 lábak...
A hozzászólás módosítva: Nov 5, 2016
(#) std66 válasza std66 hozzászólására (») Nov 5, 2016 /
 
Közben sikerült megtalálnom a megoldást ezen az oldalon, hátha valaki más is hasonló helyzetbe futna, mint én (mint kiderült, nekem egy CDC-alapú programozóm van):
https://github.com/protaskin/LowCDC-Win10x64
Mivel ez nem tartalmaz mindent, ezért csatoltam a saját változatomat.

A telepítése kétféleképp oldható meg.
1) Digitálisan alá kell írni a drivert. (Ez a biztonságosabb.)
2) Digitális aláírás nélkül telepíteni. Nekem ekkor panaszkodott egy kicsit, hogy távolítsam el a drivert, de úgy tűnik, így is működik.

Az 1. módszer:
Le kell tölteni a Windows Driver Kit 10-es verzióját és telepítéskor ki kell választani, hogy a telepítőkészletet csak töltse le. Ekkor ugyanis lesz egy kis program benne, az Inf2Cat.exe (\Program files (x86)\Windows Kits\10\bin\x86 mappában), amivel digitális aláírást adhatunk a drivernek.
A WDK telepítését követően a csomagban van egy createcat.bat, azt kell parancssorból futtatni. Ha nem dob hibát a végén, akkor már telepíthető is a driver.

A 2. módszer:
Újra kell indítani a gépet (Shift-et lenyomva tartva az Újraindításra kattintva). Ki kell választani a Hibaelhárítást, majd a Speciális lehetőségeket, végül az Indítási beállításokat. Ha a gép újraindul, akkor ki lehet választani majd, hogy ne követelje meg a driverek digitális aláírását.
(#) zombee válasza std66 hozzászólására (») Nov 5, 2016 /
 
Gyanítom, AVR-Doper lehet. Nagyon jó kis cucc volt a maga idején, sajnos a M$ nem így gondolta.
(#) sankesz19 válasza zombee hozzászólására (») Nov 7, 2016 /
 
Megtaláltam a problémát nagynehezen. Lényege az volt, hogy beolvasta a biteket megfelelően csak az adatlapon található beállításokkal nem működött jól az USART. Tulajdonképpen jól működött csak nem 8bit-et küldött hanem 5-öt, lehet valami hamisított vezérlővel lehetett dolgom?
(#) csabeszq válasza slimtomi hozzászólására (») Nov 8, 2016 /
 
Mindenki ezt csinálja tesztelésnél.

Én egy I2C könyvtárhoz unit teszteket írtam. Összekötöttem az SDA/SCL jeleket egy-egy pinnel, amit kézzel állítgattam.

Az AVR I2C hardvere egy bit-banges I2C-vel kommunikált.
(#) zombee válasza sankesz19 hozzászólására (») Nov 8, 2016 /
 
Akkor nem Doper volt? Milyen vezérlővel fut?
(#) lajos1969 hozzászólása Nov 9, 2016 /
 
Sziasztok!
Lenne egy kis problémám. Megépítettem ezt a termosztátot Atmega8-al már egy pár éve s most is csináltam egy másikat! Oroszul volt benne a menű szövege akkoriban sikerült angolra átírnom,/ az epromban/ de van egy hiba benne. Nem jövök rá mit kellene átírnom. Itt egy kép a kijavítandó részről! !legalább a c betűt s-re./
Hátha valaki tudna nekem segíteni.
Köszönöm!
A hozzászólás módosítva: Nov 9, 2016
(#) lajos1969 válasza lajos1969 hozzászólására (») Nov 9, 2016 /
 
Sikerült a hex-be megtaláltam átírtam!
(#) r.laci hozzászólása Nov 9, 2016 /
 
Sziasztok!

Egy olyan kérdésem lenne, hogy az AVR Studio 4-ben megírt programomat, hogyan tudom USB ASP programozóra küldeni?
A válaszokat előre is köszönöm!
RL
(#) TavIR-AVR válasza r.laci hozzászólására (») Nov 10, 2016 /
 
Sehogy közvetlenül.
Az AVRSzuidiuóval HEX-t és EEP-t készítesz, majd AVRDUDE-val töltöd fel a chipre.
(#) zombee válasza r.laci hozzászólására (») Nov 10, 2016 /
 
Khazama-AVR például. Talán Bascom is.
(#) rolandgw hozzászólása Nov 10, 2016 /
 
Borzasztó ez a logo!

Tiny.jpg
    
(#) fifadani válasza rolandgw hozzászólására (») Nov 10, 2016 / 1
 
De ugye nem kell elkezdenem tanulni a pic-et?
(#) csatti2 válasza fifadani hozzászólására (») Nov 10, 2016 /
 
Szerintem nem. Akkor már érdemesebb átállni vmilyen ARM alapúra.
(#) rolandgw válasza fifadani hozzászólására (») Nov 10, 2016 /
 
Az ördög a részletekben rejlik. Csak ICE-al programozhatóak, aminek az árát egy kicsit megemelték közben.
Bővebben: Link
(#) kapu48 válasza rolandgw hozzászólására (») Nov 10, 2016 /
 
Azt a szégyentelen pofájukat!
Na ezért ne foglakoztam PIC-el soha!

Az STM32-es teszt panelekhez hozzá csapják az ST-LINK-et. És az egész kijön 10EFt körül!
A hozzászólás módosítva: Nov 10, 2016
(#) zombee válasza kapu48 hozzászólására (») Nov 10, 2016 /
 
Azért tegyük hozzá hogy programozáshoz és debuggoláshoz kizárólag a RESET lábat (és csak azt!) használja. Nem zavar GPIO-t (MOSI-MISO-SCK), nincs külön JTAG lábsor (TDI-TDO-TMS-TCK), meg dedikált programozóláb (pl. PGDATA). Nincs kizárás, ha nem jó órajelet állítottál be. Na jó, ez utóbbit az összes PIC is tudja...

Szerintem tuti hogy lesz ehhez is valami klónozó cucc, és remélhetőleg a "régi" AVR-ek is megmaradnak még egy darabig. Legalább addig amíg egy normális IDE-t össze nem raknak...
(#) rolandgw válasza zombee hozzászólására (») Nov 11, 2016 /
 
Idézet:
„Nincs kizárás, ha nem jó órajelet állítottál be.”

Ezt az XMEGA is tudja.
Új IDE ? Inkább ne! Nagy tétben mernék rá fogadni, hogy valamilyen formában fizetős lenne.
Egyébként a Studio 7-ben már adaptálva vannak az új Tiny-k.
(#) kapu48 válasza zombee hozzászólására (») Nov 11, 2016 /
 
Idézet:
„Legalább addig amíg egy normális IDE-t össze nem raknak...”

Te tényleg minden PIC típushoz akarsz 1 új IDE-t 100 - 200EFt-ért venni???
Mert ezek azt sem adják ingyen!
A hozzászólás módosítva: Nov 11, 2016
(#) rolandgw válasza (Felhasználó 15355) hozzászólására (») Nov 11, 2016 /
 
Nem vagyok képben, de ez az árlista akkor miről szól?
(#) Hp41C válasza rolandgw hozzászólására (») Nov 11, 2016 /
 
A fordítoknak háromféle licenszük lehet:
Free: Ingyenes, gyenge optimalizálás (min. négyszeres kódméret) --- Csapnivaló
Standard: Fizetős, jobb optimalizálás (kb. kétszeres kódméret)
PRO: Fizetős, még jobb optimalizálás

Az általad belinkelt listában megtalálható a Standard és a PRO verziók árai...
Keressd az xclm -et...
A hozzászólás módosítva: Nov 11, 2016
(#) rolandgw válasza Hp41C hozzászólására (») Nov 11, 2016 /
 
Köszönöm. Akkor ha csak a standardot adom össze 8-32bit-ig az 445 ezer Ft.
(#) csabeszq válasza Hp41C hozzászólására (») Nov 11, 2016 /
 
Amikor AVR mellett döntöttem, akkor a rendes C++ fordító hiánya PIC-re közrejátszott.
Én egy büdös petákot nem fizetnék PIC fordítóért. Pláne olyanért, ami dupla kódméretet generál.

AVR alatt nem győzöm kapcsolgatni az avg-gcc opcióit, hogy kisebb kódot kapjak. Elszáll az agyam, ha a fordító szószátyárkodik.

Mindenesetre még a 328P-t ütöm, mert jó IO portjai vannak, frankó kis hardver.
A másik olcsó chip az ESP8266, ami wifi-s, csapnivaló IO portokkal. Jelenleg a kettőt együtt nyomom.

Az ESP8266 1 MByte programméretből nehéz kifogyni, az 328P meg IO portként kiváló.
A hozzászólás módosítva: Nov 11, 2016
(#) killbill válasza csabeszq hozzászólására (») Nov 11, 2016 /
 
Ebben az egeszben az a legszomorubb, hogy a PIC forditok (16-32 bit) is gcc alapuak (legalabbis regen az volt), es mint olyan, annak a forrasszoveget a mikrocsip koteles inggyenesen kozzetenni. Ez benne van a gcc licencben. Valahol kozze is teszik, csak le kell tudni forditani. Az AVR verzio viszont a core gcc resze, ezert az mindig ingyenes lesz. Mellesleg a PIC32-ben MIPS m4k core van, amire szinten van ingyenes gcc a mikrocsiptol fuggetlenul.
(#) Hp41C válasza csabeszq hozzászólására (») Nov 11, 2016 /
 
Ezekkel már egy egész topikot teleírtak...
(#) wbt válasza fifadani hozzászólására (») Nov 12, 2016 /
 
Már kezdődik:
Idézet:
„Microchip's latest Atmel tinyAVR MCUs combine Atmel 8-bit AVR core with
CIPS (Core Independent Peripherals) normally found in the company's PIC
MCUs.”

uChip perifériák AVRben
Szóval a fordítógyártók nekieshetnek a frissítéseknek, már ha használni akarják az új dolgokat.
Azért ezt a CIPS dolgot nem nagyon fogom agyilag, már hogy magfüggetlen perifériák...mire gondolhatott a költő? (eddig sem sok köze volt a maghoz mondjuk egy DAC-nak vagy analóg komparátornak)
(#) csabeszq válasza killbill hozzászólására (») Nov 12, 2016 /
 
Nekem semmi bajom nincs a fizetős fordítókkal. Van AVR-re olyan fordító, ami mind méretre, mind sebességre elveri az avr-gcc-t. Ha komolyan szükségem lenne rá, fizetnék is érte.

Nekem elsősorban a "pénzért dupla kódméretet generál" filozófiával van bajom.

Meg ugye a kompatibilitási problémákkal, mert jóval több platformon megy az avr-gcc, mint az MPLAB.

Pénzért kevesebbet kapsz, mintha más chip-et vennél. A 4-szeres kódméret meg azt jelenti, hogy egy Attiny85-ös kódjához Atmega328P kellene. Mikrovezérlők alatt használhatatlan. A sebességről meg ne is beszéljünk...
A hozzászólás módosítva: Nov 12, 2016
Következő: »»   750 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.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