С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
2 / 2 / 0
Регистрация: 25.01.2020
Сообщений: 3

Инициализация дисплея

25.01.2020, 17:57. Показов 3133. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подключила дисплей, написала программу, но не понимаю где ошибка, он не выводит, что должен
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#define F_CPU 16000000L
#include <stdio.h>
#include <avr/io.h>
#include <util/delay.h>
 
#define RS PB4
#define RW PB3
#define E PB2
 
char D[16];
 
//программа записи данных в дисплей
void display_wrt(unsigned char letter)
{
    PORTB |=(1<<RS);// RS->1
    PORTB &=~(1<<RW);//RW->0
    PORTB |=(1<<E);//E->1
    _delay_ms(40);
    PORTD=0x00;
    PORTD |=letter;
    PORTB &=~(1<<E);//E->0
    _delay_ms(40);
}
void display_init(void)
{
    DDRB |=(1<<RS)|(1<<E)|(1<<RW);//ВЫВОД ДАННЫХ НА ДИСПЛЕЙ, НА ЧТЕНИЕ ДАННЫХ ИЗ КОНТРОЛЛЕРА
    PORTB=0x00;//PORTB->0
    DDRB=0xFF;//PORTB->1
    _delay_ms(50);
    PORTB &=~(1<<RS);// RS->0
    PORTB &=~(1<<RW);//RW->0
    
    PORTB |=(1<<E);//E->1
    _delay_ms(40);
    PORTD=0x30;//в порт D->0(режим работы с 8ми разр шиной)
    PORTB &=~(1<<E);//E->0
    _delay_ms(40);
    
    PORTB |=(1<<E);//E->1
    _delay_ms(40);
    PORTD=0x30;//в порт D->0(режим работы с 8ми разр шиной)
    PORTB &=~(1<<E);//E->0
    _delay_ms(40);
    
    PORTB |=(1<<E);//E->1
    _delay_ms(40);
    PORTD=0x30;//в порт D->0(режим работы с 8ми разр шиной)
    PORTB &=~(1<<E);//E->0
    _delay_ms(40);
    
    PORTB |=(1<<E);//E->1
    _delay_ms(40);
    PORTD=0x30;
    PORTB &=~(1<<E);//E->0
    _delay_ms(40);
    
    PORTB |=(1<<E);//E->1
    _delay_ms(40);
    PORTD=0x0E;//включить изображение, включение курсора, отключение мерцания
    PORTB &=~(1<<E);//E->0
    _delay_ms(40);
    PORTB |=(1<<E);//E->1
    _delay_ms(40);
    PORTD=0x06;//счетчик адреса увеличивается, сдвига экрана нет
    PORTB &=~(1<<E);//E->0
    _delay_ms(40);
    
    PORTB |=(1<<E);//E->1
    _delay_ms(40);
    PORTD=0x01;//очистка дисплея
    _delay_ms(40);
    PORTB &=~(1<<E);//E->0
}
int main(void)
{
    int t=0;
    char d=0;
    int x=0;
    int c=0;
    
    DDRC = 0x11;//0x01
    DDRD=0xFF;
    PORTC = 0x00;
    display_init();
    
    display_wrt(0x71);
    display_wrt(0x61);
    _delay_ms(100);
    
    
    while (1)
    {
        TCCR0A = 0x00;
        t=0;
        d=0;
        TCNT0 = 0;
        TCCR0B =0x01;
        PORTC |= 0x01;
        _delay_ms(1);
        TCCR0B =0x00;
        PORTC &= ~0x01;
        
        t=TCNT0*62.5*pow(10, -9);
        d=343.1*t/2;
        _delay_ms(1);
        PORTB &=~(1<<RS);// RS->0
        PORTB &=~(1<<RW);//RW->0
        PORTB |=(1<<E);//E->1   
        _delay_ms(40);
        PORTD=0x01;//очистка дисплея
        _delay_ms(40);
        PORTB |=(1<<E);//E->1
        //вывод строки
        PORTB |=(1<<RS);//RS->1
        PORTB |=(1<<E);//E->1
        _delay_ms(40);
            x=(d/10)+48;
        c=(d/10)-x;
        display_wrt(x);
        _delay_ms(10000);
        PORTB &=~(1<<E);//E->0
         _delay_ms(40);
         PORTB |=(1<<E);//E->1
         _delay_ms(40);
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2020, 17:57
Ответы с готовыми решениями:

Инициализация дисплея 16х2 на базе контроллера ST7066U-0T
Смотрю в даташит дисплея, не нахожу информации о процедуре инициализации. Означает ли это что этому дисплею инициализация не требуется? ...

Инициализация дисплея на PCD8544 (дисплей от нокиа 3310)
Здравствуйте. Хочу подключить этот дисплей (3310) к мк Atmega328 . С сборкой в железе проблем нет, не очень понимаю как сделать...

Странное поведение текствого ЖК дисплея
Добрый день. Написал собственную библиотечку для работы с AVR жк дисплеем и наблюдаю очень странное поведение. При первом запуске...

45
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
25.01.2020, 19:04
Цитата Сообщение от o_rion Посмотреть сообщение
Подключила дисплей
Что за дисплей? Они разные бывают.
Цитата Сообщение от o_rion Посмотреть сообщение
C++
1
PORTB |=(1<<E);//E->1
Отпадные комменты. У тебя как папу зовут? Капитан очевидность?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
void display_init(void)
{
DDRB |=(1<<RS)|(1<<E)|(1<<RW);//ВЫВОД ДАННЫХ НА ДИСПЛЕЙ, НА ЧТЕНИЕ ДАННЫХ ИЗ КОНТРОЛЛЕРА
PORTB=0x00;//PORTB->0
DDRB=0xFF;//PORTB->1
_delay_ms(50);
PORTB &=~(1<<RS);// RS->0
PORTB &=~(1<<RW);//RW->0
 
PORTB |=(1<<E);//E->1
_delay_ms(40);
PORTD=0x30;//в порт D->0(режим работы с 8ми разр шиной)
PORTB &=~(1<<E);//E->0
_delay_ms(40);
 
PORTB |=(1<<E);//E->1
_delay_ms(40);
PORTD=0x30;//в порт D->0(режим работы с 8ми разр шиной)
PORTB &=~(1<<E);//E->0
_delay_ms(40);
 
PORTB |=(1<<E);//E->1
_delay_ms(40);
PORTD=0x30;//в порт D->0(режим работы с 8ми разр шиной)
PORTB &=~(1<<E);//E->0
_delay_ms(40);
 
PORTB |=(1<<E);//E->1
_delay_ms(40);
PORTD=0x30;
PORTB &=~(1<<E);//E->0
_delay_ms(40);
 
PORTB |=(1<<E);//E->1
_delay_ms(40);
PORTD=0x0E;//включить изображение, включение курсора, отключение мерцания
PORTB &=~(1<<E);//E->0
_delay_ms(40);
PORTB |=(1<<E);//E->1
_delay_ms(40);
PORTD=0x06;//счетчик адреса увеличивается, сдвига экрана нет
PORTB &=~(1<<E);//E->0
_delay_ms(40);
 
PORTB |=(1<<E);//E->1
_delay_ms(40);
PORTD=0x01;//очистка дисплея
_delay_ms(40);
PORTB &=~(1<<E);//E->0
}
Ты циклы не умеешь писать? Или не можешь повторяющийся код вынести в отдельную функцию?

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
void display_wrt(unsigned char letter)
{
        ...
        PORTD = 0x00;
        PORTD |= letter;
        ...
}
Нужно именно сначала обнулить порт а только потом писать в него letter? Если нет, то почему бы не заменить на обычное присваивание?

Добавлено через 14 минут
В цикле while(1)
C++
1
2
3
4
5
PORTB |= E;
_delay_ms(40);
PORTD=0x01;
_delay_ms(40);
PORTB |= E;
В PORTB два раза подряд устанавливается пин Е. Если посмотреть на предыдущий код, то кажется, во второй раз надо снимать этот бит а не устанавливать. Так?
0
2 / 2 / 0
Регистрация: 25.01.2020
Сообщений: 3
26.01.2020, 11:34  [ТС]
Цитата Сообщение от assemberist Посмотреть сообщение
е
дисплей 1602а

Добавлено через 2 минуты
Е это не пин, а стробирующий сигнал
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
26.01.2020, 15:11
Цитата Сообщение от o_rion Посмотреть сообщение
Е это не пин, а стробирующий сигнал
Цитата Сообщение от o_rion Посмотреть сообщение
#define E PB2
PB2 - это псевдоним Port B Pin 2 (По русски 3-ножка порта Б). И в твоем случае на нем генерируется как ты говоришь стробирующий сигнал.
0
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,238
26.01.2020, 15:22
Удалено.
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
26.01.2020, 15:44
Понимание работы контроллера и дисплея похвальны, но код тоже нужно уметь писать, чтобы не сидеть потом полдня и не искать пропущенную инструкцию. Да и память меньше расходуется.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#define F_CPU 16000000L
#include <stdio.h>
#include <avr/io.h>
#include <util/delay.h>
 
#define RS (1<<PB4)
#define RW (1<<PB3)
#define E (1<<PB2)
 
char D[16];
 
//программа записи данных в дисплей
void display_wrt(unsigned char letter)
{
    PORTB |= RS;
    PORTB &= ~RW;
    serv(letter);
}
 
void serv(int8_t val){
    PORTB |=E;
    _delay_ms(40);
    PORTD = val;
    PORTB &= ~E;
    _delay_ms(40);
}
 
void display_init(void)
{
    DDRB |= (RS | E | RW); //ВЫВОД ДАННЫХ НА ДИСПЛЕЙ, НА ЧТЕНИЕ ДАННЫХ ИЗ КОНТРОЛЛЕРА
 
    PORTB=0x00;
    DDRB=0xFF;
 
    _delay_ms(50);
    PORTB &= ~(RS | RW);
    
    for(int i = 5; i--;) serv(0x30);    
    serv(0x0E);
    serv(0x06); //счетчик адреса увеличивается, сдвига экрана нет
    serv(0x01); //очистка дисплея
}
 
int main(void)
{
    int t=0;
    char d=0;
    int x=0;
    int c=0;
    
    DDRC = 0x11;//0x01
    DDRD=0xFF;
    PORTC = 0x00;
    display_init();
    
    display_wrt(0x71);
    display_wrt(0x61);
    _delay_ms(100);
    
    
    while (1)
    {
        TCCR0A = 0x00;
        t=0;
        d=0;
        TCNT0 = 0;
        TCCR0B =0x01;
        PORTC |= 0x01;
        _delay_ms(1);
        TCCR0B =0x00;
        PORTC &= ~0x01;
        
        t=TCNT0*62.5*pow(10, -9);
        d=343.1*t/2;
        _delay_ms(1);
        PORTB &=~RS;// RS->0
        PORTB &=~RW;//RW->0
        PORTB |=E;//E->1   
        _delay_ms(40);
        PORTD=0x01;//очистка дисплея
        _delay_ms(40);
        PORTB |=E;//E->1
        //вывод строки
        PORTB |=RS;//RS->1
        PORTB |=E;//E->1
        _delay_ms(40);
            x=(d/10)+48;
        c=(d/10)-x;
        display_wrt(x);
        _delay_ms(10000);
        PORTB &=~E;//E->0
         _delay_ms(40);
         PORTB |=E;//E->1
         _delay_ms(40);
    }
}
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
27.01.2020, 11:51
Выложу и я свой вариант: https://github.com/COKPOWEHEU/... r/lcd_v2.h
1
Эксперт по электронике
6526 / 3155 / 333
Регистрация: 28.10.2011
Сообщений: 12,378
Записей в блоге: 7
27.01.2020, 13:34
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Выложу и я свой вариант
Кто пишет в h файлах код функций?
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
27.01.2020, 15:16
Любой, кто хочет получить максимально простую библиотеку для простой задачи.
Низкоуровневая библиотека для работы с дисплеем не предназначена для подключения в несколько файлов исходного кода. Просто по природе своей не предназначена.
0
Эксперт по электронике
6526 / 3155 / 333
Регистрация: 28.10.2011
Сообщений: 12,378
Записей в блоге: 7
27.01.2020, 18:10
Если h файл подключается только к одному c файлу то что мешало в нем написать код, а в h только декларацию?
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
27.01.2020, 20:28
Именно это и мешало - разделение на два файла.
В данном варианте достаточно прописать в исходнике порты и подключить заголовочник - и все, можно пользоваться.
Если же разделить на два файла - где прописывать порты? Прямо в заголовочнике? Тогда его труднее перетащить в другой проект. Можно, конечно, в специальном файле вроде board.h прописать вообще все настройки, но это опять бесполезное раздувание проекта. Еще пришлось бы лезть в makefile и прописывать *.c файл туда.
А главное - какую проблему решит разделение на два файла?
0
Эксперт по электронике
6526 / 3155 / 333
Регистрация: 28.10.2011
Сообщений: 12,378
Записей в блоге: 7
27.01.2020, 20:34
Про раздельную компиляцию слышали?
Или у вас весь проект в одном c файле?

Исполняемый код должен быть в c файле. В h допускаются только инлайн функции.
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
28.01.2020, 10:35
Вы не ответили на вопрос: какую проблему решит разделение кода на два файла?
0
Эксперт по электронике
6526 / 3155 / 333
Регистрация: 28.10.2011
Сообщений: 12,378
Записей в блоге: 7
28.01.2020, 14:07
А зачем по вашему делят код на файлы, а не пишут все в одном файле?
Вы как будто первый день на Си пишите. Вот от кого, а от вас такого не ожидал.
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
28.01.2020, 14:27
Обычно - для скорости компиляции, чтобы не пересобирать объектник при малейшем изменении в проекте. Либо для сокрытия деталей реализации от остальной программы, когда наружу торчат функции, которые может дергать кто угодно.
В данном же случае просадка скорости сборки не видна даже в микроскоп. Попытка подключить в несколько файлов будет ошибкой архитектуры, тут даже лучше, когда компилятор сразу даст по рукам за такое. Ну и удобство портирования: этот файл лежит в специальной директории, и для каждого проекта я его не меняю:
C
1
2
3
4
5
6
7
8
9
#include <avr/io.h>
#define LCD_D4  A,2
#define LCD_D5  A,3
#define LCD_D6  A,4
#define LCD_D7  A,5
#define LCD_RS  B,2
#define LCD_E   A,0
#define LCD_NUM_STR 4
#include "../modules/lcd_v2.h"
Естественно, если таких настроек скапливается слишком много, они уезжают в специальный файл настроек.
Цитата Сообщение от locm Посмотреть сообщение
Вы как будто первый день на Си пишите. Вот от кого, а от вас такого не ожидал.
Именно потому так и пишу, что представляю, когда такое отступление от рекомендаций оправдано.
0
Эксперт по электронике
6526 / 3155 / 333
Регистрация: 28.10.2011
Сообщений: 12,378
Записей в блоге: 7
28.01.2020, 15:08
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Попытка подключить в несколько файлов будет ошибкой архитектуры, тут даже лучше, когда компилятор сразу даст по рукам за такое.
А если необходимо подключить в несколько?
Или предлагаете все писать в одном файле?

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Именно потому так и пишу, что представляю, когда такое отступление от рекомендаций оправдано.
Когда вы пишите для себя, можете делать как хотите, но кода выкладываете код в общий доступ, он должен соответствовать https://ru.wikipedia.org/wiki/Заголовочный_файл
Потому что кто-то можно взять ваш файл и подключить к нескольким c файлам. А потом назовет вас **** программистом.
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
28.01.2020, 15:21
Цитата Сообщение от locm Посмотреть сообщение
А если необходимо подключить в несколько?
то настолько низкоуровневая и примитивная библиотека все равно не подойдет, даже если бы это было технически осуществимо. Именно поэтому ошибка компиляции при попытке сделать это - плюс.
Для совместного доступа к какому-то ресурсу нужно городить какие-то алгоритмы разграничения. Хотя бы аналог мьютексов, но лучше полноценным драйвером с буферизацией. И его никто не мешает накрутить поверх моей библиотеки.
Цитата Сообщение от locm Посмотреть сообщение
Когда вы пишите для себя, можете делать как хотите, но кода выкладываете код в общий доступ, он должен соответствовать
Вероятно, у нас разные приоритеты. Мне как-то важнее эффективность и удобство, чем формальное соответствие рекомендациям.
Цитата Сообщение от locm Посмотреть сообщение
А зачем по вашему делят код на файлы, а не пишут все в одном файле?
Свою версию я озвучил. Теперь неплохо бы послушать вашу.
Какие проблемы решаются разделением исходника на несколько файлов и какие из них актуальны в данном конкретном случае?
0
Эксперт по электронике
6526 / 3155 / 333
Регистрация: 28.10.2011
Сообщений: 12,378
Записей в блоге: 7
28.01.2020, 15:42
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Теперь неплохо бы послушать вашу.
Ну во первых раздельная компиляция. Обычно IDE поддерживает многопроцессорную (многоядерную) сборку, при которой запускаются столько копий GCC сколько ядер у процессора и каждому отдается свой c файл, что позволяет быстрее выполнять сборку, но при условии что весь не в одном c файле.
Во вторых сложно поддерживать код когда он весть в одном файле, содержащем 10000+ строк. И это также затрудняет повторное использование кода в других проектах. Проще скопировать файлы и подключить их чем вытаскивать куски кода из одного файла.
Вообще код нужно стараться писать в соответствии с общепринятыми стандартами, особенно если его выкладываете в общий доступ.
Чего вы добились написав код в h файле? Ну стало на файл меньше, при этом грубо нарушив стандарт. Польза какая? Меньше файлов не диске?
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
28.01.2020, 16:16
Цитата Сообщение от locm Посмотреть сообщение
позволяет быстрее выполнять сборку
Неактуально: для avr довольно сложно написать такой объемный код чтобы сборка на современной машине тормозила. Там на запуск gcc больше времени уйдет, чем на работу
Цитата Сообщение от locm Посмотреть сообщение
Во вторых сложно поддерживать код когда он весть в одном файле, содержащем 10000+ строк.
Актуально и перевыполнено. Работа с дисплеем вынесена в отдельный файл и прекрасно проверяется отдельно. Учитывая, что подключение отдельного *.h файла проще, чем *.h+*.c, мой вариант даже превосходит "стандартный".
Цитата Сообщение от locm Посмотреть сообщение
Вообще код нужно стараться писать в соответствии с общепринятыми стандартами
Не стоит делать из рекомендаций религию.
Если в данном случае рекомендация актуальна или не вредна, ей лучше следовать. Если мешает - игнорировать. Да, неплохо бы отметить в комментарии что это сделано осознано и какие были причины. Может и дойдут руки вписать.
Цитата Сообщение от locm Посмотреть сообщение
при этом грубо нарушив стандарт
Чушь.
Цитата Сообщение от locm Посмотреть сообщение
Чего вы добились написав код в h файле?
Так чего я добьюсь если разделю их? Только, пожалуйста, без криков про "так принято".
0
Эксперт по электронике
6526 / 3155 / 333
Регистрация: 28.10.2011
Сообщений: 12,378
Записей в блоге: 7
28.01.2020, 16:38
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Так чего я добьюсь если разделю их?
Цитата Сообщение от locm Посмотреть сообщение
Потому что кто-то можно взять ваш файл и подключить к нескольким c файлам. А потом назовет вас **** программистом.
Хотите чтобы вас так называли? Особенно хорошие грабли будут для начинающих.
Повторюсь.
Цитата Сообщение от locm Посмотреть сообщение
Когда вы пишите для себя, можете делать как хотите, но кода выкладываете код в общий доступ, он должен соответствовать https://ru.wikipedia.org/wiki/Заголовочный_файл
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2020, 16:38
Помогаю со студенческими работами здесь

Проблема с подключением OLED дисплея
Всем привет. Прошу помощи, ибо сложившаяся ситуация ставит меня в тупик :( Итак, у меня есть Winstor-овский OLED дисплей...

Подключение LCD дисплея к ATMEGA8 в PROTEUS
Не могу понять, как подсоединить дисплей к микроконтроллеру, чтобы при нажатии каждой кнопки высвечивалась определённая надпись на самом...

Меню проблемы с очисткой дисплея (CVAVR)
Добрый день. Писал простетское меню, один уровень всего. 1. Проверка FCU 2. Проверка FUC Есть кнопки отмена (она же стрелка...

Подключение LCD дисплея на ATmega на ассемблере
Есть исходный код, и схема DTMF генератора. Нужно добавить lcd дисплей, который будет выводить набранный номер(считывание 4х4 матричной...

Подключение TFT-дисплея к AVR (ST7735S)
Имеется дисплей ST7735S помогите найти библитеку для Atmel studyo. Взял библиотеку от суда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
Новые блоги и статьи
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru