-
-
noch eine frage. meine verzögerung von 1 sekunde funktioniert nicht richtig(weit wenigel als 1 sekunde, ca. 100ms). ich kriege folgende warnung "warning: #warning "This file has been moved to <util/delay.h>." ". liegt der fehler in dieser warnung? wieso und welcher file wurde verschoben?
neuer CODE:
#include <stdio.h>
#include <avr/io.h>
#include <avr/delay.h>
#include "datentypen.h"
#define F_CPU 3686400
#define UART_BAUD_RATE 9600
#define MYUBRR F_CPU/(UART_BAUD_RATE * 16L) - 1
static int uart_putchar(char c, FILE *stream);
static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL,
_FDEV_SETUP_WRITE);
static int uart_putchar(char c, FILE *stream);
void InitUART(u16);
int main(void)
{
PORTD|=(1<<PD2);
InitUART(MYUBRR);
u16 cnt=0;
while(1)
{
if(!(PIND & (1<<PD2)))
{
_delay_ms(80);
if(PIND & (1<<PD2))
cnt=0;
}
stdout = &mystdout;
printf("Counter:%d\r\n",cnt);
cnt+=1;
_delay_ms(1000);
}
}
void InitUART(u16 ubrr)
{
/* Set baud rate */
UBRRH = (u8)(ubrr>>8);
UBRRL = (u8)ubrr;
/* Enable receiver and transmitter */
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron 8N1
}
static int
uart_putchar(char c, FILE *stream)
{
loop_until_bit_is_set(UCSRA, UDRE);
UDR = c;
return 0;
}
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen