c++ podmienka tlacidlo
Moderátor: Moderátoři
- SimonHosa
- Příspěvky: 107
- Registrován: 22 črc 2014, 02:00
- Bydliště: Spišský Štiavnik
- Kontaktovat uživatele:
c++ podmienka tlacidlo
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
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
- SimonHosa
- Příspěvky: 107
- Registrován: 22 črc 2014, 02:00
- Bydliště: Spišský Štiavnik
- Kontaktovat uživatele:
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
}
}
}
}
#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
}
}
}
}
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
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);
#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
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);
- SimonHosa
- Příspěvky: 107
- Registrován: 22 črc 2014, 02:00
- Bydliště: Spišský Štiavnik
- Kontaktovat uživatele:
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
#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
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))
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))
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.
- frantajetel11
- Příspěvky: 1922
- Registrován: 13 lis 2008, 01:00
- Bydliště: Kladno
- frantajetel11
- Příspěvky: 1922
- Registrován: 13 lis 2008, 01:00
- Bydliště: Kladno
- pocitujlasku
- Příspěvky: 1757
- Registrován: 12 pro 2005, 01:00