Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Linux для начинающих

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.01.2014, 00:46   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Нужна помощь программистов

Подскажите может кто в курсе, есть ли в openwrt стандартная функция или где то в конфигах нужно поправить?
Мне требуется что бы роутер изменил представление о хранении данных в памяти с “Big-endian” на представление о общепринятом виде “Little-endian”
Миниатюры
Нажмите на изображение для увеличения
Название: 111.png
Просмотров: 419
Размер:	14.7 Кб
ID:	1434  
Admin вне форума   Ответить с цитированием
Старый 10.01.2014, 14:56   #2
m.maslyukov
Junior Member
 
Регистрация: 09.01.2014
Сообщений: 5
Вес репутации: 0
m.maslyukov is an unknown quantity at this point
По умолчанию Re: Нужна помощь программистов

Порядок байт, исключительно зависит от архитектуры процессора, и нет никаких конфигов. Для конвертирования порядка байт в памяти существуют несколько С функций, 16 битные: htons, ntohs и 32 битные: htonl, ntohl. Более подробно тут http://www.gnu.org/software/libc/man...yte-Order.html
m.maslyukov вне форума   Ответить с цитированием
Старый 10.01.2014, 15:22   #3
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Нужна помощь программистов

Спасибо!
Мне пришлось написать свой конвертер
Admin вне форума   Ответить с цитированием
Старый 10.01.2014, 15:41   #4
SilverSwift
Senior Member
 
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0
SilverSwift is an unknown quantity at this point
По умолчанию Re: Нужна помощь программистов

TP-link 3020 на mips контроллере собран, в нем возможно переключать порядок байт. На практике никогда этим не занимался, глюков при переключении может быть вагон. Лучше хранить данные в контейнерах не зависящих от порядка байт.

И ни в коем случае не использовать битовые поля, особенно размерностью по 5-7 бит, особенно на мипсе, особенно для передачи по уарту, особенно на машину с другим порядком байт. Шутка
SilverSwift вне форума   Ответить с цитированием
Старый 10.01.2014, 17:12   #5
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Нужна помощь программистов

Если читать потоковые данные(звук, видео), то конвертер уже не стоит использовать
Так что вопрос открыт.
Admin вне форума   Ответить с цитированием
Старый 10.01.2014, 17:25   #6
Dioptimizer
Senior Member
 
Регистрация: 17.02.2013
Адрес: Харьков
Сообщений: 235
Вес репутации: 689
Dioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond repute
По умолчанию Re: Нужна помощь программистов

Admin
Цитата:
Если читать потоковые данные(звук, видео)...
USB устройство пишет в память в Big-endian формате, правильно?
При этом читает, отображает, воспроизводит нормально, уже в Little-endian?
Dioptimizer вне форума   Ответить с цитированием
Старый 10.01.2014, 17:48   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Нужна помощь программистов

Я на потоке еще не проверял
Проверял только на заполнении массива из переменных
В итоге получил фаил с неправильными данными
Но что будет если я
буду читать поток в переменную типа unsigned short, сохраняю в массив, а массив сохраню в фаил ?
Admin вне форума   Ответить с цитированием
Старый 10.01.2014, 17:55   #8
SilverSwift
Senior Member
 
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0
SilverSwift is an unknown quantity at this point
По умолчанию Re: Нужна помощь программистов

Данные от драйвера в void и с помощью memcpy в файл или в память. Если в риалтайме не успевает выполниться, то конвертация и любая другая обработка выполняется после получения всех данных.
unsigned short - 2 байта, будет херня.
SilverSwift вне форума   Ответить с цитированием
Старый 10.01.2014, 18:18   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Нужна помощь программистов

Сначала в массив, потом в фаил или stdout
Admin вне форума   Ответить с цитированием
Старый 10.01.2014, 18:33   #10
SilverSwift
Senior Member
 
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0
SilverSwift is an unknown quantity at this point
По умолчанию Re: Нужна помощь программистов

Звук и видео в консоль?

Что надо сделать, какая задача? Обрабатывать данные на роутере? Тогда порядок байтов не важен. Драйвер сам все отдаст в том порядке который нужен роутеру (при условии что драйвер существует и установлен).

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

Запись данных куда бы то ни было кусками по 2 байта конвертацией не является.
SilverSwift вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 20:47. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика