Hallo,
ich bin dabei die PINS 0 und 1 des Ports F auszulesen. An diesen Pins kann entweder 0 oder 4,99 Volt anliegen. Leider ohne jeglichen erfolg bislang.
Nachfolgend der Code den ich verwendet habe:
Code:
#include <inttypes.h>
#include <util/delay.h>
#include <stdlib.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include "uart/uart.h"
#define F_CPU 16000000
/* 9600 baud */
#define UART_BAUD_RATE 9600
void blinkLED()
{
DDRB = (1 << DDB7);
_delay_ms(10);
DDRB &= ~( 1 << DDB7 );
_delay_ms(10);
}
int main(void)
{
uint8_t bPortF0, bPortF1;
// Pin0 und Pin1 des PortF auf Eingang
DDRF = ( (0 << DDF0) | (0 << DDF1) );
//DDRF = 0x00;
//PORTF |= (1<<PF0) | (1<<PF1); /* internen Pull-Up an PC7 aktivieren */
uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) );
sei();
while(1)
{
/*
if (PINF == 0x03)
{
uart_puts("Aus");
blinkLED();
}
*/
bPortF0 = PINF;
bPortF1 = PF1;
//sscanf(msg, "PortF: ", bPortF0);
uart_putc(bPortF0);
blinkLED();
//uart_putc(bPortF1);
//uart_putc((unsigned char) bPortF1);
//blinkLED();
//_delay_ms(5000);
// 1sek Verzoegerung
_delay_ms(800000);
}
return 0;
}
Wenn ich PF0 oder PF1 ausgebe, bekomm ich nur die Pin Nummer raus.
Wenn ich PINF ausgebe bekomme ich jedes mal andere Werte.
Wie kann ich nun diese zwei Pins auslesen und bestimmen, an welchem Spannung anliegt?
Gruß Hugo1234
Lesezeichen