Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

c++ podmienka tlacidlo
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  

akou cestou vyrabate dps/pcb
fotocitou
71%
 71%  [ 10 ]
nažehlovanim
14%
 14%  [ 2 ]
fixka.exe =)
14%
 14%  [ 2 ]
Celkem hlasů : 14

Autor Zpráva
SimonHosa



Založen: Jul 22, 2014
Příspěvky: 107
Bydliště: Spišský Štiavnik

PříspěvekZaslal: út červenec 22 2014, 19:00    Předmět: c++ podmienka tlacidlo Citovat

dobri den uz som zufali programujem v c++ a potrebujem podmienku na tlacidlo ak je pustene nic ak ho stlacim tak sa spusti program alebo jeho cast skusal so nieco v zmysle

int I=0;
int a=PB0;
int b=PB1;

int main (){

if(a=c){
.........
}
}
na bp 0 som dal +5v a na pb 1 +5v cez tlacidlo potom som skusal


if(a=1){
.........
}



potom

if(a==1){
.........
}

a dozralo ma to pri

if(a=+1){
.........
}

za odpovede velmi pekne dakujem
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: út červenec 22 2014, 20:23    Předmět: Citovat

Pro jaký to má být procesor ?

int a = PB0 rozhodně neznamená, že v proměnné a se "udržuje" aktuální stav z pinu PB0. Nemluvě o nějaké inicializaci portů...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SimonHosa



Založen: Jul 22, 2014
Příspěvky: 107
Bydliště: Spišský Štiavnik

PříspěvekZaslal: út červenec 22 2014, 20:27    Předmět: Citovat

atmega 8 a tu je celi program

#define Y PB0
#define Z PB2
#define X PB1
#define F_CPU 1000000
#include <avr/io.h>
#include <util/delay.h>
#include "lcd.c"
#include "lcd.h"

int c=Y;
int a=X;
int b=Z;
int I=0;


int main(){
while (1)
{

DDRB |=(1<<X) | (1<<Z) | (1<<Y);
lcd_init(LCD_DISP_ON); //inicializacia displeja

lcd_gotoxy(2,0); // chod na poziciu x=4, y=0
lcd_puts("bomb"); // vypis text

if (c>b){
for (I=0;I<1;I++){


lcd_init(LCD_DISP_ON); //inicializacia displeja

lcd_gotoxy(2,0); // chod na poziciu x=4, y=0
lcd_puts("peciem"); // vypis text
lcd_gotoxy(2,1); // chod na poziciu x=4, y=0
lcd_puts("kolace"); // vypis text
_delay_ms(10000);
lcd_gotoxy(2,0); // chod na poziciu x=4, y=0
lcd_puts(" "); // vypis text
lcd_gotoxy(2,1); // chod na poziciu x=4, y=0
lcd_puts(" "); // vypis text

lcd_gotoxy(2,0); // chod na poziciu x=4, y=0
lcd_puts("grilujem:"); // vypis text


lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("30"); // vypis text
_delay_ms(5000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("29"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("28"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("27"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("26"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("25"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("24"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("23"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("22"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("21"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("20"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("19"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("18"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("17"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("16"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("15"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("14"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("13"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("12"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("11"); // vypis text
_delay_ms(1000);

lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts("10"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 9"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 8"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 7"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 6"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 5"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 4"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 3"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 2"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 1"); // vypis text
_delay_ms(1000);
lcd_gotoxy(3,1); // chod na poziciu x=4, y=0
lcd_puts(" 0"); // vypis text

}
}
}

}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
berk



Založen: Feb 07, 2014
Příspěvky: 107

PříspěvekZaslal: út červenec 22 2014, 23:00    Předmět: Citovat

1) Správnost mapování pinů nedokážu posoudit

#define Y PB0
#define Z PB2
#define X PB1
#include <avr/io.h>
int c=Y;
int a=X;
int b=Z;


2) Přiřazení hodnot z pinů do proměnných je provedeno pouze jednou při startu programu a v nekonečném cyklu už se hodnoty proměnných nezmění:

int c=Y;
int a=X;
int b=Z;

int main(){
while (1) {
...

3) Count down ze 30 je evidentně nedostatečný - zkus alespoň z 1000 Smile

4) Některé komentáře jsou zbytečné a nesprávné:
cd_gotoxy(2,0); // chod na poziciu x=4, y=0

Jinde by to zase komentář chtělo:
DDRB |=(1<<X) | (1<<Z) | (1<<Y);
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SimonHosa



Založen: Jul 22, 2014
Příspěvky: 107
Bydliště: Spišský Štiavnik

PříspěvekZaslal: st červenec 23 2014, 6:10    Předmět: Citovat

dobre vikaslime sa na lcd ktori tam je ideme jednoduchi prog

#define F_CPU 1000000
#include <avr/io.h>
#include <util/delay.h>

int c=PB0;
int a=PB1;
int b=PB2;
int I=0;
int main(){
DDRB |=(1<<PB0) | (1<<PB1) | (1<<PB2) | (1<<PB3);
if (c=1){ //ako to mam zapisat ze na pinePB0 sa ocitne +5v??

PORTB |=(1<<PB3);
}
}


TAKZE TENTO PROGRAM BY MAL PO PRIVEDENI 5V NA PB0 ZAPNUT PROGRAM ALE NEVIEM TO ZAPISAT sori za caps pri programovani si ho zapnem a potom ho zabudnem vypnut
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: st červenec 23 2014, 9:50    Předmět: Citovat

Zběžný pohled: (c = 1) není test, zda c se rovná jedné, ale přiřazení hodnoty jedna do proměnné c. Správně (c == 1)

Z portu určitě nelze číst pomocí konstanty PB0, ta je definována takto:
#define PORTB0 0
#define PB0 PORTB0

Správně podmínka by měla vypadat takto (na portu B je nastaven pin 0):
if (PINB & (1 << PB0))
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SimonHosa



Založen: Jul 22, 2014
Příspěvky: 107
Bydliště: Spišský Štiavnik

PříspěvekZaslal: st červenec 23 2014, 11:06    Předmět: Citovat

dakujem velmi pekne funguje to na svet elektre nikto nic nepovedal a este mi dali aj perma ip ban na vsetky fóra
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: st červenec 23 2014, 11:48    Předmět: Citovat

Nevim jestli ti to půjde stáhnout, když máš na svetelektro.com ban. Ale stručnou knihu pro začátečníky tam mají ke stažení zde. Nejde nějak do hloubky, ale pro začátek určitě dobrá. Případně kdybys chtěl nějakou literaturu, tak pošli SZ.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3697
Bydliště: Praha

PříspěvekZaslal: čt červenec 24 2014, 0:05    Předmět: Citovat

Malá poznámka k těm podmínkám:

if(a=1){
.........
}

bude splněno vždy, a=1 sice není podmínka, ale výraz jako takový bude mít hodnotu true. Nejprve se provede přiřazení a pak se vyhodnotí a na true/false.


if(a=+1){

to je to samé, +1 a 1 je ekvivalentní.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
frantajetel11



Založen: Nov 13, 2008
Příspěvky: 1922
Bydliště: Kladno

PříspěvekZaslal: čt červenec 24 2014, 10:24    Předmět: Citovat

Sorry za OT, ale ještě bys tam moh udělat hlasování: " Co má společnýho podmienka pro tlačidlo s válcováním plechu" Confused
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SimonHosa



Založen: Jul 22, 2014
Příspěvky: 107
Bydliště: Spišský Štiavnik

PříspěvekZaslal: čt červenec 24 2014, 12:32    Předmět: Citovat

frantajetel11 napsal(a):
Sorry za OT, ale ještě bys tam moh udělat hlasování: " Co má společnýho podmienka pro tlačidlo s válcováním plechu" Confused


nechapem
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
frantajetel11



Založen: Nov 13, 2008
Příspěvky: 1922
Bydliště: Kladno

PříspěvekZaslal: čt červenec 24 2014, 12:36    Předmět: Citovat

Já zas nechápu, co má společnýho podmienka pro tlačidlo s výrobou DPS Laughing
Témat o výrobě tišťáků je tady mraky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Atlan



Založen: May 10, 2004
Příspěvky: 4507
Bydliště: Košice

PříspěvekZaslal: čt červenec 24 2014, 13:58    Předmět: Citovat

zacinam tusit preco dostal ban Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pocitujlasku



Založen: Dec 12, 2005
Příspěvky: 2168

PříspěvekZaslal: čt červenec 24 2014, 18:18    Předmět: Citovat

Atlan: pretoze mal denne x-prispevkov o nicom, pytal sa na zakladne veci, ignoroval odkazy na prestudovanie, i/y daval nahodne...
Nechcem byt prorok, ale asi sa to aj tu coskoro zopakuje.

SimonHosa: nechces si najskor prestudovat zaklady a az potom nieco skusat?

_________________
No vidis, a tak si sa bal
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SimonHosa



Založen: Jul 22, 2014
Příspěvky: 107
Bydliště: Spišský Štiavnik

PříspěvekZaslal: ne červenec 27 2014, 11:14    Předmět: Citovat

no joo je to hrúza moje i/y je pravdepodobnosť 50 % že sa trafím a co sa tika príspevkov tak som ich založil len 10 a dps s týmto nemá súvis som nechcel nechať nevyplnenú kolónku
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.14 sekund