Hi,
Quartz am 90S2313 ist 4MHz. Angesteurt wird der von einem ATmega32 in C. Baudrate ist 9600.
Code:
#include <avr/io.h>
#include <stdio.h>
#include <string.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <avr/delay.h>
#include "lcd.h"
#include "main.h"
#include "pwm.h"
#include "texte.h"
#include "timer.h"
void print5(unsigned int x)
{
unsigned int y;
y=x/10000;lcd_putc(y+0x30);x-=(y*10000);
y=x/1000;lcd_putc(y+0x30);x-=(y*1000);
y=x/100;lcd_putc(y+0x30);x-=(y*100);
y=x/10;lcd_putc(y+0x30);x-=(y*10);
lcd_putc(x+0x30);
}
void USART_transmit (unsigned char c)
{
while(!(UCSRA & (1<<UDRE)));
UDR = c;
}
int main(void)
{
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x67;
unsigned int temp;
sei();
for(;;)
{
USART_transmit(0x23);
USART_transmit(0x53);
USART_transmit(0x31);
USART_transmit(1);
_delay_ms(2000);
USART_transmit(0x23);
USART_transmit(0x53);
USART_transmit(0x31);
USART_transmit(255);
_delay_ms(2000);
}
}
Lesezeichen