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   470 / 840
(#) mzozo95 hozzászólása Aug 24, 2012 /
 
Ajánlott olvasmány, és még magyar is!
Bővebben: Link
(#) trudnai válasza wolf84 hozzászólására (») Aug 25, 2012 /
 
Ha van olyan LED-ed amelyiknek a feszultseg esese 3.6V kore esik, akkor azt is berakhatod akar 100-150 ohmos ellenallassal. Csak ugye a LED az nyito iranyba legyen, ne zaro iranyba, mint a zenert raknad... Aztan mikor hetfon kinyit a bolt akkor elmesze es megveszed a zenert es lecsereled...
(#) zombee válasza wolf84 hozzászólására (») Aug 25, 2012 /
 
Akkor inkább AVR-Doper! Az USBASP elég botrányos, és nagyon kevés program támogatja(pl. AVR Studio sem).
Zener nélkül nehéz lesz, de nem nyírja ki az USB portot. Az én gépem pl. működik így vele, egy másik már nem...

A zenert ne pótold ellenállással/osztóval, mert ugye a PC is ad, és ha leosztod akkor az AVR nem tudja érzékelni.
LED: a kék LED-ek nyitófeszültsége kb. 3.2-3.6V, ilyet tegyél be ha van. Eléje sorba egy ~22Ohm ellenállást,
mert ugye az USB is ad. Az AVR oldalára pedig 150Ohm
is mehet, nem kell a 68Ohm - hoz ragaszkodni!
(#) wolf84 válasza zombee hozzászólására (») Aug 25, 2012 /
 
hát nem tudom nekem nem az a lényeg hogy atmel akarok fejleszteni, hanem 89s8253 kellene égetnem. pl avr studioban sincs benne....
de usbasp találtam ilyen ami direket 89 sorozathoz van program is van.
Bővebben: Link
emiatt kellene csak mivel van stk500v2-em.
(#) zombee válasza wolf84 hozzászólására (») Aug 25, 2012 /
 
Érdekes, ilyenkor a tanult kolléga csendben marad és nem írkál a fórumra.
Bezzeg amikor valaki le akarja hagyni a RESET lábról a felhúzó ellenállást vagy a 100nF kondit a táplábakról,
netán az AVR-Dopert élteti vagy vagy épp nem tudja telepíteni, mindjárt beindul a gépezet.
(#) zombee válasza zombee hozzászólására (») Aug 25, 2012 /
 
Most éppen nagyon jól jönne ha valaki leírná a tapasztalatait az AT89xyz procikkal kapcsolatban,
mivel és hogyan lehet/érdemes programozni, mivel még én se programoztam ilyet. Robi, várunk!
(#) wolf84 válasza wolf84 hozzászólására (») Aug 25, 2012 /
 
még 1 kérdés 10,4k hex fájlom az hogy férbele 8k atmega8-ba?
(#) zolee1209 válasza wolf84 hozzászólására (») Aug 25, 2012 /
 
A hex nem csak a nyers bináris állományt tartalmazza, ezért nagyobb a mérete...
(#) wolf84 válasza zolee1209 hozzászólására (») Aug 25, 2012 /
 
Kösszi
(#) eyess hozzászólása Aug 25, 2012 /
 
Az USBASP vel való programozáshoz tudom ajánlani ezt.

eXtreme Burner - AVR

Gyors egyszerűen kezelhető , és érthető.

Külön felületbe kell megnyitni a Flash be való tartalmat , és külön felületbe az EEprom ba való tartalmat , és a fuse bitek beállítása is roppant egyszerű vele.Ettől jobb nem kell.
(#) zombee válasza wolf84 hozzászólására (») Aug 25, 2012 /
 
jó gyorsan.
A .hex az nem .bin, ne keverd össze! A hex-ben 2 karakter 1 bájt, és a többi rizsa is sokat foglal.
Most így saccra, úgy 3-4k lehet a kód...
(#) wolf84 hozzászólása Aug 25, 2012 /
 
usbasp-vel se lettem előrébb gép felismeri, de 89s52 és 89s8253-vel nem akarja az igazságot sajna nincs még egy atmega8 ki probáljam avval is... biztos müködik-e a cucc.
(#) TavIR-AVR válasza zombee hozzászólására (») Aug 25, 2012 /
 
???

8051-hez alapvetően a 80x51 család programozója szükséges. Kivéve az 1-2 típust, amely un. ISP programozófelülettel bír. Ekkor azonban figyelni kell a negált reset-jel!
A legegyszerűbb megoldás egy STK200-as programozó, és ezzel az első ISP-s 89Sx51 chip felprogramozható . Ez van a legtöbb utánépített _cél_ programozóban.
Az x51 család nekem kicsi memóriailag. Ezért nem is folytam bele részletesen a belső működésébe és a programozásába.
(#) TavIR-AVR válasza zombee hozzászólására (») Aug 25, 2012 /
 
A fórum az önkéntes segítség tárháza és mindenki a legjobb tudása szerint segít. Bár ez sem kötelező, csak lehetőség...
(#) eyess válasza wolf84 hozzászólására (») Aug 25, 2012 /
 
Gond nélkül megírja az Atmega8 at az USBASP .Én a helyedbe más drájver után néznék ,de ha a gép felismeri elvileg jónak kellene lennie.
(#) wolf84 válasza eyess hozzászólására (») Aug 25, 2012 /
 
bocsi lehet hogy rosszul fogalmaztam...,
nem akarlak megbantani szöveg értés... előbb is linkeltél usbasp gui-t de el álruldnád hol láttál benne 89 sorozatott
mert arról van szó és mást is érdekelné! mi merre pontosan...
zombee "Most éppen nagyon jól jönne ha valaki leírná a tapasztalatait az AT89xyz procikkal kapcsolatban,
mivel és hogyan lehet/érdemes programozni, mivel még én se programoztam ilyet. Robi, várunk! "
mert usbasphez is külön firmware kell 89s sorozathoz pl. amit linkeltem is vagy még egy:
Bővebben: Link
de azért kösszi segítséget....
(#) FEEDLAN hozzászólása Aug 25, 2012 /
 
AVR-es kérdés, szakmai ügy ez is, csak picit más oldalról.
Olyan ügyes munkatársat kersünk, aki AVR, ARM, és Androidos ipari elektronikai fejlesztésünkbe be tudna lépni, gyorsítaná munkánkat, rendes bejelentett munkabéres BP.-i munkahelyre.

Köszönöm a lehetőséget
feedlan@mail.com
(#) mzozo95 hozzászólása Aug 25, 2012 /
 
HI!

Szeretnék egy bitműveletet végrehajtani, a bit: xxxxxxxx ebből szeretném átalakítani erre: xxx0xxxx. Milyen bitműveletekkel megvalósítható ez?(tehát egy ismeretlen bájtban csak egy bitet szeretnék módosítani 0-ra vagy 1-re).

Elvileg van erre két spéci függvény: cbi(reg, n)- > n edik bit=0 és sbi(reg, n) n->edik bit=1;
Jelenleg portoknál csak egy bit módosításához kellene nekem ez a művelet, de a cbi-sbi nélkül.


Valaki tudna nekem segíteni?
(#) wolf84 hozzászólása Aug 25, 2012 /
 
müködik
(#) zolee1209 válasza mzozo95 hozzászólására (») Aug 25, 2012 /
 
Miért nem jó a cbi- sbi művelet?!

  1. in  r16,port
  2. andi  r16,0b11110111
  3. out  port,r16
(#) mzozo95 válasza zolee1209 hozzászólására (») Aug 25, 2012 /
 
C nyelven lenne szükségem erre(avr studio4et használok). Igazából sokkal egyszerűbben meg tudnám érteni a port kezelést, ha egy profi le tudná nekem vezetni, hogy hogyan csinálják ezt, és későbbiekben még a manchester kódolásnál is jól jön, ha egyenként tudok biteket módosítani, de az már más ügy...
(#) wolf84 válasza wolf84 hozzászólására (») Aug 25, 2012 /
 
amit be linkeltem ussbasp oldalakat 89s52 müködik 89s8253 nem akarja igazságot most se...
(#) IMi válasza mzozo95 hozzászólására (») Aug 25, 2012 / 2
 
Helló!
Itt ez jól le van írva: Bővebben: Link
(#) mzozo95 válasza IMi hozzászólására (») Aug 25, 2012 /
 
köszi!
(#) mzozo95 válasza mzozo95 hozzászólására (») Aug 25, 2012 /
 
A cbi-sbi műveletnél mit kell be "#include"-zni a fejlécállományba? Mert ez nem elég hozzá:
  1. #include <avr/io.h>
  2. #include <util/delay.h>
  3. #include <avr/interrupt.h>
  4. #include <inttypes.h>
  5. #include <stdbool.h>

és jelez az AVR Studio 4 hibakeresője, hogy nincs definiálva...
(#) sgt válasza mzozo95 hozzászólására (») Aug 25, 2012 /
 
Másold be a kódod. Ezek alap műveletek a C-ben így jelen esetben nem kell include fájl.
(#) mzozo95 válasza sgt hozzászólására (») Aug 25, 2012 /
 
Ez egy hosszabb lcd vezérlőből egy részlet, konkrétan itt használtam ezeket:
  1. //..............
  2. void lcd_toggle_E() {
  3.          sbi(PORTB,2); //sbi bit=1
  4.           _delay_us(500);
  5.          cbi(PORTB,2);//cbi bit=0
  6.           _delay_us(500);
  7. }
  8. //........


warning:
Idézet:
„../LCD_kijelzo.c:44: warning: implicit declaration of function 'sbi'
../LCD_kijelzo.c:46: warning: implicit declaration of function 'cbi'

error:

Idézet:
„.../LCD_kijelzo.c:44: undefined reference to `sbi'
.../LCD_kijelzo.c:46: undefined reference to `cbi'


Valamiért csak nem definiáltnak találja ezeket a függvényeket, vagy valamit rosszul csinálok?
(#) sikolymester válasza mzozo95 hozzászólására (») Aug 25, 2012 / 1
 
Mar nincsen tamogatva a cbi. Bővebben: Link
(#) mzozo95 válasza sikolymester hozzászólására (») Aug 25, 2012 /
 
Az jó, köszönöm!
  1. void lcd_toggle_E() {
  2.          PORTB |= _BV(1);
  3.           _delay_us(500);
  4.          PORTB&= ~(_BV(1));
  5.           _delay_us(500);
  6. }


A _BV(1) nél a bit megjelölésénél nem kötelező a "PB1" megnevezés, tehát elég csak az "1"?
(#) sgt válasza mzozo95 hozzászólására (») Aug 26, 2012 /
 
Nézd meg azt az io.h-t ami jelen esetben a te használsz típus fájlja. Pl. atmega16 -> iom16.h és válaszra te is rá fogsz jönni. C:\WinAVR-20100110\avr\include\avr az útvonal.
Következő: »»   470 / 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