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