Пн янв 08, 2018 17:40:49
разумеется. искал. и находил какую-то хрень вроде "вероятно, проблема с банком памяти". после этих слов мне сразу стало легче. точно как в анекдоте: больной перед смертью потел? - да - это хорошо...Siarzhuk писал(а):Прочитать код с BSOD экрана и забить его в гугл - и, как правило, где-то когда-то кто-то уже терзал коллективный разум аналогичным вопросом.
ну, если мы говорим об устройстве вроде PLC, то, пожалуй, сервисмены могут быть как-то присовокуплены к теме. но если мы все-таки ограничимся устройствами типа "умный выключатель" или что-то подобное, т.е. без гиперразвитого интерфейса с пользователем, то сервисмены будут совершенно ни при чем. Например, если ваша кофе-машина вдруг перестала заваривать кофе, никакие сервисмены к вам не придут, не позвонят и не станут давать советы, кроме единственного: везите в сервисцентр, разберемся. и эта фраза будет произнесена в ответ на любой код ошибки, который, вероятно, ваша кофемашина вам на дисплее покажет.Siarzhuk писал(а):Сервисмены будут в восторге от такого подхода.
это иллюстрация другой проблемы... но тема не о ней а теперь давайте подумаем, если бы этот умный выключатель выдал номер ошибки, и даже в интернете нашлось бы описание её - сильно бы это помогло? в случае с BSOD не помогает никак. о всяком случае я не знаю ни одного человека, который бы после BSOD предпринял бы какие-то меры, кроме тупого нажатия на кнопку RESET.Siarzhuk писал(а):ниже маленькая жизненная иллюстрация сходной проблемы.
Пн янв 08, 2018 17:59:11
Пн янв 08, 2018 18:21:22
преклоняюсь перед вашим опытом. но сомневаюсь, что таких большинство среди пользователей.Ivanoff-iv писал(а):и, да, этот код помогает
Вт янв 09, 2018 01:14:56
Вт янв 09, 2018 07:45:14
если бойлер умный, то мог просто сойти с ума от тупости пользователя, например. ну или просто. ум - штука тонкая, до конца не изученная... хочешь, чтобы бойлер работал и не сходил с ума - не делай его умным.Siarzhuk писал(а):интересны ваши гипотезы как бойлер дошёл до такой жизни
Пн янв 15, 2018 13:51:28
Пн янв 15, 2018 13:59:47
Пн янв 15, 2018 14:15:51
Пн янв 15, 2018 14:17:51
Пн янв 15, 2018 14:20:12
Пн янв 15, 2018 14:48:19
А я все равно напишу .СКАЗОЧНИК писал(а):Да, не надо.
Никуда они не делись, все Ваши.СКАЗОЧНИК писал(а):Мало там возможных регистров для собственного использования.
//Функцйия void SetPicMono (color_t color);
.global SetPicMono
SetPicMono:
push
push
...
...
...
pop
pop
ret
Пн янв 15, 2018 14:56:25
Пн янв 15, 2018 14:58:53
.extern uint8_t SysTick;
...
...
...
.global TIMER1_COMPB_vect
TIMER1_COMPB_vect:
PUSH R16
in R16,_SFR_IO_ADDR(SREG)
PUSH R16
LDS R16,SysTick
TST R16
brne eex2
sbi _SFR_IO_ADDR(PINB),PB1 //
eex2:
POP R16
out _SFR_IO_ADDR(SREG),R16
POP R16
reti
Пн янв 15, 2018 15:00:24
Пн янв 15, 2018 15:02:47
Пн янв 15, 2018 15:03:55
Можно ж и не передавать если не нужно, тип void.СКАЗОЧНИК писал(а):А тут.. передаваемый параметр, да еще в паре регистров.
PORTx|=0x80; При включенной оптимизации, компилятор должен догадаться, что операция "или" не нужна и вставит sbi, на старший бит.СКАЗОЧНИК писал(а):А какая команда работы с битами в Си? Ну, типа sbi, cbi
Пн янв 15, 2018 15:07:00
#define RSport PORTB // Указать порт, к которому подключена линия управления RS
#define RSddr DDRB // Указать регистр направления порта, к которому подключена RS
#define RSpin 5 // Указать номер бита порта, к которому подключеа линия RS
sbi RSddr, RSpin
Пн янв 15, 2018 15:07:23
Пн янв 15, 2018 15:07:49
Перешли на Си - забудьте об обучении АСМа. Обучайтесь лучше языку.СКАЗОЧНИК писал(а):Для обучения. )))
Забейте. Напишете потом на Си.СКАЗОЧНИК писал(а):ну и жалко, когда-то написанное на асме не использовать везде.
Пн янв 15, 2018 15:10:02
СКАЗОЧНИК писал(а):LED_DDR = 1<<LED1;
Типа того?