Dos fn 2eh установитьсбросить переключатель верификации


Содержание

Системное программное обеспечение: Учебное пособие

Для того, чтобы оценить ресурс, необходимо авторизоваться.

Настоящее учебное пособие предназначено для подготовки студентов различных вычислительных специальностей, изучающих работу в среде MS-DOS. Для специальности 2201 эта работа может использоваться в курсах «Системное программное обеспечение», «Проектирование микропроцессорных систем», «Организация ввода-вывода». В пособии описано семейство микропроцессоров х86 с точки зрения программиста, рассмотрены регистры процессора, способы адресации и формирования исполнительного адреса. Даны основы программирования на ассемблере, приведены примеры программ, использующих ресурсы MS-DOS. Рассмотрены способы написания резидентных программ и драйверов. Рассмотрены соответствующие примеры.

Когда клавиши Fn на ноутбуке работают наоборот или вообще не работают

#Fn Поскольку стандартные pc-клавиатуры имеют строго определенное количество клавиш, для расширения функционала, на клавиатурах (особенно ноутбучных) есть спец. клавиша Fn. Вот, например, список горячих клавиш windows 8.

При нажатии на нее у остальных кнопок задействуются вторые значения. Например на ноутбуке Samsung np530 клавиша f2 в сочетании с fn понижает громкость системных динамиков, хотя в обычном режиме f2 может быть использована как вспомогательная клавиша windows, например, для переименования файлов и папок.

Есть один интересный момент — иногда второстепенные значения клавиш меняются местами с основными т.е. клавиатура начинает работать наоборот:

В случае с указанным самсунгом, это будет выглядеть так будто f2 теперь отвечает за понижение громкости, а чтобы переименовать папку Windows теперь нужно нажимать Fn+f2.

Это неудобно, особенно если учесть, что стрелки «вправо» и «влево» теперь превращаются в «End» и «Home», для тех кто набирает много текста и привык работать не только с мышью это неудобно.

Вообще с Fn может быть несколько неудобных моментов, давайте разбираться:

1) Клавиатура с Fn работает наоборот.

Т.е. вышеописанная ситуация. Причины возникновения и пути решения:

— На клавиатуре нажата клавиша «Fn lock» (не путать с «f lock»), она меняется значения клавиш с первостепенных на второстепенные. Для того чтобы это прекратить просто нажмите её один раз.

— В BIOS ноутбука включена соответствующая опция. Чтобы пофиксить эту проблему ищите в биосе настройки связанные с такими названиями как «Action keys mode» или «Behavior-Functions Key» или «hot key function» или что то аналогичное, зависит от модели ноутбука. Это значение нужно выставить в disabled. Допускаю, что на некоторых моделях ноутбуков нужно сменить его на Enabled. Выглядит это примерно так:

2) Вместо букв на клавиатуре печатаются цифры

Просто отключите это безобразие комбинацией Fn+Nun lock (NumLk)

3) Клавиши Fn не работают или работают некорректно

— Некорректно установлены (не установлены вообще) драйвера для задействования вспомогательных клавиш. Такие драйверы всегда есть на сайте производителя вашего ноутбука. По какой то причине они могут работать некорректно.

Оп! А вот тут хорошо ремонтируют ноутбуки в Белгороде. листаем дальше.

Особенно часто такое бывает если ноутбук предназначен для Windows 7, а вы поставили на него windows 8. Переустановите драйвера «горячих клавиш» (hotkey).

Иногда просто помогает их удаление, тогда их драйвера подменяются стандартными драйверами Windows и некоторые из клавиш Fn также не будут работать.

Название драйверов для «горячих клавиш» у разных производителей ноутбуков разное:

hpHotkeyMonitor — HP
ATK — Asus
Launch Manager — Acer
Hotkey Utility — Sony Vaio
ATK Hotkey — lenovo

Как сбросить двухфакторную верификацию (2ФА)?

Если Вы потеряли Ваш телефон или доступ к Вашей электронной почте, или не получаете СМС коды на телефон, Вам нужно будет сбросить двухфакторную верификацию, чтобы восстановить доступ к кошельку.

Если Вы хотите сбросить 2ФА, пожалуйста, заполните эту форму: https://login.blockchain.com/#/reset-2fa. Обязательно указать только идентификатор кошелька и электронный адрес, связанный с кошельком, но чем больше информации Вы включите, тем быстрее Ваша заявка будет одобрена.* Если Вы хотите изменить эл. адрес, впишите новый адрес в третью строчку формы.

2ФА сбросится после одобрения заявки. На электронный адрес, связанный с кошельком, придёт уведомление, что была сделана заявка на сброс 2ФА. Вы сможете одобрить заявку или отменить сброс.

  • Это полностью автоматический процесс, который включает обязательный период ожидания. Таким образом одобрение заявки отнимает некоторое время.**
  • Мы не можем ускорить этот процесс, но он отнимет меньше времени, если Вы одобрите заявку через почту.
  • Если Вы кликните “Отменить” («Decline») в письме, или успешно войдете в кошелек, пока заявка рассматривается, заявка будет отменена.
  • Эта форма также отменяет двухфакторную верификацию и ограничения IP адресов, которые установлены на кошельке.
  • Это никак не повлияет на безопасность верифицированной электронной почты.

Точное время одобрения включено в уведомительное письмо. Если Вы не получили письмо, Вы можете отправить запрос нашей команде поддержки и, включив Ваш идентификатор в запросе, попросить дополнительную информацию о статусе Вашей заявки.

*Секретная фраза («Secret Phrase») — это функция из старой версии кошелька, это не восстановительная фраза. Если у Вас нету секретной фразы, оставьте это поле. Не включайте Вашу восстановительную фразу. Восстановительную фразу не надо никому выдавать.

Приложение Б Функции DOS (INT 21h)

Приложение Б Функции DOS (INT 21h)

DOS, функция 00h

CS – сегмент PSP завершающегося процесса

Описание. Передает управление на вектор завершения в PSP (выходит в родительский процесс). Идентична функции INT 20h (Terminate). Регистр CS должен указывать на PSP. Восстанавливает векторы прерываний DOS 22h-24h (Завершение, Ctrl-Break и Критическая ошибка), устанавливая значения, сохраненные в родительском PSP. Выполняет сброс файловых буферов. Файлы должны быть предварительно закрыты, если их длина изменилась.

Данная функция не рекомендуется к использованию. Для выхода из программы лучше использовать функцию DOS 4Ch.

DOS, функция 01h Считать со стандартного устройства ввода

Выход: AL – символ, полученный из стандартного ввода

Описание. Считывает (ожидает) символ со стандартного входного устройства. Отображает этот символ на стандартное выходное устройство (эхо). При обнаружении Ctrl-Break выполняется INT 23h.

Ввод расширенных клавиш ASCII (F1-F12, PgUp, курсор и другие) требует двух обращений к этой функции. Первый вызов возвращает AL=0. Второй вызов возвращает в AL расширенный код ASCII.

DOS, функция 02h Записать в стандартное устройство вывода

DL – символ, выводимый в стандартный вывод

Посылает символ из DL в стандартное устройство вывода. Обрабатывает символ Backspace (ASCII 8), перемещая курсор влево на одну позицию и оставляя его в новой позиции. При обнаружении Ctrl-Break выполняется INT 23h.

DOS, функция 03h Считать символа со стандартного вспомогательного устройства

Выход: AL – символ, введенный со стандартного вспомогательного устройства

Описание. Считывает (ожидает) символ со стандартного вспомогательного устройства, COM1 или AUX и возвращает этот символ в AL.

Ввод не буферизуется и должен опрашиваться (не управляется прерываниями). При запуске DOS порт AUX (COM1) инициализируется так: 2400 бод, без проверки на четность, 1 стоп-бит, 8-битные слова. Команда DOS MODE используется для установки иных характеристик.

DOS, функция 04h Записать символ в стандартное вспомогательное устройство

DL – символ, выводимый в стандартное вспомогательное устройство

Посылает символ, находящийся в регистре DL, на стандартное вспомогательное устройство, COM1 или AUX.

DOS, функция 05h Вывести на принтер

DL – символ, записываемый на стандартный принтер

Посылает символ в DL на стандартное устройство печати, обычно LPT1.

DOS, функция 06h Консольный ввод-вывод


DL=00h-FEh – символ, посылаемый на стандартный вывод

DL=FFh – запрос ввода со стандартного ввода

ZF=0, если осуществлялся ввод символа и символ готов при запросе ввода

AL – считанный символ

ZF=1, если осуществлялся ввод символа и символа в консоли нет

При DL=0FFh выполняет ввод с консоли «Без ожидания», возвращая включенный флаг нуля ZF, если на консоли нет готового символа. Если символ готов, сбрасывает флаг ZF и возвращает считанный символ в AL. Если DL не равен 0FFh, то DL направляется на стандартный вывод.

DOS, функция 07h Нефильтрующий консольный ввод без эха

Выход: AL – символ, полученный через стандартный ввод

Описание. Считывает (ожидает) символ со стандартного входного устройства и возвращает этот символ в AL. Не проверяет на Ctrl-Break, BackSpace и другие.

Для ввода расширенного символа ASCII должна быть вызвана дважды. Для проверки статуса используется функция DOS 0Bh (чтобы не ожидать нажатия клавиши).

DOS, функция 08h Консольный ввод без эха

Выход: AL – символ, полученный через стандартный ввод

Описание. Считывает (ожидает) символ со стандартного входного устройства и возвращает этот символ в AL. При обнаружении Ctrl-Break выполняется прерывание INT 23h.

Для ввода расширенного символа ASCII должна быть вызвана дважды.

DOS, функция 09h Запись строки на стандартный вывод

DS:DX – адрес строки, заканчивающейся символом «$» (ASCII 24h)

Строка, исключая завершающий ее символ «$», посылается на стандартный вывод. Символы Backspace обрабатываются как в функции 02h (вывод на дисплей). Чтобы перейти на новую строку, обычно включают в текст пару CR/LF (ASCII 0Dh и ASCII 0Ah). Строки, содержащие «$», можно передать на стандартное устройство вывода с помощью функции 40h (BX=0).

DOS, функция 0Ah Ввод строки в буфер

DS:DX – адрес входного буфера (Таблица Б-1)

Таблица Б-1. Формат входного буфера

Буфер содержит введенные данные, в конце – символ CR (ASCII 0Dh)

DOS, функция 0Bh Проверка статуса ввода

Выход: AL=FFh, если символ доступен со стандартного ввода AL=00h, если нет доступного символа

Описание. Проверяет состояние стандартного ввода. При распознавании Ctrl-Break выполняется INT 23h.

Используется перед функциями 01h, 07h и 08h, чтобы избежать ожидания нажатия клавиши.

Эта функция дает простой неразрушающий способ проверки Ctrl-Break в процессе длинных вычислений или другой обработки, обычно не требующей ввода. Это позволяет снимать счет по нажатию Ctrl-Break.

DOS, функция 0Ch Ввод с очисткой

AL – номер функции ввода DOS:

AL=01h – ввод с клавиатуры

AL=06h – ввод с консоли

AL=07h – нефильтрующий без эха

AL=08h – ввод без эха

AL=0Ah – буферизованный ввод

Очищает буфер опережающего ввода стандартного ввода, а затем вызывает функцию ввода, указанную в AL. Это заставляет систему ожидать ввод очередного символа.

DOS, функция 0Dh Сброс диска

Сбрасывает диск (записывает на диск все файловые буферы). Файл, размер которого изменился, должен быть предварительно закрыт (при помощи функций 10h или 3Eh).

DOS, функция 0Eh Установить текущий диск DOS

DL – номер диска (0 – A, 1 – B и так далее), который становится текущим

Выход: AL – общее число дисководов в системе

Описание. Диск, указанный в DL, становится текущим. Проверка: используется функция 19h (дать текущий диск). В регистре AL возвращается число дисководов всех типов, включая жесткие диски и «логические» диски (как диск B: системе с одним гибким диском).

AL имеет то же значение, что и LASTDRIVE, указанное в файле CONFIG.SYS, и по умолчанию равно 5.

DOS, функция 0Fh Открыть файл через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

Таблица Б-2. Формат FCB

AL=00h, если функция выполнена успешно (FCB заполнен)

AL=FFh, если файл не найден или доступ к файлу не разрешен

Файл, описываемый неоткрытым FCB, должен существовать в текущем оглавлении на диске, специфицированном в FCB (0 – текущий, 1 – A, 2 – B и так далее). Если файл не существует, возвращается AL=0FFh. Файл открывается в режиме совместимости. Если поле «Номер диска» в FCB равно нулю в момент вызова, то оно заполняется номером текущего дисковода (1 – A, 2 – B и так далее). Поле FCB «Номер текущего блока» устанавливается в ноль. Поле FCB «Размер логической записи» устанавливается в 80h. Поля даты и размера файла в FCB устанавливаются из оглавления.

DOS, функция 10h Закрыть файл через FCB

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно

AL=FFh, если файл не найден там, где он находился при открытии с помощью функции 0Fh

Закрывает файл, открытый функцией 0Fh. Файл должен находиться на своем первоначальном месте в текущем оглавлении диска, на котором он был открыт. Если файл найден, оглавление обновляется, файловые буфера сбрасываются и возвращается AL=00h. Если файл не найден, оглавление не обновляется и возвращается AL=FFh.

DOS, функция 11h Найти первый совпадающий файл через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)


AL=00h, если подходящее имя найдено

AL=FFh, если подходящего имени нет

В текущем оглавлении DOS происходит поиск файлов с именем, соответствующим заданному шаблону. При неудаче возвращается AL=0FFh. Если имя найдено, AL очищается, в первый байт DTA помещается номер дисковода (A – 1, B – 2 и так далее), а в следующие 32 байта помещается элемент оглавления для найденного файла.

Можно использовать при вызове расширенный FCB, чтобы выбирать файлы с указанными атрибутами. В этом случае в DTA помещаются: байт FFh, 7 байт нулей, номер диска и элемент оглавления.

DOS, функция 12h Найти следующий совпадающий файл через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

Илон Маск рекомендует:  Что такое код destroywindow

AL=00h, если подходящее имя найдено

DTA заполнен AL=FFh, если подходящего имени нет

Используется после вызова функции 11h (Найти первый совпадающий файл через FCB) с обобщенным именем файла. Каждый последующий вызов заполняет DTA очередным подходящим элементом оглавления и возвращает AL=00h. Если подходящих имен больше нет, возвращается AL=FFh.

Резервируемая область в FCB сохраняет информацию, необходимую для продолжения поиска. Поэтому не стоит открывать и изменять FCB между вызовами.

DOS, функция 13h Удалить файл через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно

AL=FFh, если файл не найден или доступ к файлу не разрешен

Эта функция удаляет все подходящие файлы в текущем оглавлении указанного диска согласно спецификации в FCB. Если подходящие файлы не найдены или если доступ отвергнут (как при попытке удалить файл с атрибутом Read-Only), функция возвращает в регистре AL значение FFh.

DOS, функция 14h Последовательное чтение из файла через FCB

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если чтение было успешным и DTA содержит данные

AL=01h, если достигнут конец файла (EOF) и данные не считаны

AL=02h, если произошел выход за сегмент (чтения не было)

AL=03h, если EOF и считана усеченная запись (дополнена нулями)

Функция читает файл, специфицированный в FCB. Затем соответственно увеличивает значения полей в FCB.

Перед началом последовательной обработки файла нужно сбрасывать CurRec в ноль, так как функция 0Fh не инициализирует это поле.

DOS, функция 15h Последовательная запись в файл через FCB

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если запись была успешной

AL=01h, если ошибка переполнения диска (данные не записаны)

AL=02h, если произошел выход за сегмент (записи не было)

Функция записывает файл, специфицированный в FCB. Затем соответственно увеличивает значения полей в FCB.

Перед началом последовательной обработки файла нужно сбрасывать «Номер текщей записи» в ноль, так как функция 0Fh не инициализирует это поле.

DOS буферизует данные, записывая полный сектор за один раз.

DOS, функция 16h Создание файла через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно FCB заполнен

AL=FFh, если при выполнении функции возникли ошибки

Описание. Файл, специфицированный неоткрытым FCB, создается на диске, указанном в FCB (0 – текущий, 1 – A и так далее). Он открывается в текущем оглавлении этого диска. FCB заполняется аналогично функции 0Fh. Если файл существует в момент вызова, его элемент оглавления перекрывается новым файлом, а длина файла сбрасывается в ноль.

Handle-ориентированные функции DOS 2.0+ гораздо удобнее в работе.

DOS, функция 17h Переименовать файл через FCB

DS:DX – адрес измененного FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно

AL=FFh, если при выполнении функции возникли ошибки

Переименовывает файл в текущем оглавлении.

DOS, функция 19h Получить текущий диск DOS

Выход: AL – номер текущего диска (0 – A, 1 – B, и так далее)

Возвращает номер дисковода текущего диска DOS.

DOS, функция 1Ah Установить адрес DTA

DS:DX – адрес DTA

Устанавливает адрес DTA. Все FCB-ориентированные операции работают с DTA. DOS не позволяет операциям ввода/вывода пересекать границу сегмента. Функции поиска 11h, 12h, 4Eh и 4Fh помещают данные в DTA. DTA глобальна, поэтому надо проявлять осторожность при назначении ее в рекурсивной процедуре. При запуске программы ее DTA устанавливается по смещению 80h относительно PSP.

DOS, функция 1Bh Получить информацию FAT для текущего диска

DS:BX – адрес байта FAT ID, отражающего тип диска (Таблица Б-3)

DX – всего кластеров (единиц распределения) на диске

AL – секторов на кластер

CX – байт на сектор

Таблица Б-3. Значения >


Возвращает информацию о размере и типе текущего диска. Размер диска (в байтах) равен DX*AL*CX. Свободную память можно найти функциями 36h или 32h.

Версии: DOS 1.x держит FAT в памяти и возвращает DS:BX => FAT. DOS 2.0+ может держать в памяти лишь часть всей FAT.

Эта функция изменяет содержимое регистра DS.

DOS, функция 1Ch Получить информацию FAT для указанного диска

DL – номер диска (0 – текущий, 1 – A и так далее)

DS:BX – адрес байта FAT ID, отражающего тип диска (приведен в описании функции 1Bh)

DX – всего кластеров (единиц распределения)

AL – секторов на кластер

CX – байт на сектор

Аналогична функции 1Bh с той разницей, что регистр DL указывает диск, для которого нужно получить информацию.

DOS, функция 21h Считать произвольную запись файла

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если чтение было успешным и DTA заполнена данными

AL=01h, если достигнут конец файла (EOF) и чтения не было

AL=02h, если произошел выход за сегмент (чтения нет)

AL=03h, если встречен EOF и усеченная запись дополнена нулями

Данная функция читает из файла с текущей позиции как с указанной в полях FCB «Запись с текущей позиции» и «Номер записи при непосредственном доступе к файлу».

DOS, функция 22h Писать произвольную запись файла

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если запись была успешной

AL=01h, при переполнении диска

AL=02h, если DTA+FCB выходит за сегмент (нет записи)

Данная функция записывает в файл с текущей позиции как с указанной в полях FCB «Запись с текущей позиции» и «Номер записи при непосредственном доступе к файлу».

DOS, функция 23h Получить размер файла через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно

AL=FFh, если при выполнении функции возникли ошибки

Проще определить размер файла при помощи функции 3Dh с последующим выполнением 42h (при AL=2).

DOS, функция 24h Установить адрес произвольной записи в файле

DS:DX – адрес открытого FCB (Таблица Б-2)

Устанавливает поле «Номер записи при непосредственном доступе к файлу» в FCB на файловый адрес, соответствующий значениям полей «Текущий блок» и «Запись с текущей позиции».

DOS, функция 25h Установить вектор прерывания

AL – номер прерывания

DS:DX – вектор прерывания – адрес программы обработки прерывания

Описание. Устанавливает значение элемента таблицы векторов прерываний для прерывания с номером AL, равным DS:DX. Это равносильно записи 4-байтового адреса в 0000:(AL*4), но, в отличие от прямой записи, DOS знает, что происходит, и гарантирует, что в момент записи прерывания будут заблокированы.

Восстановить DS (если необходимо) после этого вызова.

DOS, функция 26h Создать новый PSP

DX – адрес сегмента (параграфа) для нового PSP

CS – сегмент PSP, используемый как шаблон для нового PSP (Таблица Б-4)

Описание. Устанавливает PSP для порождаемого процесса по адресу DX:0000. Текущий PSP (100h байт, начиная с CS:0) копируется в DX:0000h, поле MemTop соответственно корректируется, векторы Terminate, Ctrl-Break и Critical Error копируются в PSP из векторов прерываний INT 22h, INT 23h и INT 24h. После этого можно загрузить программу с диска и передать ей управление посредством FAR JMP.

Если перехватывается INT 21h, нужно позаботиться о помещении в стек корректного CS: IP. Еще лучше использовать функцию 4Ch.

Таблица Б-4. Формат PSP

DOS, функция 27h Читать произвольный блок файла

DS:DX – адрес открытого FCB (Таблица Б-2)

CX – число считываемых записей

Выход: AL=00h, если чтение успешно и DTA заполнена данными AL=01h если достигнут конец файла (EOF) и данные не считаны AL=02h, если при чтении произошел выход за границу сегмента AL=03h, если EOF и считана усеченная порция (дополнена нулями) CX – действительное число считанных записей

Читает несколько записей из файла, начиная с файлового адреса, указанного полем «Номер записи при непосредственном доступе к файлу» в FCB. Помещает данные в память, начиная с адреса DTA. Соответствующие поля FCB корректируются, чтобы указывать на следующую запись (первую за прочитанными).

DOS, функция 28h Писать произвольный блок файла

DS:DX – адрес открытого FCB (Таблица Б-2)

CX – число записываемых блоков (если CX равен нулю, то размер файла усекается до указанного в поле FCB «Номер записи при непосредственном доступе к файлу»)

AL=00h, если запись успешна

AL=01h, при переполнении диска

AL=02h, если при записи произошел выход за границу сегмента

CX – действительное число сделанных записей


Описание. Записывает несколько блоков в файл, начиная с файлового адреса, указанного полем «Номер записи при непосредственном доступе к файлу» в FCB. Читает данные из памяти, начиная с адреса DTA. Соответствующие поля FCB корректируются, чтобы указывать на следующую запись (первую за прочитанными).

DOS, функция 29h Разобрать имя файла

DS:SI – адрес исходной текстовой строки для разбора

ES:DI – адрес буфера для результирующего неоткрытого FCB (Таблица Б-2)

AL – битовые флаги, указывающие опции разбора (Таблица Б-5).

AL=00h, если результирующий FCB не содержит обобщенных символов

AL=01h, если результирующий FCB содержит обобщенные символы

AL=FFh, если неверно обозначение диска в имени файла

DS:SI – изменен – указывает на символ сразу вслед за именем файла

ES:DI – не изменен – указывает на неоткрытый FCB

Создает неоткрытый FCB из строки текста или параметра команды. Текст, начиная с DS:SI, анализируется как имя файла в формате D: FILENAME.EXT, и буфер по адресу ES:DI заполняется как соответственно форматированный FCB.

Таблица Б-5. Битовые флаги

DOS, функция 2Ah Получить системную дату

AL – день недели (0 – воскресенье, 1 – понедельник, … 6 – суббота), DOS 3.0+

CX – год (от 1980 до 2099)

DH – месяц (1 до 12)

DL – день (1 до 31)

Описание. Возвращает текущую дату, которая известна системе.

DOS 2.x не гарантирует возврата в AL значения дня.

DOS 1.0+ возвращает правильный день недели.

Версии до 2.1 имеют проблемы с переходом через дату.

DOS, функция 2Bh Установить системную дату

CX – год (от 1980 до 2099)

DH – месяц (от 1 до 12)

DL – день (от 1 до 31)

AL=00h, если дата корректна

AL=FFh, если дата некорректна и не изменена

Устанавливает системную дату DOS.

DOS, функция 2Ch Получить время DOS

CH – часы (от 0 до 23)

CL – минуты (от 0 до 59)

DH – секунды (от 0 до 59)

DL – сотые доли секунды (от 0 до 99)

Описание. Возвращает текущее время, которое известно системе.

Поскольку системные часы имеют частоту 18.2 Гц (интервал 55мс), DL имеет точность примерно 0.04 сек.

DOS, функция 2Dh Установить время DOS

CH – часы (от 0 до 23)

CL – минуты (от 0 до 59)

DH – секунды (от 0 до 59)

DL – сотые доли секунды (от 0 до 99)

AL=00h, если время корректно

AL=FFh, если время некорректно и не изменено

Устанавливает системное время DOS.

DOS, функция 2Eh Установить/сбросить переключатель верификации

AL=00h – отключить верификацию

AL=01h – включить верификацию

Описание. Задает, должна ли DOS верифицировать (считывать обратно) каждый сектор, записываемый на диск. Это замедляет операции записи на диск, но гарантирует максимальную надежность записи.

DOS, функция 2Fh Получить адрес текущей DTA

Выход: ES:BX – адрес начала текущей DTA

Описание. Возвращает адрес начала области ввода-вывода (DTA). Поскольку DTA глобальна для всех процессов, в рекурсивной процедуре (например, при проходе по дереву оглавления) может потребоваться сохранить адрес DTA, а впоследствии восстановить его посредством функции 1Ah.

Примечание. Эта функция изменяет сегментный регистр ES.

Версии: DOS 2.00 и выше DOS, функция 30h Получить номер версии DOS

AL – старший номер версии

AH – младший номер версии


BL:CX – 24-битный серийный номер (большинство версий не поддерживают этот параметр)

Описание. Возвращает в AX значение текущего номера версии DOS. Например, для DOS 3.20 в AL возвращается 03h, в AH – 14h.

Примечание. Если в AL возвращается 00h, можно предполагать, что работает DOS более ранней версии, чем DOS 2.0.

Версии: DOS 2.00 и выше. DOS, функция 31h Завершиться и остаться резидентным

DX – объем памяти, оставляемой резидентной (в параграфах)

Описание. Выходит в родительский процесс, сохраняя код выхода в AL. Код выхода можно получить через функцию 4Dh. DOS устанавливает начальное распределение памяти, как специфицировано в DX, и возвращает управление родительскому процессу, оставляя указанную память резидентной (число байт равно DX*16). Эта функция перекрывает функцию INT 27h, которая не возвращает код выхода и не способна установить резидентную программу, размер которой превышает 64 Кбайт.

Три способа сбросить БИОС на ноутбуке

Сброс БИОСа на ноутбуке иногда может служить радикальным методом против неполадок на портативном компьютере.

Иногда при сбоях системы помогает только полное обнуление настроек; пользователю следует знать, основные нюансы этих методик.

В большинстве случаев, если проблема заключается не в аппаратной части, это помогает вернуть устройство в работоспособное состояние.

Особенности сброса

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

Причинами обращения к одному из способов сброса BIOS может быть несколько:

  • сброс забытого, неизвестного (установленного другим пользователем) или утерянного пароля к БИОС. Хотя, если пользователь не собирается ничего менять в настройках, такое обнуление ему может и не понадобиться;

Рис.1. Окно с запросом пароля для БИОС

  • неправильно выполненный разгон процессора, при котором были заданы критические значения таймингов памяти или частоты шины. Впрочем, обычно на ноутбуках не рекомендуется разгонять чипсет – не только из-за возникновения неполадок, но и из-за проблем с охлаждением;
  • система не загружается по неизвестной причине, хотя в БИОС по-прежнему можно зайти;
  • в BIOS были внесены изменения неспециалистом, который не помнит, какой параметр следует вернуть в исходное состояние.

Варианты сброса БИОС

Для переносного компьютера, так же как и для стационарного, существует несколько вариантов решения проблемы с БИОС путём его обнуления:

  • сбросить настройки, используя сам интерфейс (способ, подходящий только, если в BIOS получилось зайти);
  • при помощи специальной утилиты (применяется для 32-разрядных операционных систем);
  • аппаратным (механическим) способом.

Дополнительные способы сброса можно найти в документации на компьютер, если она сохранилась. Помогут решить вопрос и инструкции для конкретной модели устройства; чаще всего их можно найти в сети – на сайте производителя или, в крайнем случае, на форумах владельцев аналогичных моделей.

Сброс через BIOS

Для упрощения задачи пользователя сброс настроек до значений по умолчанию возможен при помощи утилиты, встроенной в БИОС. Для того чтобы воспользоваться ей, следует зайти в интерфейс, нажав во время загрузки определённую функциональную клавишу. Чаще всего это Del и F2, реже – Esc, F10 и F11. Определить точнее, какая именно клавиша нужна для входа в настройки, можно сразу же при запуске системы, когда эта информация появляется в нижней части экрана.

Совет: Для интерфейса UEFI загрузка происходит слишком быстро, и мелькающую надпись рассмотреть непросто. В этом случае можно попробовать нажать по очереди все функциональные или найти нужную в интернете по своей модели ноутбука.

Рис.2. Определение клавиши для входа в меню настроек БИОС

После входа в меню БИОС следует найти меню выхода (Exit) и выбрать в нём пункт Load setup defaults. Согласившись со сбросом настроек (выбор кнопки Yes), вы восстановите их заводские значения. После нажатия F10 сделанные вами изменения сохранятся.

Рис.3. Сброс через БИОС для большинства популярных моделей ноутбуков

Владельцы некоторых моделей лэптопов могут увидеть в меню БИОС и другие надписи, кроме Load setup defaults. Например, пользователь техники Sony найдёт здесь надпись F3 Optimized Defaults, говорящую о том, что после нажатия этой функциональной клавиши и сохранения изменений тоже произойдёт сброс.

Для современных моделей марок Samsung, Toshiba и HP в настройках есть пункт F9 Setup Defaults, обычно расположенный в нижней или правой части экрана. Это значит, что для сброса требуется нажать F9 и сохранить изменения.

Для устаревших моделей оборудования, BIOS которых отличается от современных вариантов, в настройках необходимо найти пункты Use Default Settings или Set BIOS Default.

При их выборе на экране может появиться надпись, предлагающая или сброс на заводские настройки (Load Optimized Defaults), или переход на настройки, оптимизированные для защиты от сбоев (Load Fail-Safe Defaults).

Рис.4. Особенности сброса для старых ноутбуков

В большинстве случаев сброс настроек приведёт к восстановлению работоспособности компьютера и нормальной загрузке.

Однако если в процессе обнуления произошла ошибка, например, при выборе носителя, с которого загружается система, пользователю придётся ещё раз войти в настройки БИОС и внести небольшие изменения:

  1. Открыть BIOS;
  2. Перейти в раздел Boot;
  3. Выбрать вкладку Boot Mode и, если в этом поле записано UEFI, изменить его на Legacy;
  4. Сохранить изменения и перезагрузить систему.

Рис. 5. Изменение способа загрузки при сбившихся настройках

Программный метод сброса может и не сработать. Например, если на БИОС стоит пароль. Или войти в него не получается по какой-то другой причине.

Утилита DEBUG

Изменение настроек интерфейса возможно и с помощью специальной утилиты для Windows. Она встроена в 32-разрядные версии ОС и требует для работы запуска от имени администратора. Выполнить обнуление с её помощью несложно, хотя и требуется обладать правами администратора:

  1. Открыть меню выполнения команд (Win+R);
  2. Ввести команду debug.exe;
  3. После того как откроется командная строка, ввести с клавиатуры по очереди: «o702E», «o71FF» и «q»;
  4. После ввода каждой команды нажать кнопку ввода.

Рис.6. Приложение debug.exe

После этого настройки БИОС сбрасываются. А, перезагрузив систему, пользователь увидит сообщение об ошибке и необходимости проверки настроек. Далее следует вручную настроить BIOS или оставить значение параметров таким же, каким оно было при покупке устройства.

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

Аппаратный метод

Аппаратный способ сброса настроек БИОС ноутбука требуется в тех случаях, когда пароль неизвестен, забыт, или, когда пользователь никакой защиты не устанавливал, но BIOS всё равно оказался защищён.

При этом подбор пароля и использование специальных утилит на загрузочном диске не помогают. Единственный выход – аппаратное обнуление.

Кнопка для обнуления BIOS

Модели ноутбуков, выпущенные за последние 2–3 года, дают возможность обойтись без разборки устройства. Для сброса БИОС достаточно выполнить следующие действия:

  1. Выключить и перевернуть ноутбук крышкой вверх;
  2. Проверить нижнюю часть на наличие надписи CMOS на корпусе, возле которой может быть специальное отверстие для обнуления BIOS;
  3. Вставить в отверстие острый предмет типа скрепки или гвоздика и подержать его полминуты;
  4. Включить ноутбук.


Если никаких отверстий сзади ноутбука не обнаружено, его следует разобрать.

Внимание! Дальнейшие инструкции – только для продвинутых ПК-пользователей!

Помните, что снятие крышки и разбор компьютера ведёт к потере гарантии.

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

Отключение батарейки

Один из простейших аппаратных способов сброса – отключение автономного питания на материнской плате. Большинство моделей ноутбуков хранит настройки BIOS и текущее время в памяти, которая зависит от небольшой батарейки типа CR2032.

Рис.7. Батарейка материнской платы CR2032

Извлекая эту батарейку, можно отключить питание БИОС и сбросить все настройки, включая пароль. Обесточить плату придётся на период от 5 до 40 минут, в зависимости от модели. Иногда устройство может оказаться энергонезависимым и сброса не произойдёт.

До батарейки легко добраться – обычно она расположена близко к одному из краёв платы и не закрыта другими комплектующими.

От пользователя потребуется:

  • снять крышку;
  • обесточить устройство, вынув аккумулятор;
  • найти миниатюрный источник питания;
  • слегка надавить на защёлку и извлечь батарейку;
  • подождать некоторое время (для того чтобы не проводить процедуру повторно, лучше подождать не меньше 40 минут);
  • установить батарейку обратно, путём такого же лёгкого нажатия;
  • включить ноутбук;
  • провести настройку БИОС заново, установив часы, дату и порядок загрузки системы.

Некоторые платы имеют встроенную несъемную батарейку. Для них извлечение батарейки невозможно, поэтому стоит перейти к последнему из способов.

Переключение джампера очистки

Метод переключения джампера основан на наличии у лэптопа специальной перемычки, отвечающей за сброс БИОС.

Чтобы её найти, понадобится снять крышку переносного компьютера открыть доступ к плате. Чаще всего переключатель расположен недалеко от батарейки, а перемычка обычно подписана надписями типа CLRTC, CLR и CCMOS.

Контактная площадка джампера практически всегда состоит из трёх контактов. Для сброса BIOS требуется переместить перемычку на один шаг: из первого положения во второе или из второго в третье.

Рис.8. Джампер очистки CMOS

Пока перемычка находится в переключенном положении, требуется нажать на кнопку включения ноутбука и удерживать не менее 10 секунд.

Естественно, при отключённом питании ноутбук не включится, но сигнал будет передан на джампер. После этого перемычку возвращают в исходное положение, компьютер собирают, а БИОС заново настраивают.

Совет: вместо перемычки на джампере ноутбука может быть специальная кнопка, нажатие на которую позволяет выполнить аналогичное действие. Нажимать следует карандашом или ручкой, подождав те же 10 секунд.

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

Выводы

Методики обнуления БИОС дают возможность справиться с проблемой, не обращаясь к сторонним специалистам. Чаще всего вопрос решается в течение нескольких минут, большая часть которых будет потрачена на разборку и сборку лэптопа.

Но, если ни один из способов не помог сбросить пароль, для восстановления возможности самостоятельно менять настройки всё же придётся обратиться к мастерам.

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

Клавиша Fn: расположение, функции, включение/отключение, устранение неполадок

Если перед вами ноутбук, нетбук, трансформер, то наверняка клавиатура на нем несколько отличается от той, что мы привыкли видеть возле стационарного ПК. Она более компактная, поэтому некоторые кнопки на ней выполняют две функции. Помогает им переключаться от основной к дополнительной задаче и наоборот клавиша Fn. Давайте узнаем широту ее возможностей и варианты устранения проблем, с ней связанных.

Где находится Fn?

Расположение кнопки стандартно для всех клавиатур ноутбуков и их собратьев авторства HP, Lenovo, Samsung, LG, Acer, ASUS и проч. Это традиционно левый угол. Разница лишь в одном — будет ли клавиша Fn на клавиатуре стоять перед Ctrl или же после нее.

Расположение кнопки специально выбрано таким удобным, ведь это «ключ» ко многим нужным функциям. Она всегда под рукой, ее не нужно искать, локацию легко запомнить, в т. ч. и при использовании «слепой печати».

Для чего нужна кнопка?

Полное название клавиши Fn — Function. Она комбинационная — действует только в сочетании с другими кнопками. Присмотритесь к своей клавиатуре. Ряд F1-F12, стрелки «вверх-вниз», «вправо-влево» будут содержать на себе дополнительные значки, символизирующие конкретные функции. Они напечатаны краской обычно красного или синего цвета — той же, что и клавиша Fn. При одновременном нажатии на нее и на конкретную кнопку можно активировать/дезактивировать конкретную функцию.

Так, клавиша помогает управлять плеером, листать фотографии, страницы, увеличивать/уменьшать громкость звука, прибавлять/убавлять яркость экрана и выполнять ряд других полезных задач.

Полезные комбинации кнопок

Символы, изображенные на клавишах-«подружках» Function, довольно интуитивные и быстро запоминающиеся. Вы скоро привыкните к ним и будете переключать их, не глядя. Сейчас же мы приведем список стандартных функций, которые помогает активировать клавиша Fn:

  • Со стрелкой «вверх» — увеличение громкости звучания.
  • Со стрелкой «вниз» — уменьшение громкости звучания.
  • Со стрелкой «влево» — уменьшение яркости монитора.
  • Со стрелкой «вправо» — увеличение яркости монитора.
  • С F8 — отключение звука.
  • С F7 — активация/дезактивация сенсорной панели управления.
  • С F6 — включение/выключение монитора.
  • С F5 — перевод изображения на внешний монитор и обратно на «родной».
  • С F4 — активация/дезактивация «режима сна».
  • С F3 — подключение к вайфаю и отключение от него.
  • С Home («Домой») — начало воспроизведения, пауза.
  • С Pg Up («Страница вверх») — остановка воспроизведения в плеере.
  • С Pg Dn («Страница вниз») — перемотка назад.
  • С End («К концу») — перемотка вперед.

Последние четыре функции на некоторых клавиатурах могут быть перенесены на кнопки F9, F10, F11, F12. Вам нужно зажать клавишу Fn, а затем нажать на одну из представленных, чтобы включить или отключить то, что вам необходимо.

Включение и отключение кнопки

Работу самой Function возможно как активировать, так и дезактивировать. Делается это следующим образом: зажмите саму кнопку и Num Lock. Комбинация поможет как отключить клавишу Fn, так и включить ее. Но способ применим не для всех устройств.

Можно попробовать заняться настройкой через BIOS:

    1. Выключите компьютер.
    2. Снова включите его. При этом важно зажать кнопку F2, F10, Del — зависит от вашей версии БИОС.
    3. Как только перед вами появился характерный экран, клавишами «влево-вправо» пролистайте курсор до System Configuration. Это настройки системы.
    4. В этой вкладке уже кнопками «вверх-вниз» дойдите до Action Keys Mode (настройки функциональных кнопок). Выберите этот пункт нажатием «Энтер».
    5. Перед вам будет два варианта: Enabled — включить, и Disabled — выключить.
    6. Поставьте курсор на нужном и снова нажмите Enter.
    7. Теперь осталось нажать на кнопу F10 для выхода из БИОС с внесением всех изменений.

А теперь давайте разберем некоторые проблемы и варианты их устранения.

Кнопка работает наоборот

Когда клавиша Fn работает наоборот, мы видим такую ситуацию: если она не зажата, почему-то выполняются дополнительные функции ее «коллег», а в противной ситуации — основные. Например, при пролистывании страницы стрелкой «вверх» начинает увеличиваться звук. А если зажимаем Function, то продвигаемся по листу документа, как и положено, вверх.

Причина в том, что переключился режим клавиш: основной стал дополнительным. Вернуть все на место можно так:

  • Нажмите на кнопку Fn Lock, которая и активировала такое «безобразие».
  • Зайдите в БИОС по представленной выше схеме. Найдите раздел, посвященный клавиатуре (Key, Keys). Пункт, выделенный на фото ниже, активируйте, если он выключен, или дезактивируйте, если он включен.

Кнопка работает некорректно, не функционирует

Может такое случиться, что Fn странно выполняет свои функции. А может быть, и вовсе неактивна. Проблема тут в том, что установлены неподходящие для вашей ОС драйверы или их нет вообще. Решается все удалением (если они есть) старых «дров» hotkey и установкой необходимых новых:

  • Для «Леново» — ATK Hotkey.
  • Для НР — hpHotkeyMonitor .
  • Для «Сони» — Hotkey Utility.
  • Для Acer — Launch Manager.
  • Для ASUS — АТК.
  • Для «Самсунг» — Easy Display Manager.


Можно также воспользоваться достаточно универсальным драйвером Magic Keyboard. Другой вариант: перейти на официальный сайт производителя своего ноутбука и уже там найти и скачать необходимые «дрова» для Function.

Клавиша Fn на ноутбуках, нетбуках, ультрабуках является функциональной, комбинационной. Она открывает доступ к «горячим задачам», расположенным на кнопках двойного назначения.

Arduino watchdog или автоматический RESET в случае зависания

Речь пойдет о том, как держать Arduino всегда в работоспособном состоянии. Механизм watchdog встроен в контроллеры Atmega, но, к сожалению, не всякий загрузчик (bootloader) Arduino правильно обрабатывает эту функцию. Попробуем разобраться с этой проблемой.

Итак, что такое watchdog? Простыми словами — это встроенный таймер на определенное время (до 8 сек в зависимости от чипа), который можно запустить программно. Как только таймер «дотикает» до нуля, контроллер подает правильный сигнал сброса (RESET) и всё устройство уходит в hard перезагрузку. Самое главное, что этот таймер можно сбрасывать в начальное состояние также программным способом.

  • Правильный сигнал сброса — достаточный по длительности для того, чтобы контроллер начал перегружаться. Иногда есть соблазн подключить к RST входу какой-либо цифровой выход Arduino и устанавливать его в 0 когда надо перегрузиться. Это плохой подход к решению проблемы, т.к. такого сигнала может быть недостаточно по времени, хотя и не исключено, что в некоторых случаях это тоже будет работать..
  • hard перезагрузка это самая настоящая перезагрузка, которая происходит при нажатии на кнопку RESET. Дело в том, что есть еще понятие soft перезагрузки — это программный переход на 0-вой адрес. В принципе, это тоже полезная вещь, но с помощью нее невозможно перегрузить зависший контроллер Ethernet или взглюкнувший LCD.

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

Функции Watchdog

Чтобы использовать функции Watchdog нужно подключить к проекту стандартную библиотеку:

Теперь нам доступны следующие три функции:

1. Запуск таймера watchdog:

