Projekt v atmel studio 6.0,problém

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
cyklustech
Okoloidúci
Okoloidúci
Príspevky: 44
Dátum registrácie: 15 Máj 2015, 13:33

Projekt v atmel studio 6.0,problém

Príspevok od používateľa cyklustech » 26 Mar 2016, 13:31

Robim jeden projekt v atmel studio 6.0 a dostala ma jedna vec. V nasledujucom uryvku z kodu sa nachadza funkcia cakania 1ms, bez ktorej sa druha podmienka nikdy nesplnila.

Kód: Vybrať všetko

slucka:
	if (bit_is_set(PINB,PB1))
	{
		_delay_ms(1);
		if (cas>11)
		{
			sirenaON();
			vypnicasovac();
			goto alarmaktivny;
		}
		goto slucka;
	}
Rad by som vedel co moze byt na chybe, ked bez _delay_ms(1); sa druha podmienka nikdy nevykona (to aj v pripade ked je splnena). Cas je premenna ktora sa pomocou casovacu kazdu sekundu zvysuje o 1.



! Upravený názov témy pre v budúcnosti lepšie vyhľadávanie.upravil: 27.3.2016 mirosne !
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Nejde to, ide to

Príspevok od používateľa zen » 27 Mar 2016, 09:43

1) Co dat printf(bit_is_set(PINB,PB1),cas) pred a za _delay_ms(1)?

2) Pred if
int xx_xx=(bit_is_set(PINB,PB1);
a pridat xx_xx do printf()?
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

24mato
Stály člen
Stály člen
Príspevky: 301
Dátum registrácie: 09 Jún 2011, 00:00
Bydlisko: PD

Re: Nejde to, ide to

Príspevok od používateľa 24mato » 27 Mar 2016, 10:23

Skus vypnut optimalizacie.
0
Darovanému tranzistoru sa na kremík nepozeraj.

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Nejde to, ide to

Príspevok od používateľa peterple » 27 Mar 2016, 11:54

Je premenná cas deklarovaná ako volatile? Optimalizácie môžu zostať zapnuté ak to je urobené správne.
A len na okraj k tomu kódu. Vyzrá to veľmi zle. Dve goto len tak pre nič za nič. Doporučujem prerobiť pomocou while
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Sender
Pokročilý člen
Pokročilý člen
Príspevky: 535
Dátum registrácie: 26 Máj 2008, 00:00

Re: Projekt v atmel studio 6.0,problém

Príspevok od používateľa Sender » 27 Mar 2016, 14:03

Bylo by dobře dát sem celý kód.
0

Používateľov profilový obrázok
cyklustech
Okoloidúci
Okoloidúci
Príspevky: 44
Dátum registrácie: 15 Máj 2015, 13:33

Re: Projekt v atmel studio 6.0,problém

Príspevok od používateľa cyklustech » 27 Mar 2016, 17:38

Optimalizacia bola zapnuta pre velkost ktoru nutne potrebujem. Na radu od peterple som premennu cas deklaroval ako volatile a kod uz bezi ako ma. Dakujem. Tak isto sa pokusim odstranit aj tie funkcie goto.
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok