Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Нарушитель
569 / 115 / 0
Регистрация: 09.02.2020
Сообщений: 2,816
Записей в блоге: 5

API к микросхеме часов реального времени DS1248

08.09.2025, 10:48. Показов 5232. Ответов 54
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дорогие мои Друзья! Сегодня, 08.09.2025 at 10:32, я хочу представить вам разработанную мной для предприятия "Бинар", когда я работал там три месяца на испытательном сроке на полставки с зарплатой 7 тыщ. российских рублей библиотеку на С++ для доступа к микросхеме реального времени DS1248. Царствие Вам Небесное, дорогой наш Карюк Владимир Михайлович!

Начальником у меня был Малахин. За давностью лет я забыл его имя и отчество. Каждый раз, придя на работу, я был должен как сопливый школьник просить Малыхина набрать мне пароль на вход виндос (вроде windows 2000). Хорошо, что на колени ещё не просил меня вставать, упрашивать его, чтобы он мне пароль на вход виндос набрал (в то самое время, когда у меня уже на руках был красный СарФТИ-шный диплом). Ну не ценили они специалистов, жадность их и сгубила, почему и наступил полный крах предприятия. Но, даже, скорее всего, не это. Помер Владимир Михайлович, а на нём, собственно говоря (далее с.г.), всё и держалось. Вот главная причина. Ну это так, лирика.

Сама же микросхема часов DS1248 оказалась чрезвычайно хитрой. Если бы не мой лучший друг, превосходно разбиравшийся в английском, не выкопал из руководства пользователя, что доступ к микросхеме осуществляется, всего на всего, через один единственный бит в нулевой ячейке памяти адресного пространства микросхемы часов, я бы сам не догадался, ну, или, потратил бы много времени. Но так как Женька подсказал мне - я приступил сразу к разработке.

REAL-TIME-CLOCK DS1248

ОПИСАНИЕ БИБЛИОТЕКИ

RTCLOCK

Ревизия

2 апреля 2010 г.

(С) 2010 БИНАР

СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
REAL-TIME-CLOCK API 4
• структура RTCLOCK 4
• структура RTCLOCK_REGISTERS 4
• структура RTCLOCK_CORRECTION 4
• RTCLOCK_CORRECTION * rtclock_init() 5
• int rtclock_readmemory(byte * addr_dest, dword start, dword size) 5
• int rtclock_writememory(byte * addr_source, dword start, dword size) 5
• void rtclock_rtclock_to_registers(RTCLOCK * rt, RTCLOCK_REGISTERS * rg) 5
• void rtclock_registers_to_rtclock(RTCLOCK_REG ISTERS * rg, RTCLOCK * rt) 5
• void rtclock_read(RTCLOCK * cl) 5
• void rtclock_write(RTCLOCK * cl) 5
• void rtclock_setdate(byte date, byte month, byte year, byte day) 5
• void rtclock_settime(byte hour, byte min, byte sec, byte s) 6
• void rtclock_writeregisters(RTCLOCK_REGISTERS * r) 6
• void rtclock_readregisters(RTCLOCK_REGISTERS * r) 6
• void rtclock_formatstring(char * buf, RTCLOCK * cl, int type) 6
• void rtclock_getformatstring(char * buf, int type) 6
• dword rtclock_getcurrentmilliseconds() 6
• void rtclock_start() 6
• void rtclock_stop() 6
• RTCLOCK rtclock_gettimewithcorrection(RTCLOCK * rt) 7
• RTCLOCK rtclock_getrealtimewithcorrection() 7
• RTCLOCK_CORRECTION * rtclock_getcorrection() 7
• void rtclock_setaccuratetimewithcorrection(RT CLOCK *rt) 7
• void rtclock_setcorrection() 7
• void rtclock_offcorrection() 7
• void rtclock_oncorrection() 8
• void rtclock_loadcorrection() 8
• void rtclock_savecorrection() 8
• void rtclock_setstartaccurate(RTCLOCK * rtstart); 8
• dword rtclock_convert_rtclock_to_seconds(RTCLO CK * rt); 8
• dword rtclock_convert_rtclock_to_minutes(RTCLO CK * rt); 8
• dword rtclock_datetodays(RTCLOCK * rt); 8
• dword rtclock_getcurrentmilliseconds(); 8
• void rtclock_decrement(RTCLOCK * rt); 8
• void rtclock_increment(RTCLOCK * rt); 8
• void rtclock_correct_values(RTCLOCK *rt); 8

ПРИЛОЖЕНИЕ 1. РУССКОЕ ОПИСАНИЕ РЕГИСТРОВ DS1248. 9
ПРИЛОЖЕНИЕ 2. ОПИСАНИЯ РЕГИСТРОВ DS1248 ИЗ DATASHEET. 11
ПРИЛОЖЕНИЕ 3. ОПИСАНИЕ ФУНКЦИИ ТЕСТОВОГО МЕНЮ 12

ВВЕДЕНИЕ

DS1248 представляет собой микросхему часов реального времени и энергонезависимой памяти, содержащую 128 Килобайт ячеек памяти.

Часы реального времени не находятся в адресном пространстве 128 Килобайт

Для программиста, часы реального времени представляют собой 8 байтовых регистров, в которых хранятся часы и дата в BCD-формате, а также управляющие биты, отвечающие за пуск/останов часов, формат часов 24/12, сброс.

Доступ к часам реального времени возможен после посылки предварительной 64-битной последовательности, заданной производителем, и дальнейшим считыванием или записью 64 бит данных.

Запись или считывание показаний часов реального времени осуществляется через нулевую ячейку памяти, принадлежащую адресному пространству DS1248, используя при этом нулевой бит данных, поэтому нулевая ячейка памяти DS1248 не должна использоваться для хранения пользовательский данных.

Таким образом, считывание или запись показаний часов возможна только путем чтения или записи целиком всех 8-ми байтовых регистров DS1248.

Был проведен тест, результат которого показал, что время чтения из часов реального времени занимает примерно 1/10 миллисекунды.


REAL-TIME-CLOCK API

• структура RTCLOCK

C++
1
2
3
4
5
6
7
8
9
Структура RTCLOCK предназначена для хранения времени и даты
typedef struct _RTCLOCK
{
int s,           //сотые доли секунды (0..99)
     sec, min, hour,     //секунды(0..59) минуты (0..59) часы (0..23)
     day,            //день недели (1..7)
     date, month, year; //дата(1..31) месяц(1..12) год (0..99)
 
} RTCLOCK;
• структура RTCLOCK_REGISTERS

структура RTCLOCK_REGISTERS хранит 8 байтовых регистров микросхемы DS1248. Описание регистров см. в ПРИЛОЖЕНИИ 1,2

C++
1
2
3
4
5
typedef struct _RTCLOCK_REGISTERS
{
    byte reg[8];
 
} RTCLOCK_REGISTERS;
• структура RTCLOCK_CORRECTION

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
typedef struct _RTCLOCK_CORRECTION
{   
    //нулевая ячейка DS1248 используется для записи в часы реального времении, поэтому делаем резерв
    byte reserv0, reserv1, reserv2, reserv3;
 
    RTCLOCK start_accurate; //дата и время установки точного времени (начало периода наблюдения)
 
    RTCLOCK uhod;           // уход часов за период наблюдения
 
    signed char uhod_sign;  //знак ухода часов (+1) или (-1)
 
byte on_off;            //1 коррекция включена   0 выключена  
 
    int uhod_day_count;     //число дней за которое засекался уход часов
 
    double popravka;
 
long magic; //"магическое" число. если == определенной константе    - данные структуры верны
//иначе - нет, нужно инициализировать (первое обращение к библиотеке, когда в памяти находятся случайные данные. Также если будет меняться содержимое структуры, нужно изменить константу)
 
} RTCLOCK_CORRECTION;
• RTCLOCK_CORRECTION * rtclock_init()

Инициализация библиотеки. Функция обязательно должна вызываться один раз перед первым обращением к библиотеке rtclock.
• int rtclock_readmemory(byte * addr_dest, dword start, dword size)

считывание из памяти DS1248 в буфер
максимальный размер - 128 килобайт
start - начальная ячейка памяти микросхемы, откуда будет произведено считывание (0..131071)
addr_dest - указатель на адрес-назначение из общего адресного пространства, куда будет произведена запись данных, считанных из микросхемы часов-памяти

Возвращаемое значение:
1 - успешно
0 – ошибка (чтение не произведено, поскольку начальные адрес + размер запрашиваемых данных превышает диапазон памяти DS1248)

• int rtclock_writememory(byte * addr_source, dword start, dword size)

запись в память микросхемы DS1248 из буфера пользовательских данных максимальный размер - 128 килобайт (131072 байт)

start - начальная ячейка памяти микросхемы, куда произведется запись (0.. 131071)
addr_source - указатель на данные-источник из общего адресного пространства

возвращаемое значение:
1 - успешно
0 – ошибка (запись не произведена, поскольку начальный адрес + размер запрашиваемых данных превышает диапазон памяти DS1248)
• void rtclock_rtclock_to_registers(RTCLOCK * rt, RTCLOCK_REGISTERS * rg)

Преобразует данные структуры RTCLOCK в данные RTCLOCK_REGISTERS (регистры часов DS1248). После преобразования возможна запись регистров в DS1248
• void rtclock_registers_to_rtclock(RTCLOCK_REG ISTERS * rg, RTCLOCK * rt)

Преобразует значение регистров RTCLOCK_REGISTERS в значения структуры RTCLOCK.
Функция используется после считывание из микросхемы регистров часов для преобразования в RTCLOCK (время и дата)
• void rtclock_read(RTCLOCK * cl)

Считывание времени и даты из DS1248
• void rtclock_write(RTCLOCK * cl)

Запись времени и даты в DS1248
• void rtclock_setdate(byte date, byte month, byte year, byte day)

Установка даты (день (1..31), месяц (1..12), год (00..99), день недели (1..7)
• void rtclock_settime(byte hour, byte min, byte sec, byte s)

Установка времени (часы (0..23), минуты (0..59), секунды (0..59), сотые доли секунд (00..99)
• void rtclock_writeregisters(RTCLOCK_REGISTERS * r)

Запись всех 8-ми регистров в DS1248. Необходимо помнить, что данные хранятся в формате BCD (двоично-десятичный формат) и в некоторых регистрах имеются управляющие биты подробнее о регистрах см. ПРИЛОЖЕНИЯ
• void rtclock_readregisters(RTCLOCK_REGISTERS * r)

Считывание всех восьми байтовых регистров из микросхемы часов-памяти DS1248. Необходимо помнить, что данные хранятся в формате BCD (двоично-десятичный формат) и в некоторых регистрах имеются управляющие биты подробнее о регистрах см. ПРИЛОЖЕНИЯ
• void rtclock_formatstring(char * buf, RTCLOCK * cl, int type)

Создает текстовую строку и записывает ее buf из данных структуры cl в соответствии с типом type

type=0 23:12:57 (только время)
type=1 23:12:45.23 (только время с сотыми долями секунд)
type=2 20.02.2010 (только дата)
type=3 20.02.2010 23:12:57 (дата и время)
type=4 20.02.2010 23:12:57.49 (дата и время с сотыми долями секунд)
type=5 123045 (миллисекунды)
• void rtclock_getformatstring(char * buf, int type)

Получить сформированную текстовую строку в buf из часов реального времени. Значение type см. в описании функции rtclock_formatstring.

• dword rtclock_getcurrentmilliseconds()

Функция возвращает количество миллисекунд, посчитанных из текущих показаний часов реального времени

• void rtclock_start()

Запуск часов реального времени

• void rtclock_stop()

Остановка часов реального времени

• RTCLOCK rtclock_gettimewithcorrection(RTCLOCK * rt)

Корректировка времени и даты, переданной в качестве параметра функции.
Возвращается скорректированное время и дата.

• RTCLOCK rtclock_getrealtimewithcorrection()

Получить время из микросхемы часов с учетом коррекции.

• RTCLOCK_CORRECTION * rtclock_getcorrection()

Получить указатель на структуру RTCLOCK_CORRECTION, в которой хранятся параметры коррекции. Необходимо отметить, что эта структура записывается в энергонезависимую память, считывается и записывается функциями rtclock_loadcorrection() и rtclock_savecorrection()

• void rtclock_setaccuratetimewithcorrection(RT CLOCK *rt)

Автоматическая коррекция.

Установка точного времени и расчет коэффициента коррекции (далее по тексту – КК).

КК (double popravka) находится в структуре RTCLOCK_CORRECTION. Структура записывается и считывается в энергонезависимую память.

Физический смысл КК – это отношение длительности эталонной секунды к длительности секунды в часах DS1248.

Например,
1.00000000 – часы идут точно
1.0001323 – часы убегают (>1)
0.999956 – часы отстают (<1)

КК рассчитывается относительно последнего вызова данной функции и разницы между показаниями часов реального времени, которые считаются неточными (убежали вперед или отстали) и переданного точного времени rt в качестве параметра функции
• void rtclock_setcorrection()

Ручная установка коррекции.

Предварительно необходимо заполнить поля структуры RTCLOCK_CORRECTION:

1. RTCLOCK uhod(время, на которое спешат или отстают часы за период наблюдения, из всей структуры используются только часы, минуты, секунды, исходя из предположения, что часы не могут уйти больше чем на 24 часа за 100 лет, или, что не может быть такого периода наблюдения, за который часы уйдут более, чем на 24 часа)

2. int uhod_day_count (период наблюдения в сутках)

3. signed char uhod_sign (знак ухода +1 или -1)

• void rtclock_offcorrection()

Отключение коррекции. После вызова данной функции функции корректировки будут возвращать физическое время из DS1248, без коррекции.
• void rtclock_oncorrection()

Включение коррекции
• void rtclock_loadcorrection()

Считывание структуры с параметрами коррекции из энергонезависимой памяти. См. также функцию rtclock_getcorrection(), которая возвращает указатель на структуру с параметрами коррекции.
• void rtclock_savecorrection()

Запись структуры с параметрами коррекции в энергонезависимую память
См. также функцию rtclock_getcorrection(), которая возвращает указатель на структуру с параметрами коррекции.
• void rtclock_setstartaccurate(RTCLOCK * rtstart);

Установка точки отсчета, начиная с которой рассчитывается коррекции (то есть это дата и время, когда устанавливалось точное времени)
• dword rtclock_convert_rtclock_to_seconds(RTCLO CK * rt);
• dword rtclock_convert_rtclock_to_minutes(RTCLO CK * rt);
• dword rtclock_datetodays(RTCLOCK * rt);
• dword rtclock_getcurrentmilliseconds();
• void rtclock_decrement(RTCLOCK * rt);
• void rtclock_increment(RTCLOCK * rt);
• void rtclock_correct_values(RTCLOCK *rt);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.09.2025, 10:48
Ответы с готовыми решениями:

Погода в реальном времени
Друзья, вы не встречали сайт, где можно посмотреть снимки со спутников в реальном времени? Точнее,...

Как называется система ко-я в реальном времени отслеживает и отбражает позицию и передвижение всех большиъ суден в морях
и океанах? суда должны быть оснащены специальными (радио?) маяками которые недобросовестные...

Квантовая связь в реальном времени
Всем привет, недавно в рекомендации YouTube попало одно видео, если вкратце, то автор объясняет как...

54
10.09.2025, 11:41
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от Lethorn Посмотреть сообщение
думает
«Если вы говорите с богом — это отчаяние; если бог говорит с вами — это шизофрения» ☺

0
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
10.09.2025, 15:30
Цитата Сообщение от Eddy_Em Посмотреть сообщение
«Если вы говорите с богом — это отчаяние; если бог говорит с вами — это шизофрения» ☺
ну вот у ТСа и то, и другое, судя по постам)
2
Нарушитель
569 / 115 / 0
Регистрация: 09.02.2020
Сообщений: 2,816
Записей в блоге: 5
10.09.2025, 19:57  [ТС]
Разработка Андрея Малыхина представляла собой коробку с кнопками и с небольшим дисплеем-индикатором. Для чего она была нужна и что она делала я особо не интересовался, занимался только своей частью - разработкой библиотеки на С для доступа к часам из основного проекта. К.г.: микросхема часов в железе этой коробки управления была, однако кода доступа и поддержки не имела. Так, один человек, не очень опытный сотрудник в той же комнате, где я был, пытался сделать тоже самое целый год - однако успеха он не имел, так ничего и не сделал, не разобрался короче говоря. Микросхема эта ему оказалась не по зубам. Там всё надо было делать через один нулевой бит из 0-ой ячейки памяти адресного пространства этой микросхемы часов, и иметь представление об ассемблерских и С-ных инструкций сдвига и для чего они вообще нужны.

Так выглядела разработка Андрея Малыхина:
Миниатюры
API к микросхеме часов реального времени DS1248  
0
Нарушитель
569 / 115 / 0
Регистрация: 09.02.2020
Сообщений: 2,816
Записей в блоге: 5
10.09.2025, 20:40  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Которая в настоящее время никому не нужна, ввиду ненужности такой микросхемы.
Так что толку от публикации - ноль.
Ну кому-то, хоть одному, вдруг будет нужна. Если хоть одному человеку будет нужна - значит жизнь за этой программой есть, кому-то пригодилась и сократила ему массу времени.

Я просто сам такой человек - я люблю копаться в железе, чтобы докопаться до истины, как всё устроено и работает. Вводить и выводить числа в железо машины. Мне очень нравится всё это.

Добавлено через 14 минут
Цитата Сообщение от Lethorn Посмотреть сообщение
Мне просто обидно, что со мной поступили как с лохом. 7 тысяч * 3 месяца = 21 тысячу рублей заплатили за превосходно разработанную с любовью библиотеку.
а Бог что по этому поводу думает?
А зачем Богу думать и рассуждать, раздумывать - Он всё знает наперёд, что будет. Он же Автор и Создатель этого мира. Поэтому думать Богу совершенно излишне.

Добавлено через 9 минут
Цитата Сообщение от AtaVata Посмотреть сообщение
Я выходил часто на улицу, где курили сотрудники, много пил кофе с циклодолом, бродил ночью по пустым коридорам организации. Ничего не делал. Платили мне 14 тысяч российских рублей в месяц
Мне просто обидно, что со мной поступили как с лохом. 7 тысяч * 3 месяца = 21 тысячу рублей заплатили
Здравствуйте, AtaVata! Вы просто неправильно меня поняли - я в начале работал у Андрея Малыхина, январь, февраль и март. Я требовал, чтобы он мне сказал пароль на вход виндоус (т.к. для меня это было унизительно и портило мне постоянно настроение, если я начинал размышлять и задумываться, почему Малыхин Андрей Валентинович не хочет предоставить мне пароль на вход в ОС). Для меня это было как-то непонятно и странно. Поэтому, к концу 3-ёх месячного срока я ушел, а потом мне позвонил Андрей Волков, мой новый начальник, мы курили у крыльца зимой с ним вместе, разговорились - он сказал, что я не первый и не последний грамотный специалист, которых так вот кидают. Андрей взял меня на работу уже к себе, на полную ставку, сделали мне свободный полностью режим посещения работы и время, проведенной в стенах (в пределах) организации.
0
Windows must die
610 / 883 / 104
Регистрация: 23.11.2021
Сообщений: 5,182
Записей в блоге: 19
10.09.2025, 21:21
Жутко читать признания ТСа… И не только в шизофрении, но и в плачевном состоянии того места, где он работал. В течение года не смочь понять коротенький даташит — это нужен талант!
0
 Аватар для voraa
1299 / 1290 / 191
Регистрация: 21.01.2024
Сообщений: 5,996
10.09.2025, 21:39
Цитата Сообщение от Eddy_Em Посмотреть сообщение
но и в плачевном состоянии того места, где он работал.
Бывали и хуже места.
Я тоже так влип один раз. И тоже с микроконтроллером. Было это в конце 90-х или начале 0-х. Что за контроллер не помню уже, какой то 8-битный. Начал работать с одной компашкой по договору. Планов у них было громадье. Ну изучил систему команд контроллера, нашел его эмулятор на PC. Для пробы пера написал программку ввода с кнопок и отображения введенного на индикаторах. Надо бы проверить, так ли я делаю. Приезжаю в компашку, что бы записать все это на контроллер, так у них вообще ничего нет - контроллер был всего один, да и тот сдох, блок кнопок не готов еще. Типа, жди, когда будет готово мы позвоним. Так и не позвонили. Ну и не заплатили (в принципе правильно - я же не сделал для них ничего). Просто от нехрена делать потратил на это недели три.
0
Windows must die
610 / 883 / 104
Регистрация: 23.11.2021
Сообщений: 5,182
Записей в блоге: 19
10.09.2025, 22:24
Ну, зато опыта набрался. Я на освоение STM32 куда больше времени потратил. И на алике чего только не покупал: и "девборды", и всякие датчики-экранчики-макетки, и сами МК; и плат несколько разводил и заказывал на JLCPCB за свой счет. Все развития для.
Зато сейчас штампую всякую всячину.
0
 Аватар для voraa
1299 / 1290 / 191
Регистрация: 21.01.2024
Сообщений: 5,996
10.09.2025, 22:31
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Зато сейчас штампую всякую всячину.
Это конечно хорошо. Но вопрос - работаешь или зарабатываешь. Меня в то время больше второе интересовало, как бы семью кормить надо.
А опыт не пригодился совсем. Больше с микроконтроллерами я дела не имел.
И даже не знаю, освоил я его или нет. На эмуляторе все вроде работало, а как в реале - фиг его знает.
Да и на эмуляторе много не проверишь. Например, реальный дребезг нажатой кнопки.
0
343 / 135 / 10
Регистрация: 19.07.2024
Сообщений: 770
12.09.2025, 12:09
Цитата Сообщение от Lethorn Посмотреть сообщение
а Бог что по этому поводу думает?
Если вы про христианского бога, то насколько я знаю - он требует прощать своих обидчиков. Но из этой темы мы видим, что автор вот уже 15 лет копит обиду и злобу на того своего работодателя. И хочет ему отомстить. Что вроде как совсем не про христиански.
Можно предположить, что поминаемый всюду автором бог - совсем не христианский. Может наш автор поклоняется какому-то языческому богу мщения и проклятий? например - языческой богине Немезиде?
Цитата Сообщение от zorxor Посмотреть сообщение
Каждый раз, придя на работу, я был должен как сопливый школьник просить Малыхина набрать мне пароль на вход виндос
Цитата Сообщение от zorxor Посмотреть сообщение
Я требовал, чтобы он мне сказал пароль на вход виндоус
А ведь христианский бог призывает к смирению и прощению обид.
А вы такие мелочи аж уже 15 лет(!) помните и копите обиду. И ещё и отомстить хотите...
2
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
12.09.2025, 13:39
Цитата Сообщение от jcxz Посмотреть сообщение
Если вы про христианского бога, то насколько я знаю - он требует прощать своих обидчиков. Но из этой темы мы видим, что автор вот уже 15 лет копит обиду и злобу на того своего работодателя. И хочет ему отомстить. Что вроде как совсем не про христиански.
Можно предположить, что поминаемый всюду автором бог - совсем не христианский. Может наш автор поклоняется какому-то языческому богу мщения и проклятий? например - языческой богине Немезиде?
вот я к этому и подводил, жаль только сам ТС, общающийся с Богом напрямую через тараканов, не допёр)
0
Нарушитель
569 / 115 / 0
Регистрация: 09.02.2020
Сообщений: 2,816
Записей в блоге: 5
12.09.2025, 14:40  [ТС]
Цитата Сообщение от jcxz Посмотреть сообщение
А ведь христианский бог призывает к смирению и прощению обид.
Я ненавижу клопов!!!

Добавлено через 15 минут
Цитата Сообщение от jcxz Посмотреть сообщение
А ведь христианский бог призывает к смирению и прощению обид.
А вы такие мелочи аж уже 15 лет(!) помните и копите обиду. И ещё и отомстить хотите...
Тут дело не только в клопах. Андрей Валентинович стал очень недоволен мной, так как я пожаловался на эту ситуацию (что Малыхин не хочет сообщить мне пароль) вышестоящему начальнику, ныне покойному, Царство ему Небесное, Шалимову. За давностью лет я забыл его имя и отчество. Так вот, Малахов остался очень недоволен этому факту, сказал мне, что я перепрыгнул через его голову. А что мне ещё оставалось делать, если он пароль мне не говорил, я же спрашивал его несколько раз. Это совковость меня прямо просто выбесила в тот момент. Естественно, Шалимов немедленно приказал Малыхину сказать мне пароль на вход в компьютер.

И это ещё не всё. Испытательный трёхмесячный срок подходил к концу, однако начались перебои с поставкой циклодола. Циклодол - это сильнодействующий медицинский препарат, из списка "А" строго учётных сильнодействующих и наркотических психотропных препаратов, назначаемыми самими психиатрами при проведении нейролептической (то есть дофамино-блокаторной) терапии. Препарат строго учётный, есть только в одной аптеке в сейфе. Но мне его до какого-то времени выписывали. Препарат повышает настроение, скорость мышления, в голове появляются новые мысли и идеи, работоспособность, возможность производить коммуникации в социуме, снимает или уменьшают социофобию. Без него страшно было бы и даже на улицу выходить, не то что до производства на предприятие добраться. Пьют циклодол под языком - таблетка сразу же начинает действовать, так как само сильнодействующее вещёство (блокатор никотиновых холинорецепторов тригексифенидил) поступает сразу в головной мозг человека без изменений, минуя метаболизм (трансформацию, эффект первого прохода через печень) в печени. После того, как никотиновые холинолитические рецепторы оказываются заблокированными, так как к ним присоединяется тригексифенидил, уровень дофамина в головном мозге человека начинает медленно, но верно подниматься.

без циклодола в то время я не мог себя нормально чувствовать, общаться, программировать и прочее. Настроение плохое, смотришь в зеркало - ужасный внешний вид, я даже с трудом узнавал себя, как будто вообще другой какой-то страшный человек. А если есть циклодол - внешний вид и настроение утром быстро улучшается, и, вскоре, ты чувствуешь, что уже способен отправляться на работу. Поэтому я подошел к Малыхину и попросил на несколько дней административный отпуск и он отказал мне. Это послужило срабатыванию триггера. Триггер сработал, у меня, вдруг, резко, изменилось психоэмоциональное состояние, я заплакал, и, после, просто стал рыдать. С обидой, рыдая, весь в слезах, я покинул пределы организации. Мне было обидно, что мой начальник так ко мне относится, когда я так плодотворно работал - на полставки, но я работал, реально, не просто сидел, штаны просиживал. Тут даже не в деньгах дело, что мне 7 рублей платили в месяц на полставки. Для меня число выплачиваемых денег - это вообще не мотиватор работать. Деньги для меня - не самое главное и стоят они далеко не на первом, если не на последнем месте.

Мой компьютер был прямо рядом с Малыхинским, расстояние от кресел меньше метра, и мой монитор так стоял в комнате, что всем видно, что я делаю. А вот монитор сотрудника, молодого парня, который год "делал" эти часы, был направлен на стену - и что там у него было, чем он занимался я не знаю. Иногда вроде играл в контр-страйк. Точно не знаю - не видел.

Почему он не мог справиться с этой, в общем-то, не очень сложной задачей, если знаешь, что доступ к часам осуществляется через один единственный бит в нулевой ячейке памяти адресного пространства микросхемы часов? Надо знать тут, а что такое битовый сдвиг регистра влево или вправо? В языке Си, кстати, нет операции циклического сдвига, когда крайний бит перепрыгивает на "другую сторону" регистра, в отличии от ассемблера. Я не знал этого человека совсем, чем он там на тот момент времени занимался и какога (какова) его квалификация, как системного программиста железа. Я не говорю, что я какой-то гений. Я думаю, что всем вменяемым программистам понятно, что это такое. В языке Си есть, конечно, свои заморочки с синтаксисом, что неопытный, начинающий программист, мало имевший дело с ассемблером, может оказаться не в состоянии понять или самому разработать код, где есть Си-ные операции сдвига. Но ещё раз говорю - любой нормальный обычный программист всё это дело понимает, так как ничего сложного тут, по-сути, нет - ни высшей математики и ни высшей физики. Просто аккуратно делаешь и всё.

Assembler
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
//_____________________________________________________________________________
/*!!! эта функция НЕ ДОЛЖНА вызываться из основного проекта !!!
посылка в микросхему часов-памяти управляющей последовательности
для того чтобы можно было затем считать или записать регистры часов
эта функция НЕ ДОЛЖНА вызываться из основного проекта
микросхеме (часов реального времени-памяти) отведено адресное пространство
начиная с адреса 0x300000H
этот адрес прописан в ассемблерном файле  s269f2m_times.asm
 
Define the start address and the address range of Chip Select 3 (CS3#) 
This values are used to set the ADDRSEL3 register
%DEFINE (ADDRESS3) (300000H)    ; Set CS3# Start Address (default 300000H)
%DEFINE (RANGE3)   (128K)       ; Set CS3# Range (default 1024K = 1MB)
 
также в ассемблерный файл ВОЗМОЖНО необходимо внести изменения
 
 R_CSSEL EQU 3 чтобы были задействованы все CS линии
 ;R_CSSEL: Chip Select Lines (number of CS pins; RSTCON.9 .. RSTCON.10)
 ;R_CSSEL    EQU     0      ; 0 = 3 CS lines (CS2# .. CS0#) (default)
 R_CSSEL    EQU     3       ; 0 = 3 CS lines (CS2# .. CS0#) (default)     // MY DEF!!!
 ;                          ; 1 = 2 CS lines (CS1# .. CS0#)
 ;                          ; 2 = No CS lines at all
 ;                          ; 3 = all CS lines (CSx# .. CS0#)                
 
//это было установлено заводом-изготовителеи
byte clock_init[8]={ 0x99, 0x59, 0x59, 0x23, 0x37, 0x31, 0x12, 0x99};   
 
byte clock_init[8]={ 0x99, 0x59, 0x17, 0x12, 0x32, 0x19, 0x01, 0x10};
 
                       0x1sec sec   min  hour ctrl+day date month year 
byte clock_init[8]={ 0x99, 0x59, 0x34, 0x12, 0x02, 0x19, 0x01, 0x10};
 
посылка управляющей последовательности в DS1248
после посылки этой последователности необходимо произвести 64 считывания или 64 записи в D0
через один нулевой бит
здесь сделано через 0-ую ячейку памяти адресного пространства микросхемы DS1248
*/
void rtclock_sendpattern()
{
#ifndef VCPRJ
 
    static int i,j;
    static byte dbit=0;
    
    //последовательность взятая из описания микросхемы DS1248
    //данная последовательности должно посылаться в микросхему побитово
    //после этого можно считать также побитово через 0-бит ячейки памяти за 64 цикла 
    //либо записать новое значение часов за 64 цикла также побитово
    byte pattern[8]={ 0xC5, 0x3A, 0xA3, 0x5C, 0xC5, 0x3A, 0xA3, 0x5c};
    byte * mem=(byte*)RTCLOCK_ADDRESS;
 
 
    
    OS_IncDI(); //запрещаем прерывания на время записи последовательности в микросхему
 
    //посылки ШАБЛОНА начиная с 0-ого массива 
    for(i=0; i<8; i++)
    {
        byte k=pattern[i];
        for(j=0; j<8; j++)
        {
            dbit=k&1;
            mem[0]=dbit;
            k>>=1;
        }
    }
 
    OS_DecRI(); //разрешаем прерывания
    
 
#endif
}
 
//_____________________________________________________________________________
//запись всех 8-ми регистров в DS1248
//необходимо помнить, что данные хранятся в формате BCD (двоично-десятичный формат)
//и в некоторых регистрах имеются управляющие биты
//подробнее о регистрах см. XXXXXXX
void rtclock_writeregisters(RTCLOCK_REGISTERS * r)
{
#ifndef VCPRJ
    int i,j;
 
    byte dbit=0;
    byte * mem=(byte*) RTCLOCK_ADDRESS;
    
    rtclock_sendpattern();
 
 
    OS_IncDI(); //запрещаем прерывания на время записи последовательности в микросхему
 
    //записываем 
    for(i=0; i<8; i++)
    {
        byte k=r->reg[i];
        for(j=0; j<8; j++)
        {
            dbit=k&1;
            mem[0]=dbit;                
            k>>=1;
        }
    }
 
    OS_DecRI(); //разрешаем прерывания
 
#endif
}
 
 
//_____________________________________________________________________________
//считывание всех восьми байтовых регистров из микросхемы часов-памяти DS1248
//необходимо помнить, что данные хранятся в формате BCD (двоично-десятичный формат)
//и в некоторых регистрах имеются управляющие бит
//подробнее о регистрах см. XXXXXXX
void rtclock_readregisters(RTCLOCK_REGISTERS * r)
{
#ifndef VCPRJ
    static int i,j;
    static int retry_counter=10; //МАКС. число попыток чтения из часов
 
    static byte * mem=(byte*) RTCLOCK_ADDRESS;
    static byte dbit;
 
do {
 
    rtclock_sendpattern();
 
    
    OS_IncDI(); //запрещаем прерывания на время записи последовательности в микросхему
 
    //считывание из часов
    for(i=0; i<8; i++)
    {
        byte clk=0;
        // 8x8 = 64 цикла
        for(j=0; j<8; j++)
        {
            //сдвиг 
            clk>>=1;
 
            //читаем один бит из микросхемы часов-памяти
            dbit=mem[0] & 1;
 
            dbit<<=7;
 
            //побитовое "ИЛИ"
            clk|=dbit;
        }
 
        //когда считали целый байт записываем в массив
        r->reg[i]=clk;
    }
 
    OS_DecRI(); //запрещаем прерывания на время записи последовательности в микросхему
 
    //если из часов НЕ считались одни нули
    if (! (r->reg[0]==0 && r->reg[1]==0 && r->reg[2]==0 && r->reg[3]==0))
    {
        break;
    }
 
    retry_counter--;
 
} while (retry_counter>0);
 
#endif
 
}
Сотрудники даже не поняли, что произошло. Я решил завязать с этой организацией, отключил от себя все средства связи и остался у себя дома. Девочка звонила из отдела кадров, чтоб я забрал трудовую книжку - я сказал, типа, оставьте её себе, ничего мне, никаких трудовых книжек не нужно, больше я к вам на производство не приду.

+ вот эта совковость в точности времени прихода и ухода в организацию. Я говорил Андрею Малыхину, что в связи с общим заболеванием организма, я вынужден на ночь пить сильнодействующие психотропные седативные (усыпляющие сознание) препараты. В тот период я пил на ночь неплохую дозу азалептина. Кто пил его, тот знает, насколько этот препарат сильный и проснуться от него быстро крайне и крайне непросто, если нет циклодола, кофе и сигарет. Поэтому к 8 утра мне не так просто придти, я часто опаздывал и он мне высказывал, давал на вид. Я пытался ему объяснить - что я опоздал на час, допустим, пришел не к 8 утра, а к 9 утра, но я же не отказываюсь уйти на час позже из организации? Там была столовая, я с удовольствием там ел, даже мог позволить себе мясные блюда, качество пищи - изумительное. Там так же было много выпечки, я покупал с запасом, чтобы домой отнести.
0
343 / 135 / 10
Регистрация: 19.07.2024
Сообщений: 770
12.09.2025, 17:47
Цитата Сообщение от zorxor Посмотреть сообщение
Кликните здесь для просмотра всего текста
Assembler
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
127
//_____________________________________________________________________________
/*!!! эта функция НЕ ДОЛЖНА вызываться из основного проекта !!!
посылка в микросхему часов-памяти управляющей последовательности
для того чтобы можно было затем считать или записать регистры часов
эта функция НЕ ДОЛЖНА вызываться из основного проекта
микросхеме (часов реального времени-памяти) отведено адресное пространство
начиная с адреса 0x300000H
этот адрес прописан в ассемблерном файле  s269f2m_times.asm
Define the start address and the address range of Chip Select 3 (CS3#) 
This values are used to set the ADDRSEL3 register
%DEFINE (ADDRESS3) (300000H)    ; Set CS3# Start Address (default 300000H)
%DEFINE (RANGE3)   (128K)       ; Set CS3# Range (default 1024K = 1MB)
также в ассемблерный файл ВОЗМОЖНО необходимо внести изменения
R_CSSEL EQU 3 чтобы были задействованы все CS линии
 ;R_CSSEL: Chip Select Lines (number of CS pins; RSTCON.9 .. RSTCON.10)
 ;R_CSSEL    EQU     0      ; 0 = 3 CS lines (CS2# .. CS0#) (default)
 R_CSSEL    EQU     3       ; 0 = 3 CS lines (CS2# .. CS0#) (default)     // MY DEF!!!
 ;                          ; 1 = 2 CS lines (CS1# .. CS0#)
 ;                          ; 2 = No CS lines at all
 ;                          ; 3 = all CS lines (CSx# .. CS0#)                
//это было установлено заводом-изготовителеи
byte clock_init[8]={ 0x99, 0x59, 0x59, 0x23, 0x37, 0x31, 0x12, 0x99};   
byte clock_init[8]={ 0x99, 0x59, 0x17, 0x12, 0x32, 0x19, 0x01, 0x10};
0x1sec sec   min  hour ctrl+day date month year 
byte clock_init[8]={ 0x99, 0x59, 0x34, 0x12, 0x02, 0x19, 0x01, 0x10};
посылка управляющей последовательности в DS1248
после посылки этой последователности необходимо произвести 64 считывания или 64 записи в D0
через один нулевой бит
здесь сделано через 0-ую ячейку памяти адресного пространства микросхемы DS1248
*/
void rtclock_sendpattern()
{
#ifndef VCPRJ
static int i,j;
    static byte dbit=0;
//последовательность взятая из описания микросхемы DS1248
    //данная последовательности должно посылаться в микросхему побитово
    //после этого можно считать также побитово через 0-бит ячейки памяти за 64 цикла 
    //либо записать новое значение часов за 64 цикла также побитово
    byte pattern[8]={ 0xC5, 0x3A, 0xA3, 0x5C, 0xC5, 0x3A, 0xA3, 0x5c};
    byte * mem=(byte*)RTCLOCK_ADDRESS;
OS_IncDI(); //запрещаем прерывания на время записи последовательности в микросхему
//посылки ШАБЛОНА начиная с 0-ого массива 
    for(i=0; i<8; i++)
    {
        byte k=pattern[i];
        for(j=0; j<8; j++)
        {
            dbit=k&1;
            mem[0]=dbit;
            k>>=1;
        }
    }
OS_DecRI(); //разрешаем прерывания
#endif
}
//_____________________________________________________________________________
//запись всех 8-ми регистров в DS1248
//необходимо помнить, что данные хранятся в формате BCD (двоично-десятичный формат)
//и в некоторых регистрах имеются управляющие биты
//подробнее о регистрах см. XXXXXXX
void rtclock_writeregisters(RTCLOCK_REGISTERS * r)
{
#ifndef VCPRJ
    int i,j;
byte dbit=0;
    byte * mem=(byte*) RTCLOCK_ADDRESS;
rtclock_sendpattern();
OS_IncDI(); //запрещаем прерывания на время записи последовательности в микросхему
//записываем 
    for(i=0; i<8; i++)
    {
        byte k=r->reg[i];
        for(j=0; j<8; j++)
        {
            dbit=k&1;
            mem[0]=dbit;                
            k>>=1;
        }
    }
OS_DecRI(); //разрешаем прерывания
#endif
}
//_____________________________________________________________________________
//считывание всех восьми байтовых регистров из микросхемы часов-памяти DS1248
//необходимо помнить, что данные хранятся в формате BCD (двоично-десятичный формат)
//и в некоторых регистрах имеются управляющие бит
//подробнее о регистрах см. XXXXXXX
void rtclock_readregisters(RTCLOCK_REGISTERS * r)
{
#ifndef VCPRJ
    static int i,j;
    static int retry_counter=10; //МАКС. число попыток чтения из часов
static byte * mem=(byte*) RTCLOCK_ADDRESS;
    static byte dbit;
do {
rtclock_sendpattern();
OS_IncDI(); //запрещаем прерывания на время записи последовательности в микросхему
//считывание из часов
    for(i=0; i<8; i++)
    {
        byte clk=0;
        // 8x8 = 64 цикла
        for(j=0; j<8; j++)
        {
            //сдвиг 
            clk>>=1;
//читаем один бит из микросхемы часов-памяти
            dbit=mem[0] & 1;
dbit<<=7;
//побитовое "ИЛИ"
            clk|=dbit;
        }
//когда считали целый байт записываем в массив
        r->reg[i]=clk;
    }
OS_DecRI(); //запрещаем прерывания на время записи последовательности в микросхему
//если из часов НЕ считались одни нули
    if (! (r->reg[0]==0 && r->reg[1]==0 && r->reg[2]==0 && r->reg[3]==0))
    {
        break;
    }
retry_counter--;
} while (retry_counter>0);
#endif
}
Сотрудники даже не поняли, что произошло.
И этот код вы писали 3 месяца??? Серьёзно? Это "уникальный код", из-за которого идёт вынос мозга всему форуму уже 2-ю страницу???
0
 Аватар для voraa
1299 / 1290 / 191
Регистрация: 21.01.2024
Сообщений: 5,996
12.09.2025, 19:26
Цитата Сообщение от 3x Посмотреть сообщение
А я даже названия сортов пива не могу запомнить. Не так часто пью
Я пью не редко, но название своего любимого тоже не помню. (Скорее не знаю. Даже выговорить, читая этикетку не могу)
0
Нарушитель
569 / 115 / 0
Регистрация: 09.02.2020
Сообщений: 2,816
Записей в блоге: 5
12.09.2025, 20:03  [ТС]
Цитата Сообщение от jcxz Посмотреть сообщение
И этот код вы писали 3 месяца??? Серьёзно? Это "уникальный код", из-за которого идёт вынос мозга всему форуму уже 2-ю страницу???
Ну конечно нет. Это только часть кода. Я хотел просто сказать, что если человек никогда не использовал операции сдвига, то он и вряд ли сможет получить доступ к часам. Так как там используется именно побитовый доступ, ввод и вывод осуществляется всего-лишь через один бит, в самой первой (или, точнее, нулевой) ячейки памяти часов. А, кстати, часы имели немного-немало, 128 Кб памяти.
0
Эксперт .NET
 Аватар для Usaga
14736 / 9510 / 1364
Регистрация: 21.01.2016
Сообщений: 35,894
13.09.2025, 08:33
Цитата Сообщение от zorxor Посмотреть сообщение
Я хотел просто сказать, что если человек никогда не использовал операции сдвига, то он и вряд ли сможет получить доступ к часам.
Это к чему всё? Если люди работают с железом, но не умеют биты сдвигать, то ты решил помощь оказать?
0
Нарушитель
569 / 115 / 0
Регистрация: 09.02.2020
Сообщений: 2,816
Записей в блоге: 5
13.09.2025, 10:21  [ТС]
Здравствуйте, jcxz!

Цитата Сообщение от jcxz Посмотреть сообщение
И этот код вы писали 3 месяца??? Серьёзно? Это "уникальный код", из-за которого идёт вынос мозга всему форуму уже 2-ю страницу???
Опять вот, хочется вернуться к системе образования. Вот, тот мальчик (ему было на то время лет 20-25), который год занимался этими часами почему не смог ничего сделать? Ну, наверняка, от неопытности программирования. Незнание некоторых нюансов - например, что нужно запретить прерывания на время обращения к микросхеме, а потом вновь разрешить прерывания. Что нужно перед доступом "провернуть" некоторую битовую последовательность, заданную самим заводом-изготовителем микросхемы (это своего рода как пароль, как защита от случайного доступа, чтобы не повредить информацию в микросхеме часов). И так далее. Что толку, что он отучился в институте пять лет, но при этом у него отсутствовали некоторые базовые навыки и базисные знания? Толку-то что от такой учёбы? От всех этих предметов - высших математик, высших физик, там, и прочее. Эти знания - они оказались для него совершенно бесполезными и бессмысленными, т.к. он элементарные вещи, именно то, что нужно, так и не усвоил. А в институте этому и не уделяли большому вниманию, если он учился у нас в СарФТИ. Там вас завалят горой разных предметов, и вы даже не сразу поймете, что действительно нужно для дальнейшей работы, а что не нужно. "Каша" в голове и "специалист" выйдет с дипломом соответствующий. Я вообще ничего с института уже давно не помню. Все навыки, которые я использовал в этой работе в Бинаре были получены мной ещё до всяких институтов, вне его стен. Или после и во время обучения - но опять же - в результате занятия своим хобби - программированием у себя дома, например защищенного режима и других вещей. Это интерес должен быть. Именно интерес.

Добавлено через 7 минут
Цитата Сообщение от Usaga Посмотреть сообщение
Это к чему всё? Если люди работают с железом, но не умеют биты сдвигать, то ты решил помощь оказать?
Ну ему поручили обеспечить доступ к часам. Так как микросхема была в железе, но программной поддержки так и не было сделано. А если он кроме сдвига битов ещё некоторые нюансы не знал, например, что такое BCD. Хотя это всё и не сложно и даже элементарно - тут не нужно высшее образование, 5 лет в институте маструбировать свой мозг.

Добавлено через 14 минут
Цитата Сообщение от jcxz Посмотреть сообщение
И этот код вы писали 3 месяца??? Серьёзно? Это "уникальный код", из-за которого идёт вынос мозга всему форуму уже 2-ю страницу???
Нет, дело тут ещё в том, что я изначально планировал просто выложить библиотеку - но тут администратор сразу же предупредил о возможном нарушении авторских прав и так далее, затем речь зашла о самой организации, ключевые причины, которые привели к полному краху и банкротству организации, смерти бессменного руководителя и прочее.

Кому-то можно было опуститься в подвал организации, принять душ в жару, пот смыть с себя или даже в баньке попариться. Но это всё для избранных. А для рядовых - приди в 8, уйди в 5 вечера. всё.

Кому-то 70 рублей в месяц, просто сиди на попе ровно, и всё. А кому-то 7 рублей. Там ведь, кроме всего прочего, была не только сама программа, но и документация, руководство пользователя. Мало того, мне так всё это было интересно, что я даже у себя дома продолжал работать над проектом, написал эмулятор, мог дома отлаживать проект. А на работе смотреть уже, как всё это работает на реальном железе.

Добавлено через 42 минуты
И тут не помогут никакие иконостасы в кабинете руководителя, раздача яичек на Пасху и помощь в строительстве храмов. Не в этом православие. А в отношении к людям. Хотя я не спорю - да, была столовая отличная, цены для сотрудников в два раза меньше, очень вкусные пирожки, кексы и так далее. Я мог даже мясо себе в тот момент позволить. Но, знаете, я бы даже рад был и только за еду работать - но меня буквально убила вот эта совковость начальника моего. Он не подрезал, а отрезал мне крылья, которые у меня были по началу, отбил всякое желание работать там. Они как вышли из ВНИИЭфа, это центральное градообразующее секретное военное предприятие, так потом туда, в основном, все и вернулись, после краха Бинара. А там вот как раз такие понятия и порядки - перепрыгнул через голову, опоздал на 5 минут - втык тебе. Но это всё тянется из совка. Приди в 8, уйди в 16 часов 42 минут, сиди на попе ровно и молчи, никто тебя не уволит тогда. Но я не из таких. Когда после конфликта меня Карюк В.М. вновь взял на производство на полную ставку (на 8 часов), дал зарплату 14 рублей и делать мне было ничего не нужно - через некоторое время я просто оттуда ушел, (вскоре и сама организация обанкротилась, Владимира Михайловича Карюка похоронили), ну не моё это, так мне не интересно, от слова совсем. + меня совсем не посвящали, а что же такое организация вообще делает? я особо был не в курсе - ну, автоматизация газовых станций, наверное. АСУ ТП, человек кнопку нажал - газовый вентиль открылся, другую нажал - поставки газа перекрыл. Также они пытались и сделать прибор учёта расхода газа. Но там уже математическая магия и физика, поэтому что-то не получалось сделать, чтоб это нормально всё работало.
0
343 / 135 / 10
Регистрация: 19.07.2024
Сообщений: 770
13.09.2025, 10:57
Цитата Сообщение от Usaga Посмотреть сообщение
Это к чему всё? Если люди работают с железом, но не умеют биты сдвигать, то ты решил помощь оказать?
Вы что! Ему это 15 лет не давало покоя! Больше совершенно невозможно с этим жить! Никакие нейролептики уже не помогают. Надо наконец-то обучить мир сдвигать биты!!!

Добавлено через 2 минуты
Цитата Сообщение от zorxor Посмотреть сообщение
тот мальчик (ему было на то время лет 20-25), который год занимался этими часами почему не смог ничего сделать?
Потому что не умел сдвигать биты?
0
 Аватар для voraa
1299 / 1290 / 191
Регистрация: 21.01.2024
Сообщений: 5,996
13.09.2025, 10:57
Цитата Сообщение от zorxor Посмотреть сообщение
Толку-то что от такой учёбы? От всех этих предметов - высших математик, высших физик, там, и прочее. Эти знания - они оказались для него совершенно бесполезными и бессмысленными,
Цитата Сообщение от zorxor Посмотреть сообщение
Но там уже математическая магия и физика, поэтому что-то не получалось сделать, чтоб это нормально всё работало.
Ну вот там наверно работали люди, которые биты двигать умели, а математику и физику, которую в вузе преподают, посчитали бесполезными и бессмысленными.
0
343 / 135 / 10
Регистрация: 19.07.2024
Сообщений: 770
13.09.2025, 11:01
Цитата Сообщение от zorxor Посмотреть сообщение
Кому-то можно было опуститься в подвал организации, принять душ в жару, пот смыть с себя или даже в баньке попариться. Но это всё для избранных.
Вы хотели сказать - для евреев?
С коими вам претит даже рядом находиться.
0
Нарушитель
569 / 115 / 0
Регистрация: 09.02.2020
Сообщений: 2,816
Записей в блоге: 5
13.09.2025, 11:32  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
Ну вот там наверно работали люди, которые биты двигать умели, а математику и физику, которую в вузе преподают, посчитали бесполезными и бессмысленными.
Я не знал там никого. Меня не посвящали, я был начинающим работником, ещё не успел опериться. Знали, наверное, кто-то. Но вот вся эта неуёмная жажда к наживе, к деньгам - вот это привело к полному краху и смерти (преждевременной, скорее всего) руководителя. Нельзя так относиться было к ценным специалистам. Мне об этом сказали, как раз, когда я ушел, хлопнув дверью, после работы у Малыхина. Что я не первый и не последний, кого так используют. Руководству организацию говорили неоднократно об этом, что совершенно недопустима такая большая текучка (утечка) кадров.

Добавлено через 5 минут
+ девочка из отдела кадров со мной очень грубо разговаривала, обращалась ко мне не Евгений Олегович, а по фамилии - Лапшин - мне это также крайне и крайне не понравилось. короче относились ко мне как к куску д.

Добавлено через 8 минут
Цитата Сообщение от jcxz Посмотреть сообщение
Вы хотели сказать - для евреев?
С коими вам претит даже рядом находиться.
Я не знаю, я не экстрасенс. Сторож ночью когда я ночами гулял по пустым коридорам организации, предлагал пойти в баню с ним. Но я в этом не нуждался, чистому и так всё чисто. Не обязательно в бане париться. Это не для меня. Пускай другого мальчика ищет.

Добавлено через 10 минут
vorra, я когда закончил в 1996 году школу и поступил в МИФИ-4 (ныне СарФТИ), я был замечательным и добрым мальчиком. У меня не было вредных привычек, типа курения, выпивки, а уж о другом и вовсе молчу, наркотики, трава и пр. я об этом тогда и не слыхал. Мне было всего 15 лет. Я поступил в институт, стал обучаться высшей математике, например. На первом занятии нас сразу предупредили, что тем, кто сидит в конце аудитории, скоро придется покупать очки (то есть там лекции по математики проходили в огромных длинных аудиториях, как два или три обычных класса школы). Так и получилось - я сидел на задних партах аудитории и испортил себе зрение. Но ведь видел вначале, что он пишет на доске, что-то успевал записывать в тетрадки. Нет, я, конечно, всё прекрасно понимаю, тогда был 1996 год, не было интернета, лектор читал лекции, я писал в тетрадке, я измучился от этой писанины. Спрашивается, а зачем нужна эта писанина??? Сейчас, когда есть компьютеры и прочее. Короче я крайне не доволен этим институтом. Вся эта дурацкая писанина оказалась никому не нужной. Вообще мне в нём лучше было не учится. Когда я стал лаборантом там, произошел конфликт - более старший и сильный лаборант схватил меня и бросил на пол. И это видели другие сотрудники. Прилюдно. Одно дело, что это случилось бы тет-а-тет, тут можно было бы сказать, что свои люди - сочтёмся, а тут он унизил меня прилюдно, чтобы все видели. А за что - за правду. Я потому что отстаивал свою точку зрения, что школьник, мальчик, правильно написал программу на листочке, там была олимпиада, а ему забили место. В результате, он пришел на апелляцию, программа была набрана на компьютере, и, действительно, она оказалась рабочей и ему присудили почётное заслуженное место.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.09.2025, 11:32

Не противоречат ли преобразования Лоренца реальным свойствам пространства и времени?
Пусть есть три инерциальные системы отсчета. Одна из них неподвижна, а две другие движутся от нее в...

Как Вам такая идея: зашить в микросхему интерпретатор языка?
Я хочу зашить в микросхему интерпретатор языка, Которой будет грузить ОС написанную на С++...

Zoosk 2 часа потерянного времени
Через ютуб нашел один из бесплатных СЗ, попробовал зайти обычным браузером Повторил через час и...

Одномерная игра - миф или реальность?
Да хоть нулемерная - два игрока, на экране появляется одна точка, кто раньше нажмёт клавишу, тот...

Реально ли наладить выпуск железа для ПК российского производства?
Блин ну почему вот так всегда нет ничего российского? Вобще реально ли наладить выпуск например...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru