Portál AbcLinuxu, 7. května 2024 09:19


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
20.6.2012 15:20 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Odpovědět | Sbalit | Link | Blokovat | Admin
Proč ten for tak složitě? Jakou má výhodu 1==1 oproti true, resp. prostě 1?

Co takhle:
for (uint8_t i = 0; true; i++)
{
  if (i == 4) i = 0;

  //...
}
What Big Oil knew about climate change
20.6.2012 15:29 depka | skóre: 20 | blog: eterity
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
jeste pekneji: while (1) {}
lukve avatar 20.6.2012 15:47 lukve | skóre: 28 | blog: Lukove | Prešov
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.

jj. aj tak sa da. vie mi niekto dat nejaky tutoral na prerusenia?

napr zeby som mohol spustit podprogram pri stisknuti napr tlacitka pripojeneho na pin 1 portu A

 

a tiez nejaky example na prerusenie aby sa automaticky vzdycky v nejaky cas vykonal podprogram nezavisle teda aby nebolo treba nic stlacat.. napada ma vyuzitie citaca ale tak daleko som sa nedostal este

linux user more than 20y
20.6.2012 21:23 2012
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Preruseni se v cecku delaji pomoci ISR, mrkni treba sem: http://mcu.cz/news.php?extend.1983.3

u 2313 muzes preruseni pro zmenu pinu udelat pomoci PCINT, napr. pro pin3 (jeste se myslim muselo neco nastavit v nejakych registrech PCMSK apod.):
ISR(PCINT3_vect){
}
Staci mit tabulky preruseni a zbytek je v datashitu procesoru. Tady mas pro ukazku preruseni a sinusovku s casovacem...
// PROGRAM 001 C++ fast PWM pro D/A prevodnik
// ************************************************
// * date: 11/8/2011							  *
// * verze: 1.0 								  *
// * for AVR: 2313 								  *
// * clock frequency: 1MHz 						  *
// ************************************************

// Program Function: 
// _____________________________________________________________________
//
// Program mel puvodne demonstrovat D/A prevodnik z jednoho vystupniho
// pinu pomoci fast PWM, ta cte hodoty preklapecich urovni z z tabulky,
// pomale... vylepsit!
// _____________________________________________________________________


// ==================================================================
// 							DEKLARACE



#include avr\io.h>
#include avr\interrupt.h>
#include avr\pgmspace.h>


const uint8_t sinewave16[] PROGMEM= 		//i hodnot (bez i 256)
{
64,88,109,123,127,123,109,88,
64,39,19,5,0,5,19,39,
};


uint8_t i=0;
uint8_t j=0;

ISR(TIMER1_COMPA_vect){
	OCR1A=pgm_read_byte(&sinewave16[i]);
   	i++;
	if (i >= 0x10){
		i=0;
	}
}


// ==================================================================
// 							HLAVNI PROGRAM

int main(void) {
	
	DDRD=0x80;		// piny PortuD jako vstupni
	PORTD=0xFF;		// povolení internich pull-up rezistoru
	DDRB=0xFF;		// nastaveni portuB jako vystup


	OCR1A=10;		// nastaveni hodnoty OCR1A
	TCCR1A=0x91;	// porovnání vystupu OC1RA s 8bit neinvertovanou PWM?
	TCCR1B=0x01;	// casovac bez preddelicky?
	TIMSK=0x50;		// zapnuti porovnavani vystupu preruseni pro OCR1A?


sei();				// enable global interrups
    while (1) {		// loop for ever. Interrupts will do the job.
    }
}
Josef Kufner avatar 20.6.2012 17:48 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
A nebo prostě:
for (;;) {
  // ...
}
Hello world ! Segmentation fault (core dumped)
Pavel Stárek avatar 21.6.2012 13:05 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
+1
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
Bedňa avatar 20.6.2012 18:45 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Odpovědět | Sbalit | Link | Blokovat | Admin
Ten kód by sa hodil dať medzi značky <pre>kód</pre>
KERNEL ULTRAS video channel >>>
lukve avatar 20.6.2012 18:53 lukve | skóre: 28 | blog: Lukove | Prešov
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.

linux user more than 20y
Bedňa avatar 20.6.2012 22:56 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Tak už to vyzerá OK ;-)
KERNEL ULTRAS video channel >>>
21.6.2012 08:37 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Hlavně by to chtělo vyhodit ty značky <h3>, ten kód určitě nejsou nadpisy.
lukve avatar 20.6.2012 18:55 lukve | skóre: 28 | blog: Lukove | Prešov
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Odpovědět | Sbalit | Link | Blokovat | Admin

este by to chcelo aby som nemusel stale pouzivat sudo ak chcem zapisat program.

linux user more than 20y
Josef Kufner avatar 21.6.2012 09:20 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Nastav si práva k zařízení v /dev (pokud je dynamicky vutvářené udevem, doplň jeho konfiguraci).
Hello world ! Segmentation fault (core dumped)
20.6.2012 21:37 Václav Vanc | skóre: 14
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Odpovědět | Sbalit | Link | Blokovat | Admin
Existuje v dnešní době nějaké IDE pod Linux co podporuje debugging přes JTAG? Byl jsem nucen zakotvit u windows a Atmel Studia. :-/
lukve avatar 20.6.2012 22:28 lukve | skóre: 28 | blog: Lukove | Prešov
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.

uf dufam ze ti niekto tuna z ludi na fore odpovie .. moj mkII nema podporu pre debuging tusim

linux user more than 20y
20.6.2012 22:56 Václav Vanc | skóre: 14
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
AVRISP je jen na programování, mnohdy to stačí. (Debug se dá řešit přes blikající LEDku nebo posíláním zpráv přes seriák do počítače) Někdy se ale hodí krokování a mít možnost koukat jak se mění registy - ušetřilo mi to už hodiny práce... :)
lukve avatar 20.6.2012 22:30 lukve | skóre: 28 | blog: Lukove | Prešov
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.

ak sa ta smiem opytat aku verziu AVR studia pouzivas? ja som si vo winxp nainstaloval este tu staru klasicku 4ku lebo ta nova uz je moc zlozita postavena na Visual Studiu

linux user more than 20y
20.6.2012 22:49 Václav Vanc | skóre: 14
Rozbalit Rozbalit vše Re: Trošku zábavy s atmelom.
Používám verzi 6 (teď se to jmenuje Atmel studio, protože to už podporuje i ARM). Pravda, že je to balast postavenej na .NETu, ale stačí to nainstalovat a "funguje to" (Mohlo by to teda být o něco rychlejší). Jako debugger mam JTAGICE 3, (ten nejlevnější debugger od Atmelu po Dragonovi, kterej už mi několikrát shořel :-P) ani nevim jestli už má podporu v AVRICE.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.