Таймер будет считать ровно столько, сколько указано в константе. По истечении этого времени произойдет перезагрузка.

2. Сброс таймера watchdog:

Думаю, понятно для чего нужна эта функция — пока вы вызываете ее, контроллер не сбросится. Как только система зависнет и эта функция вызываться перестанет, то по истечении заданного периода произойдет перезагрузка.

3. Отключение watchdog:

Отключение таймера watchdog.

Собственно, на этом можно было бы и закончить наше повествование о watchdog… но дело в том, что все это работает только в Arduino Uno, а на Arduino Mega, Mini и Nano все это работает ровно наоборот, т.е. не работает совсем :)

Почему watchdog не работает на большинстве современных плат Arduino

Дело в том, что после перезагрузки, которая была вызвана watchdog, контроллеры последних выпусков оставляют включенным watchdog на минимальный период, т.е. 15ms. Это нужно для того, чтобы программа как-то узнавала, что предыдущая перезагрузка была по watchdog. Поэтому первоочередная задача загрузчика (или вашей программы, если она запускается первой) — сохранить информацию о том, что перезагрузка была «неожиданной» и сразу же выключить watchdog. Если этого не сделать, то система уйдет в bootloop, т.е. будет вечно перегружаться.

Как известно, в Arduino есть специальный загрузчик, который выполняется в первую очередь после перезагрузки системы. И, к огромному сожалению, стандартный загрузчик не сбрасывает watchdog! Таким образом, система заходит в жестокий bootloop (состояние «crazy led», при котором светодиод на 13-м пине мигает как сумасшедший).

Пути решения проблемы

Если посмотреть на исходники стандартного загрузчика (они есть в поставке платформы), то код отключения watchdog есть (!), но этот код вынесен под условную компиляцию и, по всей видимости, стандартный загрузчик скомпилирован без поддержки watchdog. По крайней мере в пакете платформы версии 1.5.2 (последней на момент написание статьи) дело обстоит именно так.

Для решения проблемы я даже прочитал man-ы самой платформы (:) и вроде бы там описана эта проблема и даже приведен код, который должен сделать всех счастливыми:

Здесь описывается функция get_mcusr(), которая должна вызываться сразу после сброса. Это достигается макросом «__attribute__((section(«.init3″)))». Я пробовал прописывать эту функцию во все секции, которые только возможно — да, она действительно запускается до функции setup() из скетча, но, к сожалению, гораздо позже 15ms (минимальная константа watchdog) после сброса…

Короче говоря, как я ни рыл интернет в поисках легкого решения проблемы, так ничего найдено не было. Я нашел только один способ заставить watchdog работать — перепрошить загрузчик… чем мы сейчас и займемся.

Проверка работоспособности watchdog

Прежде чем что-то прошивать, нужно проверить — вдруг ваша Arduino поддерживает watchdog. Для этого я написал небольшой скетч для теста. Просто залейте его, откройте монитор порта и смотрите, что будет происходить.

После перезагрузки (или подключения монитора к порту) встроенный светодиод мигнет, сигнализируя о том, что запустился загрузчик. Далее в секции setup происходит включение watchdog с таймером на 8 сек. После этого светодиод отсчитает нам это время и должна произойти перезагрузка.

Далее начинается самое интересное — если перезагрузка произошла и все повторяется в такой же последовательности, то вы имеете на руках Arduino, в которой загрузчик правильно обрабатывает watchdog. Если же после перезагрузки светодиод на 13-м пине начинает бесконечно мигать, то значит загрузчик не поддерживает watchdog. Здесь даже кнопка сброса не поможет. Для последующей прошивки нужно плату отключать от питания и после включения успеть прошить до первой перезагрузки.

Я протестировал 4 вида плат и только загрузчик в Arduino Uno сработал так как надо:

Watchdog не поддерживается загрузчиком:

Watchdog поддерживается загрузчиком:

Как легче всего прошить новый загрузчик?

Прошивать загрузчик в Arduino можно с помощью отдельных программаторов, а можно собрать свой программатор с помощью той же самой Arduino. Т.е. любую плату Arduino можно превратить в программатор, залив туда специальный скетч.

Я не буду в этой статье описывать все премудрости создания программатора на основе Arduino, т.к. эта тема довольно подробно описана в интернете. В качестве программатора я использовал Arduino Uno. Как известно, прошивка производится через отдельный разъем ICSP, который есть почти на всех платах. В случае прошивки Arduino Pro Mini, у которого нет IСSP, подключение производится непосредственно к выводам.

Где взять загрузчик, который поддерживает watchdog?

Эта глава напоминает танцы с бубном и скорее всего можно сделать все как-то проще, но, увы, у меня по-другому не получилось.

Рекомендуется использовать загрузчики из пакета optiboot. В принципе, эти загрузчики идут в инсталляции самой платформы Arduino, но лучше скачать и установить последнюю версию optiboot отсюда. Установка заключается в двух шагах (возможно, это можно сделать как-то по-другому):

  1. Папка bootloaders\optiboot перезаписывается в C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot
  2. Файл boards.txt дописывается к файлу C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt

Естественно, папка установки платформы Arduino у вас может быть другой.

Далее перегружается среда разработки и в меню Сервис/Плата можно наблюдать новые платы с пометкой [optiboot]. К сожалению, при выборе этих плат происходят какие-то непонятные ошибки компиляции и появляются всякие другие странности… поэтому делаем еще проще. Открываем в любом текстовом редакторе файл C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt и меняем следующие строчки:

Для Arduino Nano:
menu.cpu.nano.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex

Для Arduino Mini:
menu.cpu.mini.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex

Следующая проблема в том, что загрузчика optiboot для платы Arduino Mega не существует в природе, т.к. в Mega больше памяти и используется другой протокол. Поэтому мы используем стандартный, но модифицированный загрузчик, который качаем отсюда. Файл переименовываем в stk500boot_v2_mega2560_2.hex и записываем в папку C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\stk500v2.

Далее меняем в уже знакомом файле boards.txt следующую строчку:
mega2560.bootloader.file=stk500v2/stk500boot_v2_mega2560_2.hex

Не пугайтесь, что файл модифицированной прошивки для Mega в 2 раза меньше стандартного — так вроде бы должно быть.

Процесс прошивки

После всех изменений можно прошивать загрузчики, выбирая в меню плат обычные платы (не [optiboot]!). В этом случае прошиваться будут именно те файлы hex, которые мы указали в файле board.txt.
Процесс прошивки может не стартовать и выдаваться ошибка:

Для решения этой проблемы откройте скетч программатора и в секции setup выберите другую скорость последовательного порта.
Во время заливки в Arduino Mega может появляться ошибка, которую следует игнорировать:

Заключительные манипуляции

Загрузчики optiboot имеют еще одну особенность — они увеличивают скорость загрузки скетчей, поэтому при использовании плат с optiboot нужно внести соответствующие изменения в boards.txt:

Для Arduino Nano:
menu.cpu.nano.atmega328.upload.speed=115200
Для Arduino Mini:
menu.cpu.mini.atmega328.upload.speed=115200

Предыдущую скорость порта лучше тоже запомнить, т.к. ее нужно будет использовать на платах со стандартными загрузчиками. Если такие изменения не сделать, то процессе заливки скетчей будет выдаваться ошибка, типа такой:

Как отключить клавишу Fn [Решено/Закрыто]


Как мне отключить клавишу Fn? На форумах я читал, что нужно нажать одновременно fn + scrl lock и fn + num. А если у меня на клавиатуре нет таких клавиш?
Спасибо.

1 ответ

Отключить клавишу Fn (или Windows) можно с помощью редактора реестра:
— Запустите редактор реестра (можно нажать клавиши Win+R и ввести regedit),
— Перейдите к разделу (папки слева) HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Keyboard Layout,
— Кликните в правой части редактора реестра правой кнопкой мыши и выберите в контекстном меню «Создать» — «Двоичный параметр», а затем введите его имя — Scancode Map,
— Дважды кликните по этому параметру и введите значение:00000000000000000300000000005BE000005CE000000000
Закройте редактор реестра и перезагрузите компьютер.
Клавиша Fn перестанет работать.
В дальнейшем, если Вам снова потребуется ее включить, просто удалите параметр Scancode Map в том же разделе реестра и перезагрузите компьютер.

Несколько слов благодарности всегда очень кстати. Добавить комментарий

220 пользователей сказали нам «спасибо» в этом месяце

Dos fn 2eh: установить/сбросить переключатель верификации

Как переключить раскладку в DOS приложении (библиотечная БД MARK 3)?

При работе в винде все нормально переключается, при работе в cmd.exe тоже проблем нету.

Запускаю программу — она упорно набирает текст на английском, игнорируя язык в системе.

Набираю текст в notepad, вставляю в прогу — все равно в английской раскладке.

Под XP все работало, переключалось ctrl+shift справа, теперь не робит (((

Режим совместимости не помогает.

Ответы

  • Помечено в качестве ответа Vinokurov Yuriy Moderator 16 сентября 2009 г. 9:07

Все ответы

Найдите старые переключатели. То ли ruskey, то ли kbrus. Не помню уже. Так вот, когда найдете, создайте бат файл, который запускает сначала руссификатор, а потом Вашу программу.

Вам ответили? Нажмите на

  • Помечено в качестве ответа Vinokurov Yuriy Moderator 16 сентября 2009 г. 9:07

Да можете не добавлять. Кто бы Вас заставил-то? =)

Вам дали полезный ответ? Нажмите на

Извините.Очень прошу Вас ответить.Правильно ли записана команда в Autoexec.nt?

Дело в том что у меня DOS программа на основе FoxPro и я не могу переключить на клавиатуре шрифт ввода с латиницы на кирилицу. Заранее благодарен.Ниже привожу текст файла autoexec.nt

@echo off
lh %SystemRoot%\system32\mscdexnt.exe
lh %SystemRoot%\system32\redir
lh %SystemRoot%\system32\dosx
PATH C:\FOX_SYS;C:\ACT

LH KB16 RU /E

Евгений, прокомментируйте, пожалуйста.

Уважаемые знатоки.Есть проблема.DOS приложение на основе FoxPro. Во всех предыдущих Win системах раскладка клавиатуры с латиницы на кирилицу переключалась shift+ctrl. В висте это не работает.Что и как нужно сделать?Читал что надо записать команду LH KB16 RU /E в файл C:\Windows\System32\Autoexec.NT Что это за команда?Что она исполняет?Где находится exe-шник?

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

@echo off
lh %SystemRoot%\system32\mscdexnt.exe
lh %SystemRoot%\system32\redir

lh %SystemRoot%\system32\dosx
PATH C:\FOX_SYS;C:\ACT

Но и после изменения переключение не работает.Что делать? Кто знает прошу ответить. Заранее благодарен.

Всем спасибо.Тема закрыта.Просто после изменения в autoexec надо перегрузится. Переключения раскладки вернулись к прежнему виду.

Как на ноутбуке отключить Fn на клавиатуре

Один из моих знакомых недавно купил ноутбук компании Hewlett-Packard. Модель очень удачная и относительно недорогая. Хотя сначала долго привыкал к другому расположению клавиатурной раскладки (до этого он много лет пользовался лэптопом Lenovo).

Но была одна проблема – вместо функциональных клавиш F1-F2 срабатывали их аналоги, которые должны активироваться только после нажатия Fn. Пришлось разбираться, как отключить кнопку Fn на ноутбуке HP. Решение расскажу в продолжении статьи.

Что это за кнопка такая?

Чтобы не выделять дополнительное место для расположения клавиш управления звуком, беспроводными модулями, тачпадом и т.д., разработчики компактных ПК единогласно решили использовать комбинацию функциональных клавиш с одновременно нажатой Fn, чтобы выполнять те или иные действия. В принципе, всё правильно. Но иногда возникают разные неприятности.

К примеру, вместо того, чтобы развернуть окно браузера на весь экран, нажатие F11 на клавиатуре приводит к отключению звука. И можно не сразу определить причину «поломки», а потратить время на поиски решения.

Способ отключения

Придется проявить особую внимательность при прочтении дальнейшей инструкции, так как нам придется иметь дело с БИОС.

  • Чтобы зайти в BIOS, следует сразу же после включения ноутбука нажать F10 или Esc (зависит от устройства). Пробуйте!
  • Теперь нужно найти раздел системной конфигурации «System Configuration», в котором есть пункт «Action Keys Mode». В нем нужно выбрать опцию «Отключено» (Disabled).
  • Теперь выходим из БИОСа, предварительно сохранив настройки. Для этого жмём F10 , а потом клавишу «Y» (от английского Yes).
  • Запускаем Windows и проверяем, как работают функциональные клавиши.

Моему знакомому этот способ помог. Кстати, он срабатывает и для ноутбуков Packard Bell.

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

Для Asus и Samsung инструкция очень простая, но опыт показывает, что есть конкретные модели, для которых способ не срабатывает. Нужно пробовать. Попытайтесь нажать следующие комбинации:

  • Fn + NumLk (последняя отвечает за активацию цифровой клавиатуры);
  • Fn + Insert (еще может называться Ins);
  • Fn + F11 / F12 (тестируйте оба варианта);
  • Иногда помогает просто нажатие NumLk (что весьма странно).

Кстати, первый пункт из этого списка может быть полезен владельцам ноутов Fujitsu и Acer.

Автор рекомендует:

Переходим к компьютерам фирмы Toshiba. В большинстве случаев подобных неприятностей с ними не случается. Но был в моей практике случай, когда клавиша Fn вообще жила своей жизнью и сама решала, когда её работать, а когда – нет.

Лучшим вариантом станет установка «маленькой» утилиты HDD Protection. Казалось бы, при чем тут защита жесткого диска. Но если перейти в раздел программы «Оптимизация» и кликнуть по «Специальным возможностям», то появится окошко с опциями. Именно здесь нужно деактивировать Fn, сняв отметку с соответствующего пункта. Осталось только сохранить все изменения, а компьютер можно даже не перезагружать.

В этой статье я рассказал почти обо всех брендах. Забыл упомянуть Dell. Честно говоря, ни разу не встречал в сети жалоб на этого производителя (по данному вопросу). Но если у Вас особый случай, рекомендую испробовать вышеперечисленные методы. Если же инструкция не поможет, жду Ваши комменты для дальнейшего разбирательства.

Надеюсь, я не зря потратил несколько часов времени на написание этой статьи. Если она Вам была полезна, лучшей благодарностью станет репост в социальные сети. А вдруг Вашим знакомым эта информация тоже пригодится?

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL