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

 
 
> SAM3 SPI поменять порядок бит
Aal6
сообщение Jan 22 2013, 16:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-03-06
Пользователь №: 14 880



Озадачен невозможностью сменить порядок вывод битов по SPI c MSB->LSB наоборот.

Нет какой-либо возможности быстро перекинуть биты в байте без пересчета софтом?

В задаче нужно загружать буфер со сменой направления отображения, порядка 8МБит/с. Усугубляет проблему не умение PDC выдавать данные с декрементом указателя.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Jan 23 2013, 19:19
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Если гасить единички по одной (начиная с младшей), то и clz не нужен (это называется «Brian Kernighan's way»):
Код
uint_fast8_t cnt_1(uint32_t val)
{
        uint_fast8_t cnt = 0;
        while (val) {
                ++cnt;
                val &= (val-1);
        }
        return cnt;
}


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


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 05:40
Рейтинг@Mail.ru


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