diff --git a/Source/Internal/message.c b/Source/Internal/message.c index 7662a0a..f14266d 100644 --- a/Source/Internal/message.c +++ b/Source/Internal/message.c @@ -1,8 +1,8 @@ -/* Ïàðàìåòðû è îáðàáîò÷èêè Modbus ïîñëå ïðîâåðêè CRC. Ìàññèâ modbus - * ñîäåðæèò îáû÷íûå àäðåñà 0..127, îáëàñòü 0x1000 îáñëóæèâàåò ëîããåð. - * EEPROM õðàíèò ïàðàìåòðû, íî íå ÿâëÿåòñÿ èñòî÷íèêîì START/STOP: - * ïðè çàãðóçêå ñîõðàíÿåòñÿ ïîñëåäíÿÿ æèâàÿ êîìàíäà íàãðóçêè. - * Ôóíêöèè âûçûâàþòñÿ èç main; EEPROM áëîêèðóåò ýòîò êîíòåêñò. +/* Параметры и обработчики Modbus поÑ�ле проверки CRC. МаÑ�Ñ�ив modbus + * Ñ�одержит обычные адреÑ�а 0..127, облаÑ�ть 0x1000 обÑ�луживает логгер. + * EEPROM хранит параметры, но не Ñ�влÑ�етÑ�Ñ� иÑ�точником START/STOP: + * при загрузке Ñ�охранÑ�етÑ�Ñ� поÑ�леднÑ�Ñ� живаÑ� команда нагрузки. + * Функции вызываютÑ�Ñ� из main; EEPROM блокирует Ñ�тот контекÑ�Ñ‚. */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "package.h" @@ -47,7 +47,7 @@ void Default_params() for(i=0;iRS_Header[2] << 8) | rs_arr->RS_Header[3]; -// ïîëó÷èëè êîëè÷åñòâî ñëîâ äàííûõ +// получили количеÑ�тво Ñ�лов данных Length_MB = (rs_arr->RS_Header[4] << 8) | rs_arr->RS_Header[5]; if (!Length_MB || Length_MB > 125 || !((Address_MB < ANSWER_LEN && Length_MB <= ANSWER_LEN-Address_MB) || @@ -228,15 +228,15 @@ void ReceiveCommandModbus3(RS_DATA *rs_arr) } ///////////////////////////////////////////////// - // Îòñûëêà - /* Ïîñ÷èòàëè êîíòðîëüíóþ ñóììó ïåðåä ñàìîé ïîñûëêîé */ + // ОтÑ�ылка + /* ПоÑ�читали контрольную Ñ�умму перед Ñ�амой поÑ�ылкой */ rs_arr->buffer[0] = CNTRL_ADDR; rs_arr->buffer[1] = CMD_MODBUS_3; rs_arr->buffer[2] = Length_MB*2; - /* Çàùèùàåì öåëîñòíîñòü îäíîãî ñíèìêà/áëîêà; ïåðåäà÷à UART èä¸ò óæå - * ñ ðàçðåø¸ííûìè ïðåðûâàíèÿìè è íå çàäåðæèâàåò èçìåðåíèå/óïðàâëåíèå. */ + /* Защищаем целоÑ�тноÑ�ть одного Ñ�нимка/блока; передача UART идёт уже + * Ñ� разрешёнными прерываниÑ�ми и не задерживает измерение/управление. */ if (Address_MB >= UMP_LOG_BASE) saved = __disable_interrupts(); for (i=0;ibuffer[Length_MB*2+8] = 0; rs_arr->flag_TIMEOUT_to_Send=true; - /* Ðàñøèðåíèå ëîããåðà îòâå÷àåò òî÷íûì êàäðîì Modbus áåç õâîñòîâûõ - * íóëåé: îíè èíà÷å ïîïàëè áû â íà÷àëî îòâåòà ñëåäóþùåãî áëîêà GUI. - * Èñòîðè÷åñêèé ôîðìàò òåõíîëîãè÷åñêèõ ðåãèñòðîâ îñòàâëåí ïðåæíèì. */ + /* РаÑ�ширение логгера отвечает точным кадром Modbus без хвоÑ�товых + * нулей: они иначе попали бы в начало ответа Ñ�ледующего блока GUI. + * ИÑ�торичеÑ�кий формат технологичеÑ�ких региÑ�тров оÑ�тавлен прежним. */ RS_Send(rs_arr, rs_arr->buffer, Length_MB*2+(Address_MB >= UMP_LOG_BASE ? 5 : 8)); return; @@ -271,17 +271,17 @@ void ReceiveCommandModbus6(RS_DATA *rs_arr) unsigned int Address_MB, Data_MB, i; ///////////////////////////////////////////////// - // Îòñûëêà - /* Îòïðàâëàåì íàçàä òî æå ñàìîå */ + // ОтÑ�ылка + /* Отправлаем назад то же Ñ�амое */ for (i=0;i<8;i++) rs_arr->buffer[i] = rs_arr->RS_Header[i]; -// ïîëó÷èëè íà÷àëüíûé àäðåñ çàïèñè +// получили начальный адреÑ� запиÑ�и Address_MB = (rs_arr->RS_Header[2] << 8) | rs_arr->RS_Header[3]; -// ïîëó÷èëè ñëîâî äàííûõ +// получили Ñ�лово данных Data_MB = (rs_arr->RS_Header[4] << 8) | rs_arr->RS_Header[5]; if (Address_MB >= UMP_LOG_BASE) { @@ -289,8 +289,8 @@ void ReceiveCommandModbus6(RS_DATA *rs_arr) modbus_exception(rs_arr, CMD_MODBUS_6, 3); return; } } else if (Address_MB < ANSWER_LEN) { - /* RS è CAN èñïîëüçóþò îäíó èñòîðèþ ôðîíòîâ. ×åðåäîâàíèå êàíàëîâ - * íå ñîçäà¸ò äâóõ íåçàâèñèìûõ ïîâòîðíûõ çàïóñêîâ. */ + /* RS и CAN иÑ�пользуют одну иÑ�торию фронтов. Чередование каналов + * не Ñ�оздаёт двух незавиÑ�имых повторных запуÑ�ков. */ if (Address_MB == 127) { UMP_commands_write(Data_MB); ump_log_rs(); diff --git a/UKSSTMS320F28335/.settings/org.eclipse.core.resources.prefs b/UKSSTMS320F28335/.settings/org.eclipse.core.resources.prefs index b9aa8f4..e1ce8df 100644 --- a/UKSSTMS320F28335/.settings/org.eclipse.core.resources.prefs +++ b/UKSSTMS320F28335/.settings/org.eclipse.core.resources.prefs @@ -1,4 +1,6 @@ eclipse.preferences.version=1 +# Показывает поÑ�Ñ�нениÑ� периода CAN и обработки параметров в Ñ�охранённой кодировке UTF-8. +encoding//Source/Internal/message.c=UTF-8 # Показывает руÑ�Ñ�кие поÑ�Ñ�нениÑ� выбора иÑ�полнениÑ� и порÑ�дка индикаторов в кодировке UTF-8. encoding//Source/Internal/Include/package.h=UTF-8 encoding//Debug/Libraries/subdir_rules.mk=UTF-8