Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2021, 22:28   #151
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Вы адреса верно задаете?
Да, и 2В и 2С и даже 2Ф и 2D , все варианты пробовал, всё ровно не верно.
Изображения
Тип файла: jpg 1.JPG (67.4 Кб, 0 просмотров)
sergey.serg-72 вне форума Ответить с цитированием
Старый 23.11.2021, 22:29   #152
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Вы адреса верно задаете?
Да, разные пробовал и в +1 и в минус 1 от 2В.
при 2С, разница в 3000.....
sergey.serg-72 вне форума Ответить с цитированием
Старый 23.11.2021, 22:31   #153
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
Да, разные пробовал и в +1 и в минус 1 от 2В.
Так а причем здесь адрес исключения, если нужно увеличить конечный адрес на 1?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 23.11.2021, 22:46   #154
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Так а причем здесь адрес исключения, если нужно увеличить конечный адрес на 1?
Да. об этом не подумал, что конечный надо увеличить. Это , если один байт исключения, а если 2 байта исключить. то адрес 5E., если один байт то адрес 5F.
sergey.serg-72 вне форума Ответить с цитированием
Старый 23.11.2021, 23:07   #155
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

А на 32-checksum32 как я понял, нужна новая функция ? Она основная в коде как я понял?

Интересный момент. если на байт исключения, то выставляем адрес в +1, если 2 байта исключения. адрес остаётся 5Е. а на 32 на 2 позиции придётся вперёд по адресу. при байте исключения ?
sergey.serg-72 вне форума Ответить с цитированием
Старый 23.11.2021, 23:52   #156
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
а на 32 на 2 позиции придётся вперёд по адресу. при байте исключения ?
Нет, на 1, но только в данном случае. Зависит от того, что именно тритон делает с адресами. Он может выравнивать как оба адреса по границе 4 байта, так и просто считать сумму только от диапазона, кратного 4 байтам (т.е. неявно менять только конечный адрес). Это нужно в тритоне посчитать суммы от разных диапазонов, чтобы понять его методику, или поискать ответы в инструкции, если она есть. То же самое относится и к checksum16 (что при исходных начальном, конечном адресах и адресе исключения нужно прибавить 1 к конечному адресу, чтобы результат совпал с тритоном).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 24.11.2021, 00:20   #157
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Нет, на 1, но только в данном случае. Зависит от того, что именно тритон делает с адресами. Он может выравнивать как оба адреса по границе 4 байта, так и просто считать сумму только от диапазона, кратного 4 байтам (т.е. неявно менять только конечный адрес). Это нужно в тритоне посчитать суммы от разных диапазонов, чтобы понять его методику, или поискать ответы в инструкции, если она есть. То же самое относится и к checksum16 (что при исходных начальном, конечном адресах и адресе исключения нужно прибавить 1 к конечному адресу, чтобы результат совпал с тритоном).


Нет. к сожалению инструкции к тритону нет. посчитать только. если так.
Изображения
Тип файла: jpg 1.JPG (96.5 Кб, 2 просмотров)
sergey.serg-72 вне форума Ответить с цитированием
Старый 24.11.2021, 00:51   #158
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

https://programmersforum.ru/attachme...4&d=1637702450
Цитата:
Сообщение от BDA Посмотреть сообщение
То же самое относится и к checksum16 (что при исходных начальном, конечном адресах и адресе исключения нужно прибавить 1 к конечному адресу, чтобы результат совпал с тритоном).
Не понял в нашем коде надо прибавить , или вводом в адресном окне программы ?

Последний раз редактировалось sergey.serg-72; 24.11.2021 в 01:23.
sergey.serg-72 вне форума Ответить с цитированием
Старый 24.11.2021, 07:27   #159
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
или вводом в адресном окне программы ?
Да, вводом. Кстати, тритон на картинке sum32 как раз захватил байты 69 и AC в сумму.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 24.11.2021 в 07:32.
BDA на форуме Ответить с цитированием
Старый 24.11.2021, 07:35   #160
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Да, вводом.
понял , у меня тут вопрос. решил дополнить окошком. чтоб когда есть совпадение, окошко вылетало, всё получилось. при совпадении окошка есть.

но проблема в том.. что после загрузки 16. загружаешь 8 и тут окно системы. что занято другим процессом... без добавки всё отлично. добавил условие и стало окно системы .
Что то не так сделал явно, наверное поток не закрывается? подскажите плиз ошибку.
код :

Код:
 Fs.Position := addr1;
 SetLength(buffer, buf_len);
 Fs.Read(buffer[1], buf_len);
crc :=CRC16MODBUS(PChar(buffer), buf_len, skip_ - addr1, skip_2 - addr1);
if w = crc then
 begin
edit2.Text := IntToHex(crc, 4);
MessageBox(handle,PChar('Есть совпадение !'), PChar('собщение'), 64);
 end
 else
begin
 edit2.Text := IntToHex(crc, 4);
end;
 Fs.free;
end;
end;
Явно где то намудрил.
sergey.serg-72 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Opendialog завис DimOn4Ik Общие вопросы Delphi 12 02.11.2018 16:08
Реализация суммы в простом варианте. Mariolka PHP 8 10.11.2016 15:50
С++ сортировка в текстовом файле. (Задание на курсовик никак не получается) Evg888 Помощь студентам 1 02.06.2012 19:37
Житейская задачка о простом копировании mephist Помощь студентам 11 16.05.2009 20:42