takze 1. nastrel programu bych mel
problem je v tom ze 3-5 pixelu jsou posunuty to bude nejspis kvuli doby na zpracovani instrukci (?) .
#include <avr/io.h>
#define F_CPU 20000000 // 20 MHz
#include <util/delay.h>
// PB4 = VSYNC
uint16_t x=0 ; //Promenna x (8 bit cislo)
int main()
{
DDRB = (1<<PB4) + (1<<PB2);
PORTB = (1<<PB4) + (1<<PB2);
DDRC = 0b00000111;
while(1)
{
// viditelná oblast
x = 480;
while(x--)
{
// vykreslení jednoho řádku
PORTB = (1<<PB4) + (0<<PB2);
_delay_us(3.8);
PORTB = (1<<PB4) + (1<<PB2);
_delay_us(1.9);
PORTC=0b00000111;
_delay_us(20);
PORTC=0b00000101;
_delay_us(5.4);
PORTC=0b00000000;
_delay_us(0.6);
}
// neviditelné řádky
x=10;
while(x--)
{
// vykreslení jednoho řádku
PORTB = (1<<PB4) + (0<<PB2);
_delay_us(3.8);
PORTB = (1<<PB4) + (1<<PB2);
_delay_us(1.9);
_delay_us(25.4);
_delay_us(0.6);
}
// vertikální synchronizace
x=2;
PORTB = (0<<PB4) + (1<<PB2);
while(x--)
{
// vykreslení jednoho řádku
PORTB = (0<<PB4) + (0<<PB2);
_delay_us(3.8);
PORTB = (0<<PB4) + (1<<PB2);
_delay_us(1.9);
_delay_us(25.4);
_delay_us(0.6);
}
// neviditelné řádky
x=33;
while(x--)
{
// vykreslení jednoho řádku