Ср июл 25, 2012 20:37:00
#include <mega8515.h>
#include <delay.h>
void main (void)
{
DDRC= 0b11111111; // порты на вывод
DDRA= 0b11111111; // порты на вывод
PORTC=0b00000000; //очистка портов
PORTA=0b00000000;
delay_ms(100); //начало инициализации. ждем.
PORTA.7=1; //сбрасываем reset
delay_ms(10);
PORTA.0=0; // бит команда/данные в режим "команда"
PORTA.3=0; //бит чтения/записи в режим "запись"
PORTC=0b11100010; //команда reset (не бит RST)
PORTC=0b11101110; //снять флаг RMW
PORTC=0b10100100; // режим работы обычный
PORTC=0b10101001; // мультиплекс установить
PORTC=0b11000000; // начальная строка - 0
PORTC=0b10100000; // установить нормальный порядок отображения бит
PORTC=0b10101111; // дисплей включить
PORTC=0b10111000; //установка страницы
delay_ms(1);
PORTA.1=1; //строб Е1
PORTA.2=1; //строб Е2
delay_ms(1);
PORTA.1=0; //снять стробы
PORTA.2=0;
delay_ms(1);
PORTC=0b00000011; //установка адреса колонки
delay_ms(1);
PORTA.1=1;
PORTA.2=1;
delay_ms(1);
PORTA.1=0;
PORTA.2=0;
delay_ms(1);
PORTA.3=0;
PORTA.0=1;
PORTC=0b00011001; // пишем байт, жду что черными будут только 4,5,8 пиксель, а остальные потухнут
delay_ms(1);
PORTA.1=1;
delay_ms(1);
PORTA.1=0;
delay_ms(1);
}
Чт июл 26, 2012 00:02:51
Чт июл 26, 2012 10:09:45
void LCDStrobe( void ) {
delay_ms(1);
PORTA.1=1;
PORTA.2=1;
delay_ms(1);
PORTA.1=0;
PORTA.2=0;
delay_ms(1);
}
#include <mega8515.h>
#include <delay.h>
void main (void)
{
LCDStrobe();
...
}
#include <mega8515.h>
#include <delay.h>
void LCDStrobe(void);
void main (void)
{
LCDStrobe();
...
}
Чт июл 26, 2012 19:20:42
void puts (flash char str[], unsigned char n, unsigned char inv)
{
unsigned char a;
for(a=0;(a<n);a++)
{
if (globAddr<=55)
{
putc(str[a],inv,1);
}
else
{
putc(str[a],inv,2);
}
}
}
flash char locstr[] = "radiokot";
void main (void)
{
InitLCD();
ClearLCDRAM();
puts(locstr, 11, 0);
}
Чт июл 26, 2012 19:40:58
Чт июл 26, 2012 21:53:18
Пт июл 27, 2012 04:52:03
Пт июл 27, 2012 05:19:37
с языками у меня проблем нет, я профессионально пишу на C#, попутно знаю еще четыре.
Просто в CVAVR же не чистый С, а обрезанный и дополненный.
Для программистов, привыкших к С++ и выше это может стать открытием, т.к. перечень функций (идиотское название, перечень методов) в полномасштабных средах программирования (Visual studio) создается самой средой, и нет нужды их заявлять.
У меня же strlen не работает, тип данных не тот.
А она, сами понимаете, нужна, без нее приходится ручками считать сколько символов.
Пт июл 27, 2012 07:30:37
jakob291 писал(а):У меня же strlen не работает, тип данных не тот.