16+
Среда
20 сентября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
vllv  (04.09.2017 18:21 - 04.09.2017 18:40, файл(ы)) , в ответ на Как раз общие, универсальные моменты очень хорошо прослеживаются. Прочитать|записать байт|слово|двойное_слово, всё это со знаком, без знака и хорошо бы с проверкой допустимого диапазона; то же для строки. Реализацию записи и чтения можно 'вынести автор: Dingo_
Только сейчас проникся, о чем речь. Есть у меня протокол, по следам SNMP, и проги универсальные есть - браузер и тестер, скрипты гоняет. И да, внутри контроллера на X-макро. 
Внедрено на трех-пяти десятках разных устройств.
	IMPL_VARIABLE(system, 2, "Objects qty",
								TX=(long)OBJECTS_QUANTITY; return;,
								READ_ONLY
								)
	IMPL_VARIABLE(system, 3, "Text",
								GetText((char*)domp_text.text1); dpr->tx_op_code=UniGetText;	return;,
				                SetText((char*)domp_text.text1, TEXT_SIZE);
								)
	IMPL_VARIABLE(system, 4, "Serial number",
								TX=(long)setup.SerialNumber; return;,
								setup.SerialNumber=RX; return;
								)
	IMPL_VARIABLE(system, 5, "Network address",
								TX=(long)setup.NetAddress; return;,
								SET_LAMP_ADDR(); return;
								)
	IMPL_VARIABLE(system, 6, "Write EEPROM (112233)",
								TX=eeprom_result;,
								if (RX==112233L) {if (WriteAndShowSetup1()) eeprom_result=0; else eeprom_result=112233L;} else eeprom_result=0; return;
								)
	IMPL_VARIABLE(system, 7, "Read EEPROM (332211)",
								TX=(long)eeprom_result; return;,
								if (RX==332211L) {if (ReadAndShowSetup1()) eeprom_result=0; else eeprom_result=332211L;} else eeprom_result=0; return;
								)
	IMPL_VARIABLE(system, 8, "Network group",
								TX=(long)setup.NetGroup; return;,
								if (RX<=0x3ff) setup.NetGroup=(u16)RX; return;
								)
	IMPL_VARIABLE(system, 9, "Selected serial number",
								TX=selected_serial_number; return;,
								selected_serial_number=RX; return;
								)
	IMPL_VARIABLE(system, 10, "Shut off but selected(12488421)",
								TX=silent; return;,
								if ((RX==12488421L)&&(selected_serial_number!=setup.SerialNumber)) { silent=RX; silent_time=120;} else silent=0;  
return;
								)
	IMPL_VARIABLE(system, 11, "LED mode:0=ON,1=OFF,2=ON1s,3=BLINK",
								TX=led_mode; return;,
								if (RX>=LED_MODES_QTY) led_mode=LED_BLINK; else {if (RX==LED_TIME) StartOneBlink(); else led_mode=(tLED)RX;} return;
								)
Прикреплённые файлы:
tester.png:61 K

 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVII