[PIC12F683] - Nenastavuje se vystup GP0

Zdravim Vas,

mam takovy problem a netusim, kde by mohl byt. Mam jednoduchy program na ovladani kompresoru pomoci uP PIC12F683, kde pouzivam 3 piny (GP0 - spinani kompresoru, GP1 - stavova LED, GP2 - tlacitko). Kod vypada takto:

// PIC 12F683
// Casove spinani kompresoru

#include <htc.h>

#define _XTAL_FREQ 4000000

#define airPump GP0
#define led GP1
#define button GP2

int status = 0;

// Fuse bity
__CONFIG(FCMEN_OFF & IESO_OFF & BOREN_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_OFF & WDTE_OFF & FOSC_INTOSCIO);


// inicializace
void init() {
	// TRISIO
	TRISIO0 = 0;
	TRISIO1 = 0;
	TRISIO2 = 1;
	// ANSEL
	ANS2 = 0;
}

// spusteni programu
void start() {
	airPump = 0;
	led = 0;
	__delay_ms(2000);
	for (int i = 10; i > 0; i--) {
		if (status == 1) {
			led = 0;
			status = 0;
		} else {
			led = 1;
			status = 1;
		}
		__delay_ms(100);
	}
	for (;;) {
		if (button == 1) {
			__delay_ms(1000);
			if (button == 1) {
				break;
			}
		}
	}
	airPump = 1;
	led = 1;
	while (button == 1);
	for (;;) {
		if (button == 1) {
			__delay_ms(1000);
			if (button == 1) {
				break;
			}
		}
	}
	airPump = 0;
	led = 0;
	while (button == 1);
	__delay_ms(1000);
}

// hlavni program
void main() {
	init();
	start();
	for (;;) {
	}
}

A ted jak to funguje. Po zapojeni napajeni, se po 2 sekundach rozblika stavova dioda (5x se rozviti a zhasne). Po te ceka na stusknuti tlacitka po dobu 1 sekundy, kdy se zapne kompresor a rozne se stavova LED. Po sem je to OK az na to, ze na vystupu GP0 (kompresor) nic neni. LED sviti spravne, ale kdyz ji pripojim na GP0 tak nesviti a sviti by mela. Nevite v cem by mohl byt problem?

Cau,
skusim: mas zaplej analog a komparatory ? nastavujes jenom to tlacitko jako digitalni

EDIT: aha, opet topic zalozen na X forech, priste se uz namahat nebudu… :angry: