HobbyCNC fórum
FTP tárhely: http://cnctar.hobbycnc.hu v0.9.6 Régi HobbyCNC oldal: http://archiv.hobbycnc.hu

Új regisztráció / Átregisztráció a régi fórumról
    
   


Az AVR és lehetőségei...

Rekalaca kezeli! :))

 

Időrend:
Oldal 8 / 25 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   4  5  6  7  8  9  10  11  12   Következő ►  Utolsó ►|

  Fórum főoldal  |  A lap aljára

RogerCo | 1204    2015-05-11 22:12:00 [869]

Ez igaz, de az nem nőtt a szívemhez
Nem mondom, hogy sosem használtam C-ben C++-ban ASM kódot, de abban megírni az egész kódot

Előzmény: elektron, 2015-05-11 21:48:00 [868]


elektron | 15859    2015-05-11 21:48:00 [868]

Ugyanez ASM-ban van vagy 40 byte kb.

Előzmény: RogerCo, 2015-05-11 20:54:00 [867]


RogerCo | 1204    2015-05-11 20:54:00 [867]

Köszönöm,

Nem ismertem az oldalt.
De igazad van.
Lefordítva az Arduino IDE-vel, mindjárt csak 668byte.
De még mindig nem 164byte

AtmelStudio:
Program Memory Usage : 164 bytes 0,5 % Full

#ifndef F_CPU
#define F_CPU 16000000UL // 16 MHz clock speed
#endif

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
DDRB |= (1<< PORTB5);
PORTB &= ~(1 << PORTB5);

while(1)
{
_delay_ms(1000);
PORTB ^= (1 << PORTB5);
}
}


Ugyan ez a kód
Ardiono Ide:
Binary sketch size: 668 bytes (of a 32,256 byte maximum)

void setup()
{
DDRB |= (1<< PORTB5);
PORTB &= ~(1 << PORTB5);
}

void loop()
{
delay(1000);
PORTB ^= (1 << PORTB5);
}

És nekem itt jön az elhatározás, hogy ha ugyanazt letudom/letudnám programozni mennyi minden beleférne a megtakarított helybe

Előzmény: Tarhonyabogar, 2015-05-11 20:33:00 [866]


Tarhonyabogar | 28    2015-05-11 20:33:00 [866]

Lehet, hogy ismered, szerintem elég jó oldal.
Aki nem kezdő, az is talál ötleteket..
http://tronixstuff.com/
Az ARDUINO IDE is megeszi az ASM-et is.
Nézd meg pl a fenti oldalon azt hiszem a port manipulation példát.

Előzmény: RogerCo, 2015-05-11 19:59:00 [865]


RogerCo | 1204    2015-05-11 19:59:00 [865]

Szia, köszönöm.
Próbálkozom.
Volt már olyan projektem, hogy az Arduino alatt a 32Kb kevés volt.
Igazából nem is a CodeVision-t erőltetnem, hanem az AtmelStudio-t.
Nem mindegy, hogy az egyszerű Blink 164byte, vagy 1024byte.
Kb ennyi a különbség...
És most szeretnék egy meglévő komplexebb projektemet átírni másik IDE-re, hogy mekkora a különbség.
De itt elakadtam.

Előzmény: Tarhonyabogar, 2015-05-11 19:50:00 [864]

Tarhonyabogar | 28    2015-05-11 19:50:00 [864]

Szia!
Azt nem tudom, az Arduino környezet miért nem jó számodra. (Mondjuk nem tömör a kód, de ha eddig 2k-ban kellett elférned, a 328-ban a 32 bőven elég lesz.
Amit néztem, a CodeVision AVR 3.20-as már 4k-ig free. A leírás szerint.
A DS18B20-nak 12 biten a konverziós ideje 750ms. Azt hiszem.. (már rég volt). Ha ennél hamarabb olvastad ki az eredményeket, akkor adott hamis adatot.

Előzmény: RogerCo, 2015-05-11 19:00:00 [863]


RogerCo | 1204    2015-05-11 19:00:00 [863]

Sziasztok,
Valakinek sikerült már DS18S20 vagy DS18B20 hőmérőt Atmel studio, vagy CodeVision AVR alatt működésre bírnia?
Én csak odáig jutok el, hogy a CodeVision AVR alatt a standard library-vel az eszközt/eszközöket ki tudom listáztatni. szépen kiírja az azonosítójukat.
De a hőmérsékletre vagy 85-öt vagy 127-et vagy valami irreális számot pl:1020-at kapok.
Ja a mikrovezérlő Atmega328P (Arduino Uno).
Ami még érdekes, hogy az Arduino IDE-jével ugyanazon a lábon, ugyanazzal a 4.7K ellenállással működik..
Nem tudom hogy az időzítésekkel van-e baj, vagy mivel ?
(Sajnos a CodeVision AVR csak 2Kb-ig fordít, így jó lenne nem azzal tovább fejlesztenem )


RogerCo | 1204    2015-05-11 11:36:00 [862]

Sziasztok,
Valaki használ 2Kb-nál nagyobb kódmérethez CodeVision AVR V3-at?


Csuhás | 6722    2015-05-06 14:40:00 [861]

Nem segít. Ez a kalkulátor nem is foglalkozik a lock bitekkel. A többi bit jelentésével pedig nincs gondom.

Előzmény: elektron, 2015-05-06 14:25:00 [860]


elektron | 15859    2015-05-06 14:25:00 [860]

Talán ez segít.

AVR fuse calculator

Előzmény: Csuhás, 2015-05-06 13:32:00 [859]


Csuhás | 6722    2015-05-06 13:32:00 [859]

Lehet hogy triviális dolgot kérdezek de nem boldogulok az atmega 128 lock bitjeinek értelmezésével. Amit szeretnék:
Boot loaderel szeretnék programozni. Szeretném ha a program és a boot loader sem lehetne kívülről olvasható, de a program önmagáról és bootloader területről tudjon crct generálni. Ez a felállás milyen lock biteket kíván. ( Eddig D4H volt a lock bit, de így nem működik a boot területre a crc számítás )


n/a (inaktív)    2014-12-26 20:05:00 [858]

Üdv.

Egy atmega8515-ös avr-be egyszercsak nem tudtam égetni, törölni, config biteket olvasni, mert jött a hibaüzenet: " Device missing or unknown device(-24)"
Most akkor megmakkant az avr?
Gép restart, program újraindít, avr reset .. és semmi változás.
Egyszer egyszer eljött a hiba, aztán mostmár csak a hibaüzenet mindig..
Eleinte csak programzássnál 25-30% -ig jut el, aztán Program failed, mostmár eddig sem jutok el.

Valaki tudna segíteni, hogy mitévő legyek?


GB35 | 2067    2014-11-11 12:59:00 [857]

Mi abban a szemetelés egy AVR-es topicban, hogy valaki AVR témában kérdez ?
Vannak itt kezdők is lehet, hogy tanulnának belőle.

Előzmény: n/a (inaktív), 2014-11-09 14:56:00 [854]


n/a (inaktív)    2014-11-09 16:04:00 [856]

ment privát....

Előzmény: RogerCo, 2014-11-09 15:50:00 [855]


RogerCo | 1204    2014-11-09 15:50:00 [855]

Természetesen

Előzmény: n/a (inaktív), 2014-11-09 14:56:00 [854]

n/a (inaktív)    2014-11-09 14:56:00 [854]

szia!
privátba kérdezhetnék?
ide nem szemetelnék.....

Előzmény: RogerCo, 2014-11-09 09:51:00 [853]


RogerCo | 1204    2014-11-09 09:51:00 [853]

Szia, mi a kérdés ezzel kapcsolatosan?

Előzmény: n/a (inaktív), 2014-11-09 08:40:00 [852]


n/a (inaktív)    2014-11-09 08:40:00 [852]

Valaki jártas Arduino ide környezet alatti programozásban atmega328?


Fehér Viktor | 409    2014-10-10 19:45:00 [851]

Üdv a csapatnak!

Szeretnék csinálni egy step/dir signált, stepperhez, valaki tudna valami támpontot adni...?
Előre is köszönöm..


elektron | 15859    2014-08-13 22:23:00 [850]

Kösz, egy kis kód sosem árt.

Előzmény: ebalint, 2014-08-13 19:42:00 [849]


ebalint | 1769    2014-08-13 19:42:00 [849]

Itt : 38400 a baudrata. / és csak kb. 4 MHz -n jár

A forrás prg. is elérhető

Előzmény: elektron, 2014-08-13 15:41:00 [848]


elektron | 15859    2014-08-13 15:41:00 [848]

Nálam is hasonló a dolga az adatot kivenni és áttenni máshova kb. és az adatból kivenni az őhozzá érkezőt, mert egy rendszerben dolgozna, ahol sok eszköznek megy folyamatosan sok adat és abból kell kiszűrnie a sajátját, utána van ideje aránylag sok azzal mit kezdeni.

Előzmény: LZ, 2014-08-13 15:17:00 [846]


Libus | 1021    2014-08-13 15:30:00 [847]

Itt az adat mennyiséggel lehet gond, nem a sebességgel. A soros port buffere az ami leginkább behatárolja ezt, ami ha jól látom 2 byte méretű, tehát amig 1 byte megérkezik, fel kell tudnod dolgozni az adatokat vagy legalább elrakni a RAM-ba. Ami megint csak nem túl sok ( 1-2kbyte).
Tehát hiába gyors a soros port az adatokat nem biztos, hogy el is tudod rakni (+feldolgozni).

Előzmény: elektron, 2014-08-13 15:05:00 [845]


LZ | 1538    2014-08-13 15:17:00 [846]

Én használtam pár éve 1.8Mbs sebességet is. Gond nélkül vitte, de végül stabilitás miatt visszavettem 921 600-ra.
2 feladata volt a procinak:
1. soros adatok fogadása egy bufferbe megszakításból
2. (főprogram) az adatok alapján pontmátrix kijelzés egy 16x8 ledes kijelzőn.

Előzmény: elektron, 2014-08-12 23:54:00 [841]


elektron | 15859    2014-08-13 15:05:00 [845]

Az annyit jelent hogy pár apró műveletet azért el kell végezni a kapott adattal, hogy a helyére kerüljön. Ami még pár 10 asm kódú utasítást pl. követel minden kapott adat byte esetére.

Előzmény: ebalint, 2014-08-13 13:10:00 [844]

ebalint | 1769    2014-08-13 13:10:00 [844]

A Mega 168 16 MHz -el is mehet.
Gondolom, hogy nem ront a helyzeten.

Nekem ez az ide-oda teszi nem igazán világos.


elektron | 15859    2014-08-13 12:58:00 [843]

Kösz, én is valami hasonlóra gondoltam vagy kicsit kevesebbre.

Előzmény: Csuhás, 2014-08-13 12:15:00 [842]


Csuhás | 6722    2014-08-13 12:15:00 [842]

Pontos értéket doksi alapján számolhatsz. De talán segít az hogy napi szinten használok 115.2kB kommunikációt 11Mhz órajel mellett. Stabilan megy. Saccra fél megabites vonalat szerintem még le lehet kezelni.

Előzmény: elektron, 2014-08-12 23:54:00 [841]


elektron | 15859    2014-08-12 23:54:00 [841]

Szerintetek egy AVR atmega168 féle procival mennyi az a maximális soros átviteli sebesség, amit még felbír dolgozni, ha elég minimális feladata van az érkező adattal, aránylag, csak be kell tenni egy tömbbe és mikor megjön egy csomag, akkor azt a kapott adatot kicsit ide oda teszi, az végül is mindegy, csak hogy fogadni tudja és eltenni egy memória területre, annak mennyi lehet a maximuma vajon ?


elektron | 15859    2014-06-03 21:15:00 [840]

Igen, utána mehet az 5V-ról PIC-ről is pl. mert akkor működik benne a 3V3 előállító stab IC és megjavul.

Előzmény: NyariG, 2014-06-03 15:55:00 [839]


NyariG | 302    2014-06-03 15:55:00 [839]

Elektron, ha ezt összekötöm és utánna rákötöm a gnd-t és az 5V-t akkor az SD csatlakozásokra (cs,miso,sck) mehet a picröl közvetlenül az 5 volt?

Előzmény: elektron, 2014-02-22 13:23:00 [824]


LZ | 1538    2014-05-21 16:42:00 [838]

Valószínű akkor bugos lesz a bascom.
Sok sok sok éve én is kipróbáltam, de találtam benne pár bugot és inkább hanyagoltam. Akkor tanultam meg a C-t.
Végig kéne nézni az asm fájlt tüzetesen, hogy ki lehessen egy ilyet deríteni...
Egy újrakonfig miatt nem dőlhet meg az biztos. HA lockolod a beállításokat akkor sem fagyhat meg a progi ha újra be akarod állítani, csak nem veszi figyelembe.

Előzmény: Csuhás, 2014-05-21 15:53:00 [837]


Csuhás | 6722    2014-05-21 15:53:00 [837]

Pedig ez okozza. Mármint ahogy ezt a bascom csinálja. Most úgy kerülöm ki hogy a bootloeder végén nem nullára ugrok hanem a felhasználói program óra configurálása mögé. Így nem kell két fordítási opciót kezelnem. Nem tudom te bascomot használsz-e de mellékelem a kérdéses kódot. Ebből a config osc.. sor fagyasztja le a procit. Lehet hogy más sorrendű beállításra működne, pl bootoláskor belső 32MHZ majd a főprogramban külső kvarc felszorozva. Majd ha lesz időm játszok vele egy kicsit.

$regfile = "xm256a3udef.dat"
$crystal = 44236800 'ext 11,0592 * 4
$hwstack = 240
$swstack = 100
$framesize = 100

$lib "xmega.lib"
Dim Bwd As Byte
Bwd = Getreg(r0)
Config Osc = Enabled , Extosc = Enabled , Range = 9mhz_12mhz , Startup = Xtal_256clk
Osc_pllctrl = &B11_0_00100
Do 'wait until Clock is stable
Loop Until Osc_status.3 = 1
Set Osc_ctrl.4 'PLL enable
Config Sysclock = Pll 'use PLL
.....


LZ | 1538    2014-05-21 14:39:00 [836]

Pedig az nem okozhatna gondot.
Én szinte minden programoban kétszer konfigurálom az órajel forrásokat. Van, olyan is hogy 32mhz frekit használok a loaderben de a főprogiban már csak 2Mhz ketyeg a proc.

Előzmény: Csuhás, 2014-05-21 10:35:00 [835]


Csuhás | 6722    2014-05-21 10:35:00 [835]

Megtaláltam a hiba okát:
Mind a programban mind a bootloader programjában a kód az órajel pll beállításával kezdődött. Ez külön külön rendben is volt, de a bootloder végén ha a főprogramba ugrott akkor újra lefutott volna a pll beállítás amit nem viselt el. Feltételes fordítással kiszedtem a loaderes verzióból ezt így működik a dolog. Mindjárt utána nézek hogy miért is nem viseli el a kétszeres óra konfigurálást.

LZ | 1538    2014-05-21 09:54:00 [834]

Akkor más lesz a baj.
Mivel a bootloader is egy teljes értékű progi, gondolok itt arra, hogy minden HW funkció és a teljes memória területet tudja használni ezért ha ott valamit bekapcsolsz az úgy is marad a 0x0000 címre ugrás után is.
Jártam már úgy, hogy használtam egy timer megszakítást a loaderben de a főprogiban nem. És úgy tűnt nem indul a progi. Pedig indult csak lefagyott, mert nem volt a timer megszakítás címen ugróutasítás és reti.
Szóval kapcsolj ki mindent mielőtt a loaderből kilépsz...

Előzmény: Csuhás, 2014-05-21 09:21:00 [833]


Csuhás | 6722    2014-05-21 09:21:00 [833]

Nos megnéztem avr studióban a loader kódját, annak rendje módja szerint ott a jmp 0000 ami a felhasználói programra ugrik. Az atmel prociknál külön boot memória tartomány van, külön protected bitekkel, és a fuse bitekkel állítod be hogy a reset a nullás címre vagy a loader terület elejére ugorjon. Ahogy írtam ha ezt a bitet átváltom akkor elindul és jól működik a loader által korábban betöltött program, azaz a loader jól működik, csak valamit nem állít alaphelyzetbe a jmp 0 előtt.
Itt tartok most....

Előzmény: nyarfa, 2014-05-21 05:47:00 [832]


nyarfa | 971    2014-05-21 05:47:00 [832]

A bootloder miatt a program kezdő címe nem a 0x0000 lesz, hanem egy magasabb érték a PIC-nél ez 0x800 nálam. De az AVR is így működik. A fordítónak kell lennie egy ASM kimenetének is amiben tisztán és világosan kiolvasható a kezdő cím átdefiniálása és az arra való ugrás. Természetesen ha a fordító nem teszi ezt meg magától, akkor neked kell ezeket az értékeket definiálni az elején a programnak. Ha nincs ASM kimenet, vagy valami olvasható köztes fordítói kimenet ami alapján láthatod az ugrási címet, disassemler segítségével kitudod hámozni a szükséges információkat, bár ez nehezen olvasható és értelmezhető de kihámozható az infó. Ha nem boldogulsz a dologgal, küld el megnézem, hogy tudok-e valamit kihámozni a hex fájlból, bár köztes fájlok jobbak lennének a tuti meg a forrás, de ha nem akarod kiadni azt is megértem.

Előzmény: LZ, 2014-05-20 12:52:00 [828]


elektron | 15859    2014-05-20 18:19:00 [831]

Az akkor nem 3V-ot ad ki, hanem ami átmegy rajta véletlenül lehet hogy van olyan kártya amivel működik, de az csak véletlen, hogy neked olyanod van.

Előzmény: NyariG, 2014-05-20 18:05:00 [830]


NyariG | 302    2014-05-20 18:05:00 [830]

Tévedtem, nem javították de nekem eddig tökéletesen működik.

Előzmény: NyariG, 2014-05-20 18:00:00 [829]


NyariG | 302    2014-05-20 18:00:00 [829]

én is most rendeltem ilyen enyémmel nem volt gond, lehet javították már.

Előzmény: elektron, 2014-02-22 13:23:00 [824]


LZ | 1538    2014-05-20 12:52:00 [828]

Pedig nem tudok róla, hogy más kéne mint a bootloader bit átállítása a fusoknál.
Ennyi és onnan kell elugrálni, ahogy írtam. Lehet a fordító bugja.
Esetleg próbáld meg futás közben kideríteni hogy a 0x0000 ugrás után hol fog tartani a program counter.
Vagy ha csinál asm fájlt a fordító akkor ott nézd meg mi van...

Előzmény: Csuhás, 2014-05-20 12:42:00 [827]


Csuhás | 6722    2014-05-20 12:42:00 [827]

Ugyanezt teszem én is. Viszont mintha valami it vektortábla vagy valami más xmega specifikus dolog miatt nem működik az ami sima atmegán rendben megy.

Előzmény: LZ, 2014-05-20 12:38:00 [826]


LZ | 1538    2014-05-20 12:38:00 [826]

Nem tudom a bascom mit mahinál, de én C-ben a loader progi végén egy ASM utasítással:
#asm("JMP 0x0000");
ugrok a főprogramomra.

Előzmény: Csuhás, 2014-05-20 11:31:00 [825]


Csuhás | 6722    2014-05-20 11:31:00 [825]

Megkérdezem itt is hátha tudja valaki a választ:
Xmega 256a3u chipbe próbálok bootloadert belefaragni. A bootloader látszólag működik. A loaderbe beszúrt debug printek megjelennek. Az alkalmazást is betölti. Ha verifyvel ellenőrzöm másik programozóval akkor mind a loader mind az alkalmazás jó. A gond az hogy nem indul el az alkalmazás. Ha a fuse biteknél resetre az alkalmazást választom akkor az működik. Ha ugyanott a loadert választom akkor a loader lefut de nem tudja átadni a vezérlést a felhasználói programnak. A bootloader az a bascom 2.0.7.7 samplek között talált minta program: BootLoaderXmega256.bas. Mit ronthatok el?

elektron | 15859    2014-02-22 13:23:00 [824]

Javítása: pirossal jelzett pontokat összekötni.

3D nyomtatóhoz és egyébhez, ha használni akarjuk, hogy ne hibázzon ...

Előzmény: elektron, 2014-02-22 04:12:00 [822]


kozo | 1850    2014-02-22 07:30:00 [823]

Az SMC "összedobására" inkább ezt az oldalt ajánlom : sufnicnc.com
Az UltraWebes oldalt már rég nem frissítem , hamarosan törlöm is .
Én Attiny2313-20PU mikrokontrollert használtam hozzá .

Előzmény: csewe, 2014-01-25 18:43:00 [811]


elektron | 15859    2014-02-22 04:12:00 [822]

Hoppá, hoppá, megvan a baja, nem is a stab IC a rossz benne, hanem az 1. lába nincs GND-n tervezésileg rossz a panel !!! 1-es lábat a GND-re kell kötni a panel aljára pl. a GND felületre úgy javítható, akkor nem kell semmi hozzá, még jó ...

SD kártya hibás kínai fajták, hiba javítása.

Ez a fajta pl. :



Ha valaki ilyet venne esetleg ez jusson eszébe !!

Előzmény: elektron, 2014-02-22 03:50:00 [820]


elektron | 15859    2014-02-22 03:52:00 [821]

4.2V na a billentyűm szarakodik az is ...

Előzmény: elektron, 2014-02-22 03:50:00 [820]


elektron | 15859    2014-02-22 03:50:00 [820]

Az SD kártyáknak nem 3.3V kell ? Dehogynem, mert eben a kártyában a 3V3 stab IC-ből 4.12V jön ki, még jó hogy nem volt benne a kártya sokáig, úgy néz ki az megúszta egyelőre. Vagy rossz benne a stab IC vagy nem tudom, de mása oka nem lehet. AMS1117 3V3 féle van benne a felirat szerint.

Egy ilyet tehetnék helyette majd.
3V3 LDO stab IC

Vagy mindenesetre holnap még megnézem hogy adok neki 5V-on keresztül pár diódával csökkentem annyira, hogy 3V legyen csak, olvasásra elég áram van úgy neki, csak íráskor lehet nem lenne úgy jó. De egy teszt program olvasta a filet, csak néha hibát írt ki, meg nem mertem tovább próbálni így a 4.12V feszültséggel 3V3 helyett.


  Fórum főoldal  |  A lap tetejére

Időrend:
Oldal 8 / 25 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   4  5  6  7  8  9  10  11  12   Következő ►  Utolsó ►|


 ◊