Результаты поиска по запросу «

в бите 8 байт

»

Запрос:
Создатель поста:
Теги (через запятую):



бомбит бит байт 

1И9Н09,бомбит,бит,байт

Развернуть

Отличный комментарий!

Килобомбит
Pangolin Pangolin10.03.201713:04ссылка
+39.0

хоб бит байт фильмы. 

1 ХОББИТ,хоб,бит,байт,фильмы.
Развернуть

музыка video анимация 8 bit песочница 

8 бит

8 бейсбольных бит равны 1 бейсбольному байту
Развернуть

z80 zx spectrum 8 bit zx basic coub 

Развернуть

8 бейсбольных бит оригинальный контент 

8 бейсбольных бит,оригинальный контент
Развернуть

гифки Pixel Art 8 bit Игры 

Развернуть

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

Ф'©'081 %» 23:48 .||| ^ <- Чат Почему написано 4 Р за 1 МБайт, а на самом деле 40 Р за 40 КБайт? Может быть я что-то не понимаю? ^Н^^^Хочу'разобраться 23:05 МБайт - это милли байт Александра, 23:08 Благодарю вас за обращение, всего доброго, до свидания! □ Александра, 23:12 Порекомендуете
Развернуть

Отличный комментарий!

Shirashi Shirashi01.07.202400:08ссылка
-85.0
Международной системой СИ. Сколько много открытий можно найти, если посещать школьные занятия
BastinFlucke BastinFlucke01.07.202400:12ссылка
+85.8

реактор помоги электроника песочница пидоры помогите 

Пытаюсь получить сингал который передаётся от arduino на PC по UART (USB)

Пытаюсь получить а получаю какую-то адскую ёбань. Я прошерстил ни одну статью по тому что и как передаётся в UARTе, но то что у меня, это непостижимо моим умом.

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

Осциллограф подключён следующим образом. CH1 между землёй и зелёным пином , CH2 между землёй и белым пином USB. 

Receptacle (F) Розетка Plug (M) Вилка,реактор помоги,электроника,песочница,пидоры помогите,реактор помоги

Само usb идёт от компьютера (в заднюю панель) к arduino due (programming port), в середине есть вот такая распайка, что бы можно было приконектиться щупами. Скорость передачи стоит 9600bod.

реактор помоги,электроника,песочница,пидоры помогите,реактор помоги


Должно быть вот так .

передача байта » Г"- со ю со см о г 4 Р 4 ► 4 ► / \ \ / ожидание стартовый бит биты данных стоп бит,реактор помоги,электроника,песочница,пидоры помогите,реактор помоги

Вот осциллограмма получаемая с Атакома АСК-2035 (взял его что бы исключить вариант, в котором usb осциллограф - портит). 

Ifllél»IXJ imrmiindwm ШНШНвзм/», UflMRMWII 0S W П00 ■ I ......тщ/Ё/щй iWÍ-t'Wd-Xd u no ЮЯОЧС10А 3*“( ílu 'H Л00>Л9 llUHlUllifíiHi '""IIIIIIIIIIIIIIIH nys Hini * 1 *l| ’"Mil ими ■ НИН Il |1НН|1ИЩШу|||. sum, Il lllliMliiâii. " «•MIIIIIIIIII,реактор

Передаю я здесь... ничего. Просто цикл в котором ничего не происходит. Но как видим некие сигналы передаются.

Вот осциллограмма с USB осциллографа Hantek6022BE. (параметры взял те же что и на атакоме, для наглядности. но опять таки что это за такие сигналы я никак не могу понять. Где тут вычленить байт вообще не ясно.

0 beta PR16c Zoom: 1 nel Trigger Horizontal Cursor Display Acquire Utility ~ a ¡a o o A fflQ® _____I-----1----1-----1-----1----1-----1---~ T------. Ofl - 2.00V CH2 - 2.00V TR1 - O.Omv TR2 - O.Omv; о X Horizontal Time/DlV 500.0ns V Format YT V AC Couple* □ Invert ACCouple* I I Invert

Тут я поменял параметры отображения и вывожу байт (от 0 до 255) с каждым выводом увеличивая его.

STOP j Hfflov Horizontal > Time/DlV 100. Ous Format YT ^ AC Couple* □ Invert AC Couple* | | Invert,реактор помоги,электроника,песочница,пидоры помогите,реактор помоги

поставил такие временные промежутки что бы сравнить с одним человеком из статьи по работе с UART у него это выглядело так 

У Сигнал 11АРТ на экране осциллографа. Виден старт бит данные и стоповый бит Спасибо @01НА1_Тза картинку,реактор помоги,электроника,песочница,пидоры помогите,реактор помоги

Если выставить 500us то картина будет выглядеть вот так. Где тут мой байт, чёрт знает. 

■B upenouzzoc vi.u Deia Kruoczoom: i File View Channel Trigger Horizontal Cursor Display Acquire Utility Help B ¡3 O O 5 STOP I—r Horizontal Time/DlV 500. Ous Format YT v xl AC Couple* Invert Probe Vertical 0 Enabled CHI Volt/DIV 2.00 V v 0 Enabled CH2 v AC Couple* | |

Я также пробовал подключиться к ntive port arduino due и там картина выглядела следующим образом. По моим расчётам тут показан интервал (от края до края) в 1ms и за это время должно передаться примерно 10 бит. Опять таки вопрос, где тут 10 бит? 

llfflë/UW 100.Ous Format Vertical PI Enabled CH1 □ AC Couple x □ Invert 0 Enabled CH2 v Volt/DIV 200mV ^ Probe xl v AC Couple* Invert,реактор помоги,электроника,песочница,пидоры помогите,реактор помоги

При этом всё передаётся на компьютер и serialPort в arduinoIDE сообщает что всё выводится. 

Output Serial Monitor x IIH o » Message (Ctrl + Enter to send message to 'Arduino Due (Native USB Port)’ on ’COM3') New Line w 9600 baud LJLJLJ1—11—JL-I—K—11—11—JL-I—lt—K—II—JLJLJt—K—I 1 "«<4 ' “t,-./ UliJIOO 1021 üniUrUJMIürVRO 1 U VOTA. X £. L \J CLUL;UCJ.ynXJ JllUIlUpqiSLUVWXyZ l I J ~UL

Я совсем не пойму в чём дело.

Развернуть

программирование geek OSDev Операционная система ассемблер разработка длиннопост 

ОСдев №10: основной загрузчик, часть 3. GDT.

Подготовительный этап закончен, можно приступать к интересному. Кроме собственно загрузки файлов наша программа должна подготовить для ОС рабочую среду. Это значит: переключить процессор в 32/64-битный режим, настроить таблицу прерываний и создать базовую GDT. Сегодня разберёмся с последним пунктом.

GDT - сокращение от Global Descriptor Table, глобальной таблицы дескрипторов. Что это такое? По сути - набор записей одинакового формата, описывающих области памяти и разрешения, которые они имеют. Упрощённо это выглядит так:

//область 0

адрес области

размер области

параметры доступа

флаги

//область 1

адрес области

размер области

параметры доступа

флаги

...

В 32/64-битном режиме дескрипторные таблицы используются вместо старой схемы адресации сегмент:смещение. Зачем? Сегмент:смещение - небезопасная технология, которая позволяет переписать любой участок памяти. Надо ли говорить, что при неосторожном обращении это легко может закончиться бедой? Дескрипторная таблица даёт возможность ограничить запись или выполнение кода в отдельных областях RAM. Дескрипторные таблицы появились как часть аппаратной защиты памяти вместе с 286 процессором.

Как это работает? После выхода из 16-битного режима процессор больше не принимает адреса в формате сегмент:смещение. Если попытаетесь так сделать - получите исключение GPT (General Protection Fault). Вместо этого в сегментном регистре процессор ожидает получить смещение дескриптора внутри ДТ. При этом для операций над этим сегментом будут действовать правила, указанные в дескрипторе. Например, попытка обратиться к памяти за пределами сегмента или запись в защищённый от записи сегмент будут вызывать исключения (кстати, про обработку исключений поговорим позже, пока давайте примем, что это фатальная ошибка, которая приведёт к остановке программы).

Кроме глобальной таблицы дескрипторов существуют ещё локальные (ЛДТ), TSS и таблицы дескрипторов прерываний (IDT). Для того, чтобы наша ОС могла начать работу, обязательно наличие только двух таблиц: GDT и IDT. Давайте теперь взглянем на GDT поподробнее. Скажу сразу, зрелище будет не очень приятное. Но начнём с лёгкого. Так как GDT - часть аппаратной схемы защиты памяти, у неё есть свой регистр: GDTR. Это 48-битный регистр, 4 байта которого предназначены для смещения GDT, а 2 - для её размера. Таким образом, GDT не может быть больше 65536 байтов в размере. Размер записи в GDT - 8 байтов, значит,< таблица может иметь максимум 8192 дескриптора. Зная всё это, хорошим тоном было бы сразу зарезервировать 64К под GDT, но в моей архитектуре ОС создаёт свои таблицы, так что сейчас я обойдусь минимумом. Минимум в данном случае - 3 дескриптора. Нулевой, сегмент кода и сегмент данных. Зачем отдельно выделять нулевой дескриптор? Дело в том, что обращение к нему в GDT приводит к, вы угадали, исключению. Это тоже своего рода мера предосторожности.

А теперь время взглянуть на структуру дескриптора. И тут, увы, наследие тяжёлого прошлого во всей красе. Ради обратной совместимости в кодом для старых процессоров дескриптор GDT превратили в кашу.

Первые два байта - это первые 16 битов границы сегмента.

Следующие три байта - первые 24 бита основания сегмента.

Следующий байт - параметры доступа. Рассмотрим ниже.

Следующий байт совмещает в себе биты 16-19 границы и флаги. Об этом тоже подробнее ниже.

Ну и последний байт - биты 24-31 основания.

Неудобно? Не то слово. Когда будем писать ядро - обязательно замутим процедуру для комфортной работы с этим месивом. К счастью, сейчас у нас статичная структура всего из трёх сегментов, так что заполнить можно и вручную. Создадим и подключим модуль GDT.inc. Как это сделать, мы рассматривали в прошлый раз. И добавим в него вот такую таблицу:

;Нулевой дескриптор, сЫ 00001л бы 00001л db 001л с1Ь 00000000Ь с1Ь 00000000Ь с!Ь 001л ¿Дескриптор сегмента бы 0РРРР1л с!ы 00001л с!Ь 001л дЬ 10011010Ь с!Ь 11001111Ь с!Ь 001л ¿Дескриптор сегмента бы 0РРРР1л бы 00001л с!Ь 001л 6Ь 10010010Ь 6Ь 11001111Ь с1Ь 001л ¿Биты 0-15 предела. ¿Биты 0-15


Это и есть наша GDT, ничего ужасного. Значения в нулевом дескрипторе для нас не важны, а вот остальные давайте рассмотрим подробнее. У нас есть два дескриптора: один - для кода, другой - для данных. Оба начинаются с 0 и занимают FFFFF*4Kib = 4Gib. Фактически это значит, что, начав работать, ОС сможет использовать всю память по своему усмотрению. Давайте теперь разберём параметры доступа и флаги.

Бит 1 - флаг чтения/записи. Его значение различается для сегментов кода и данных. Для сегментов кода установленный флаг означает, что чтение разрешено. Запись в сегменты кода запрещена всегда. Для сегментов данных установленный флаг означает, что разрешена запись. Чтение из сегментов данных

Таким образом, значение параметров доступа 10010010b даёт нам вот что: это сегмент данных, запись в него разрешена, сегмент растёт вверх, уровень привилегий - ring0. А теперь флаги. Биты 0-3 здесь заняты границей сегмента, не обращаем на них внимания.

Бит 4 зарезервирован и должен быть равен 0. Бит 5 указывает на 64-битный сегмент. Так как мы пока переходим в 32-битный, должен быть равен 0. Бит 6 указывает на 32-битный сегмент. Наш выбор, устанавливаем в 1. Бит 7 - гранулярность. Если равен 0, то значение границы сегмента используется как

Окей, теперь у нас есть GDT. Но как указать системе, что её нужно использовать? Процессор ведь не дурак, сам искать не станет. Всё просто, джентльмены из IBM в кои-то веки о нас позаботились. При помощи специальной ассемблерной команды lgdt (load GDT) мы можем передать в регистр GDTR линейный адрес таблицы и её размер. Для этого добавим перед GDT такую структуру:

60ТК_р1:г: dы 00171п ;Размер таблицы - 1 (23 байта). dd 00000000И ;Абсолютный адрес таблицы.,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,OSDev,Операционная система,ассемблер,разработка,длиннопост

Размер таблицы мы уже знаем, а вот адрес придётся посчитать, так что пока оставим 0 и напишем процедуру инициализации GDT:

init_GDT ргос init_GDT endp push eax pushfd xor eax,eax mov ax,offset GDT add eax,00000500h mov dword ptr [GDTR_ptr+2],eax cli lgdt pword ptr GDTR_ptr sti popfd pop eax ret,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,OSDev,Операционная

На случай, если тут не всё очевидно, поясню. Мы помещаем в EAX смещение GDT относительно сегмента, а потом добавляем адрес сегмента*16. Это и есть линейный адрес, сохраняем его в структуре. После этого отключаем прерывания, передаём структуру процессору командой lgdt и включаем прерывания обратно. По идее прерывания можно не трогать, так как в 16-битном режиме GDT не используется, но я перестраховщик.

Собственно, на этом всё. Добавьте вызов init_GDT в конец загрузчика перед cli и дело в шляпе. Сегодня без картинки, но вот вам котик.

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

Чистая дискета: https://drive.google.com/file/d/1Bold4ds8oEruHQ7fJZKHglVo7A2Vc5MR/view?
Предыдущие части:
Развернуть

baalbuddy artist Комиксы без перевода рождество Эльфийка Elf Fantasy race fest смешные комиксы ...праздник 

baalbuddy,artist,Смешные комиксы,веб-комиксы с юмором и их переводы,без перевода,рождество,праздник,Эльфийка,Elf,Эльф,Fantasy race,fest,BB's drawings,artist,comics,,fest,,elf,Fantasy race,смешные комиксы

'Twas the night before Christmas, when all through the house «*# 1 «T jyf . (»#T ,(<f f "Hi wvMm rr not a creature was stirring, ;l 4000H00*' «»wiewiMwMwww*»«*» nw*****' .y* yrfj*^ ' -r», yg&*.o‘WViWfwm™ i **mw* X' i\ # Iw j#' U‘ •’v !| ‘I

baalbuddy,artist,Смешные комиксы,веб-комиксы с юмором и их переводы,без перевода,рождество,праздник,Эльфийка,Elf,Эльф,Fantasy race,fest,BB's drawings,artist,comics,,fest,,elf,Fantasy race,смешные комиксы

Развернуть
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме в бите 8 байт (+1000 картинок)