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

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

25.01.2020, 17:57. Показов 3305. Ответов 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
 Аватар для COKPOWEHEU
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,987
28.01.2020, 17:34
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от locm Посмотреть сообщение
отому что кто-то можно взять ваш файл и подключить к нескольким c файлам. А потом назовет вас **** программистом.
А что, будет лучше если он подключит библиотеку, не предназначенную для этого, к нескольким файлам и не получит ошибку? Просто программа будет работать не правильно.
То, что всякие криворучки будут винить в своих ошибках кого угодно, только не себя - так они всегда так делают.
Цитата Сообщение от locm Посмотреть сообщение
Особенно хорошие грабли будут для начинающих.
Грабли, которые мешают наступить на другие грабли, побольше? А так ли это плохо?
Цитата Сообщение от locm Посмотреть сообщение
Хотите чтобы вас так называли?
Цитата Сообщение от locm Посмотреть сообщение
Когда вы пишите для себя, можете делать как хотите, но кода выкладываете код в общий доступ, он должен соответствовать https://ru.wikipedia.org/wiki/Заголовочный_файл
Если хотите кого-то в чем-то убедить, надо не пытаться авторитетом давить (тем более вашим - уж больно много чуши наговорили) и не эмоции разводить. А конкретикой:
- [пример] Есть пот такая распространенная ситуация. Ваш код при этом приводит к ошибке, этот - нет.
- [стандарт] Есть вот такой стандарт, там сказано вот это. (Если не помогает - уточнять пункты стандарта и причины почему ему вообще нужно следовать).
- [теория] Есть вот такая технология, поэтому она работает вот так, а не эдак.
Так вот, причину, по которой я сделал так, а не иначе, я написал в самом начале. Причину, по которой надо было делать по-другому, пытаюсь вытащить до сих пор. Пока что дальше "так надо потому что так надо" дело не идет.
0
2 / 2 / 0
Регистрация: 25.01.2020
Сообщений: 3
28.01.2020, 21:27  [ТС]
насколько я поняла вы используете шину с 4 линиями данных, а у меня с 8

Добавлено через 7 минут
а можно все таки по моему вопросу больше комментариев что не так?
2
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
30.01.2020, 12:49
Цитата Сообщение от o_rion Посмотреть сообщение
а можно все таки по моему вопросу больше комментариев
Цитата Сообщение от o_rion Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
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);
}
По даташиту между установкой состояния и "стробирующим сигналом" минимальная задержка должна быть 60ns.
https://www.openhacks.com/uplo... 1602a1.pdf
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
30.01.2020, 19:47
Я запутался в даташитах. Дай ссылку на тот что к твоему дисплею.
0
 Аватар для COKPOWEHEU
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,987
31.01.2020, 10:56
Цитата Сообщение от o_rion Посмотреть сообщение
насколько я поняла вы используете шину с 4 линиями данных, а у меня с 8
Для начала можно попробовать код на 4 линии, остальные ведь не мешают. Хоть проверите правильность подключения и что оно в принципе работает, потом можно искать отличия от своего варианта.
Да и зачем вообще вам 8-битный режим? Без аппаратной поддержки преимуществ от него немного.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
31.01.2020, 11:57
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Грабли, которые мешают наступить на другие грабли, побольше? А так ли это плохо?
(просто процитировал что попало, чтобы встрять в тему обсуждения):
Соглашусь с ув. locm. По ряду причин. Даже в самом мелком проекте есть перспектива роста, дробления и использования компонентов в других местах. Соответственно, достаточное дробление проекта на файлы (а также классы, функции, хедеры и т.п.) встроено уже штатно, в рекомендации многих языков и средств разработки. Ну, и в любой VCS дробление сильно упрощает отслеживать изменения. Потому что изменения в одном большом файле даже на Гите смотрятся коряво и часто двусмысленно. Имея же несколько файлов - вы более целенаправленно (и тщательно) можете отслеживать имплементацию.

Добавлено через 8 минут
COKPOWEHEU, может, будет даже избыточно, но можете попробовать на досуге глянуть рекоммендации Google к их собственному коду.
0
 Аватар для COKPOWEHEU
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,987
31.01.2020, 14:13
Я уже сказал locm'у и могу повторить: простота, гибкость и удобство использования мне важнее, чем абстрактные рекомендации. Эта библиотека специально сделана в виде одного файла, чтобы было проще пользоваться.
Один короткий (полторы сотни строк всего-то) файл - одна задача. Что конкретно в нем можно вынести в отдельный файл и какие преимущества это даст я все еще не знаю.
От locm'а конструктива не дождешься, может вы придумаете хоть один аргумент за разделение на файлы? На всякий случай: "так красивее", "так принято", "так рекомендуют" это не аргументы, а мнения.
Еще лучше было бы, конечно, критикующим сравнить несколько вариантов самостоятельно. Но что-то мне подсказывает, что поленитесь.
Кстати, надо будет поправить там комментарии...
0
Эксперт по электронике
6990 / 3306 / 341
Регистрация: 28.10.2011
Сообщений: 12,980
Записей в блоге: 7
31.01.2020, 15:14
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
На всякий случай: "так красивее", "так принято", "так рекомендуют" это не аргументы, а мнения.
Идите в этот или этот раздел и напишите что для вас в порядке вещей писать исполняемый (не инлайн) код в h файлах и вы не видите смысла его перенести в c файл.
Посмотрим что вам ответят.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
31.01.2020, 15:36
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Эта библиотека специально сделана в виде одного файла, чтобы было проще пользоваться.
Я встречал такие библиотеки. Иногда они вообще собраны (целые фреймворки, кстати) в виде оч.сложных макросов даже, а не функций. И тут происходит двусмыслица - если фреймворк слишком сложен, чтобы его понять, то ты либо принимаешь его (и его тесты) на веру, либо просто не пользуешься - это как чужой ассемблерный код. Либо переписываешь на функии и "static inline void foo()", чтобы код становился правильно адресуемым, читаемым и вообще, эксплуатируемым.

PS: вообще, если вы долгое время работаете один в проекте под одного разработчика - вы все время помните эти ньюансы. Но когда вы работаете в команде, либо ваш код читает и использует кто-то другой - то появляются вполне очерченные атрибуты как хорошего, так и говно-кода.

Не по теме:

PPS: Когда я перешел с индивидуальной разработки (> 15лет писал сам) в командную разработку - код поменял свой вид существенно, именно исходя из вышеописанных ньюансов.


конструктива
ну давайте пару аргументов:

1) Файл хедера всегда включается сначала любого файла исходника. Это значит что все функции появляются из него в коде, всегда "перед" остальными элементами кода. И если это декларации функций - эти функции обязаны быть "static" и/или "inline". Иначе всегда будет опасность компилятору ошибиться и смешать функции в одну, либо наоборот - использовать несколько копий.
2) С глобальными переменными вообще ппц. Файл хедера, предназначенный для "раздачи имен" и "объединения API" в итоге может быть включен в проект где-то исключительно в одном месте проекта, чтобы по меньшей мере глупо (например, библиотека используется из множества файлов исходников, но включаете вы ее только в один, их общий хедер, потому что просто негде). Имена при этом резолвятся только в части случаев, потому что хедер нельзя будет включить несколько раз.
3) Все символы из хедера содержащего функции будут "доступны" в проект "извне", если вы пишете библиотеку. Причем, будут доступны по- кривому.

Есть еще много аргументов, но уже этого достаточно.

Использование однофайловых файлов-библиотек - это как пытаться катать слона на скейте. Для цирка нормально, но в жизни это неприменимо.
0
 Аватар для COKPOWEHEU
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,987
31.01.2020, 15:57
Цитата Сообщение от locm Посмотреть сообщение
напишите что для вас в порядке вещей писать исполняемый (не инлайн) код в h файлах
Это называется "доведение до абсурда" - известный прием. Или вы действительно не видите разницы между "всегда" и "когда оправдано"?
Цитата Сообщение от Voland_ Посмотреть сообщение
если фреймворк слишком сложен, чтобы его понять
Мы говорим не про общий случай, а про конкретный. Вы действительно считаете, что тот код слишком сложен? Я сейчас на полном серьезе спрашиваю как у человека со стороны.
Цитата Сообщение от Voland_ Посмотреть сообщение
1) ...Иначе всегда будет опасность компилятору ошибиться и смешать функции в одну, либо наоборот - использовать несколько копий.
Учитывая, что по логике программы данная библиотека должна включаться только в один *.c файл - каким образом компилятор смешает несколько функций в одну или использует несколько копий? Опять же, я не утверждаю, что знаю язык Си в совершенстве, это вопрос без злого умысла.
Цитата Сообщение от Voland_ Посмотреть сообщение
2) С глобальными переменными вообще ппц.
Так там вроде бы и нет глобальных переменных. Да если бы и были, насколько мне известно, в этом плане они не лучше и не хуже функций.
Цитата Сообщение от Voland_ Посмотреть сообщение
Файл хедера, предназначенный для "раздачи имен" и "объединения API" в итоге может быть включен в проект где-то исключительно в одном месте проекта, чтобы по меньшей мере глупо (например, библиотека используется из множества файлов исходников, но включаете вы ее только в один, их общий хедер, потому что просто негде)
Еще раз: эта библиотека не предназначена для включение в несколько файлов, она слишком низкоуровневая для этого.
Я прекрасно представляю, где и для чего стоит выносить функционал в статическую или динамическую библиотеку. Но в данном конкретном случае это никаких преимуществ не дает - только проблемы.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
31.01.2020, 17:14
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вы действительно считаете, что тот код слишком сложен? Я сейчас на полном серьезе спрашиваю как у человека со стороны.
посмотрел Ваш репозиторий. Код простой.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Я прекрасно представляю, где и для чего стоит выносить функционал в статическую или динамическую библиотеку. Но в данном конкретном случае это никаких преимуществ не дает - только проблемы.
из гитхаба - "1 contributor". Так что , не парьтесь с этим проектиком. Но на будущее просто примите к сведению (об)субъективную критику ).
0
27 / 22 / 5
Регистрация: 31.01.2019
Сообщений: 102
31.01.2020, 17:29
Цитата Сообщение от Voland_ Посмотреть сообщение
Но на будущее просто примите к сведению (об)субъективную критику ).

0
 Аватар для COKPOWEHEU
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,987
31.01.2020, 17:34
Цитата Сообщение от Voland_ Посмотреть сообщение
посмотрел Ваш репозиторий. Код простой.
Если вы посмотрели и другие мои репозитории вроде vhid или memfile, то могли видеть, что в разделение на *.c + *.h я все-таки умею
Цитата Сообщение от Voland_ Посмотреть сообщение
Так что , не парьтесь с этим проектиком.
Я этот код писал для себя и неоднократно им пользовался. Так что "париться" мне вообще не с чего.
Цитата Сообщение от Voland_ Посмотреть сообщение
Но на будущее просто примите к сведению (об)субъективную критику
Можете мне не верить, но я столько времени добивался ответа именно для того чтобы что-то улучшить. К сожалению, улучшений от разделения на *.c + *.h я все еще не вижу. Вот ухудшений - кучу.
0
27 / 22 / 5
Регистрация: 31.01.2019
Сообщений: 102
31.01.2020, 17:42
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
К сожалению, улучшений от разделения на *.c + *.h я все еще не вижу
А как вы будете использовать в разных *.c файлах одноименные функции? Ааа ну да вы же всё в одном пишете =)
1
 Аватар для COKPOWEHEU
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,987
31.01.2020, 18:37
Цитата Сообщение от joogorden Посмотреть сообщение
Ааа ну да вы же всё в одном пишете =)
Если такие проблемы с чтением, может стоит сначала поучиться, прежде чем писать?
Вторую страницу повторяю, что попытка прямого доступа к периферии из нескольких участков кода без синхронизации приведет к гораздо худшим последствиям, чем просто ошибка компиляции.
Либо надо писать полноценный драйвер с соответствующими накладными расходами - тогда из любого количества процессов. Либо прямой доступ - тогда только из одного.
Неужели базовые концепции разделения ресурсов настолько сложны для понимания?!
0
27 / 22 / 5
Регистрация: 31.01.2019
Сообщений: 102
31.01.2020, 19:12
Уважаемый COKPOWEHEU, видимо у нас с вами разные "несущие частоты", не понимаю ваше "искусство".
1
Эксперт по электронике
6990 / 3306 / 341
Регистрация: 28.10.2011
Сообщений: 12,980
Записей в блоге: 7
31.01.2020, 20:04
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Можете мне не верить, но я столько времени добивался ответа именно для того чтобы что-то улучшить. К сожалению, улучшений от разделения на *.c + *.h я все еще не вижу.
Потому что все приведенные доводы вы считаете несущественными.
1
 Аватар для COKPOWEHEU
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,987
31.01.2020, 23:20
locm, а с каких пор "так принято" и "мне так нравится" стали хотя бы обычными доводами, не то что существенными?
Предположим, я разделю один файл на два - что изменится?
Для подключения к проекту придется менять не 1 файл, а 2 или 3. Жирный минус.
Скорость компиляции точно не вырастет, скорее снизится, но незначительно. Равнозначно.
Возможность пользоваться из разных *.c файлов не появится. Равнозначно. (чтобы такая возможность появилась придется написать больше кода)
Вот это - объективные метрики, их можно померить в количестве действий, времени или булевой величине (можно-нельзя). Пока что они показывают, что одним файлом лучше.
Цитата Сообщение от joogorden Посмотреть сообщение
Уважаемый COKPOWEHEU, видимо у нас с вами разные "несущие частоты", не понимаю ваше "искусство".
А вы с какой целью включились в спор? Если только блеснуть знаниями общих рекомендаций, то лучше не надо. Если интересна тема работы с подобными дисплеями, то, возможно, у вас есть свои наработки?
От locm'а-то ничего подобного ждать не приходится, ему лишь бы поспорить на тему, в которой не разбирается. Соответственно и "аргументация" - повторение общих соображений, не задумываясь адекватны ли они данной конкретной задаче.
0
Эксперт по электронике
6990 / 3306 / 341
Регистрация: 28.10.2011
Сообщений: 12,980
Записей в блоге: 7
01.02.2020, 01:14
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
locm, а с каких пор "так принято" и "мне так нравится" стали хотя бы обычными доводами, не то что существенными?
Представьте входите вы в общество голышом. Вам говорят это неприлично, неэтично и нарушает все нравственные правила, на что вы отвечаете.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
это не аргументы, а мнения.
То есть считаете что нарушение правил и стандартов это в порядке вещей.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
чтобы такая возможность появилась придется написать больше кода
Не ленитесь! Пишите так чтобы код легко можно было использовать в других проектах.
Если в МК не влезает, берите модель с большим объемом памяти. Сейчас они стоят копейки.
0
 Аватар для COKPOWEHEU
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,987
01.02.2020, 09:39
locm, я даже не буду отвечать на ваши кривые аналогии. Просто надоело.
Поскольку аргументов вы так и не привели, делаю вывод, что спорите только ради спора.
Цитата Сообщение от locm Посмотреть сообщение
Не ленитесь! Пишите так чтобы код легко можно было использовать в других проектах.
Не ленитесь, проведите эксперимент. Напишите так, как считаете нужным (да хотя бы на основе моего варианта если уж совсем лень) и сравните удобство и прочие параметры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.02.2020, 09:39
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru