реклама на сайте
подробности

 
 
> поменять местами биты в байте, простой вопрос
Vny4ek
сообщение Apr 25 2010, 19:34
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Ребят подскажите плиз как реализовать ума не приложу.
принимаю данные с шины и с первого байта приходящего забиваю в буфер
например буфер байт temp[4]={0x72,0x8C,0x23,0x6B};
потом в ходе выполнения программы оказывается нужно еще эти биты использовать но не слева направа формировать из бит байт а справа на лево
например 0х72=01110010b у меня первый байт принятый, а нужно что бы он стал последним, тоесть взять данные и записать их например в другой массив, но использовать биты не слева направо а справа налево тоесть эти биты 0х72=01110010b которые у меня были первыми на самом деле сформировывать должны последний байт и получается 0х9С. Переписывать процедуру приема можно конечно но мне нужно и так и так. Как проще сделать подскажите пожалуста. Пишу на Си для кодвижен
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff Jr.
сообщение Apr 28 2010, 13:56
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 568
Регистрация: 8-07-07
Из: Занзибар
Пользователь №: 28 964



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

Я например не могу объяснить своему начальнику, что такого прекрасного в экономии 256 бит памяти на начальном этапе разработке. А уж тем более почему я потратил на это половину своего рабочего дня. smile.gif
Цитата(sigmaN @ Apr 28 2010, 06:55) *
Вот приучится в тупую делать простые вещи и так и будет по табличке всю жизнь.

А Вы думаете, что большинство делает иначе?
Цитата(sigmaN @ Apr 28 2010, 06:55) *
Понятно, что оптимизация просто ради оптимизации - никому не нужна. Но тут другой разговор идет.
AVR - это всё таки не PC и разбрасываться ресурсами(а в конечном итоге и деньгами) ИМХО не стОит.
И что плохого, если люди вступили в дискуссию и пытаются создать максимально оптимальный код под задачу?
Лично я ничего плохого не вижу в этом. Вон с 13 тактов уже на 11 переползли. Может быть некоторые бы и до конца жизни не знали, что это возможно )))))))

И флаг Вам в руки, когда вы с такой привычкой реализуете что-нибудь на меге 128, а другой разработчик сделает тоже самое на тиньке какой-нибудь вшивой smile.gif

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

Сколько времени у Вас уйдет, чтобы переписать этот код на ассемблере для другого Вам неизвестного ранее мк? А при этом Вы профессионал своего дела, а новичек скорее пойдет в соседний форум и найдет там как раз самое просто решение и использует его. biggrin.gif


--------------------
"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 28 2010, 14:11
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sergeeff Jr. @ Apr 28 2010, 15:56) *
Я например не могу объяснить своему начальнику, что такого прекрасного в экономии 256 бит памяти

256 Байт.
Цитата
А уж тем более почему я потратил на это половину своего рабочего дня. smile.gif

А этот уже страшно sad.gif. На эту задачу на 'C' надо тратить 10 минут, даже если ночью разбудить. Набивать таблицу на 256 байт дольше и ошибиться легче.
При этом на 'C', если чуть чуть думать, это будет достаточно портируемый вариант.
Цитата
Сколько времени у Вас уйдет, чтобы переписать этот код на ассемблере для другого Вам неизвестного ранее мк?

Спокойнее, как выяснилось, писать на ассемблере практически бесполезно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vny4ek   поменять местами биты в байте   Apr 25 2010, 19:34
- - zltigo   Цитата(Vny4ek @ Apr 25 2010, 21:34) 0х72=...   Apr 25 2010, 19:45
|- - aaarrr   Цитата(zltigo @ Apr 25 2010, 23:45) Не хи...   Apr 25 2010, 19:47
- - ASN   Vny4ek тут есть   Apr 25 2010, 19:53
- - Vny4ek   я это вижу как цикл на 8 шагов где проверяется зна...   Apr 25 2010, 20:04
- - baralgin   Сумбурное описание, но если правильно понял то тип...   Apr 25 2010, 20:04
|- - demiurg_spb   Если вопрос звучал так: "Как зеркалить биты в...   Apr 25 2010, 20:53
- - KRS   IMHO цикл тут неоптимален. Можно же стандартный сп...   Apr 25 2010, 20:46
- - baralgin   Цитата(KRS @ Apr 25 2010, 23:46) Можно же...   Apr 25 2010, 20:57
|- - zltigo   Цитата(baralgin @ Apr 25 2010, 22:57) Цик...   Apr 25 2010, 21:12
- - baralgin   Не поленился, проверил (плохая привычка меряться.....   Apr 25 2010, 21:55
|- - zltigo   Цитата(baralgin @ Apr 25 2010, 23:55) Не ...   Apr 25 2010, 22:04
|- - KRS   Цитата(baralgin @ Apr 26 2010, 01:55) ps:...   Apr 25 2010, 22:07
- - baralgin   Цитата(zltigo @ Apr 26 2010, 01:04) Сильн...   Apr 25 2010, 22:31
- - Vny4ek   я проще себе это представлял, не знаю только как н...   Apr 26 2010, 05:33
|- - zltigo   Цитата(Vny4ek @ Apr 26 2010, 07:33) я про...   Apr 26 2010, 06:58
- - KRS   Для AVR все равно быстрее так Кодuint8_t rsb(u...   Apr 26 2010, 07:56
|- - zltigo   Цитата(KRS @ Apr 26 2010, 09:56) Для AVR ...   Apr 26 2010, 08:14
|- - demiurg_spb   Цитата(KRS @ Apr 26 2010, 11:56) Даже есл...   Apr 26 2010, 20:59
||- - MrYuran   Цитата(demiurg_spb @ Apr 27 2010, 00:59) ...   Apr 27 2010, 09:06
|- - x736C   Цитата(KRS @ Apr 26 2010, 11:56) Для AVR ...   Apr 27 2010, 01:53
|- - singlskv   Цитата(x736C @ Apr 27 2010, 05:53) С перв...   Apr 27 2010, 20:58
|- - x736C   Цитата(singlskv @ Apr 28 2010, 00:58) у В...   Apr 28 2010, 00:36
|- - singlskv   Цитата(x736C @ Apr 28 2010, 04:36) Перепр...   Apr 28 2010, 08:03
- - Vny4ek   ЦитатаВсе плохо, Вы, как оказалось, не только напи...   Apr 26 2010, 17:12
|- - smac   Цитата(Vny4ek @ Apr 26 2010, 21:12) Инфы ...   Apr 26 2010, 19:45
- - sigmaN   Vny4ek вот как-то так: установить бит в байтеКодb ...   Apr 26 2010, 19:55
- - Vny4ek   sigmaN, спасибо большое. То что написали после вас...   Apr 27 2010, 05:02
|- - zltigo   Цитата(Vny4ek @ Apr 27 2010, 07:02) sigma...   Apr 27 2010, 07:35
- - sergeeff Jr.   Я по простому сделал (как и сказали, при помощи та...   Apr 27 2010, 06:15
- - akl   Может.   Apr 27 2010, 09:16
- - sergeeff Jr.   Блин крутые специалисты, вы проблему решаете или п...   Apr 27 2010, 22:55
|- - aaarrr   Цитата(sergeeff Jr. @ Apr 28 2010, 02:55)...   Apr 27 2010, 23:29
- - sergeeff Jr.   Я решаю задачи (взяв AVR с большим количеством пам...   Apr 28 2010, 00:09
|- - aaarrr   Цитата(sergeeff Jr. @ Apr 28 2010, 04:09)...   Apr 28 2010, 00:22
- - sigmaN   ЦитатаА во вторых человек настолько хреново разбир...   Apr 28 2010, 02:55
|- - ASN   sergeeff Jr Тут речь не оптимизации ради оптимизац...   Apr 28 2010, 15:21
- - x736C   Да, облажался. Мне показалось, АВР делает цикличес...   Apr 28 2010, 09:04
|- - aaarrr   Цитата(sergeeff Jr. @ Apr 28 2010, 17:56)...   Apr 28 2010, 14:13
- - sergeeff Jr.   Байт конечно, очепятался я. Я не говорил, что я н...   Apr 28 2010, 16:49
|- - KRS   Цитата(sergeeff Jr. @ Apr 28 2010, 20:49)...   Apr 28 2010, 22:11
- - sergeeff   Если обратите внимание, в последних книгах по прог...   Apr 28 2010, 17:35
- - aaarrr   Цитата(sergeeff Jr. @ Apr 28 2010, 20:49)...   Apr 28 2010, 18:05
- - sergeeff   Это все на тему - сделать работоспособное устройст...   Apr 28 2010, 20:41
- - Vny4ek   Всем большое спасибо за помощь. Сам понимаю что ту...   Apr 30 2010, 06:27


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 17:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01437 секунд с 7
ELECTRONIX ©2004-2016