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

 
 
> STM32 Процедура вычисления CRC32, без использования CRC engine
nanorobot
сообщение Sep 27 2016, 17:23
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Огромная просьба, поделитесь табличной процедурой вычисления CRC32, совместимой с блоком аппаратного вычисления CRC32 STM32Fxx
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Sep 28 2016, 00:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(nanorobot @ Sep 27 2016, 23:23) *
Огромная просьба, поделитесь табличной процедурой вычисления CRC32, совместимой с блоком аппаратного вычисления CRC32 STM32Fxx
Вот тут у меня пара утилит, которые генерят и таблицы и функции


--------------------
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 28 2016, 05:59
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Не табличный, но точно рабочий:
Код
/**
* Calculate STM32-compatible crc32 of buffer.
* @param buf buffer. Should be 4-byte aligned.
* @param len buffer size (in 4-byte words)
* @return calculated crc32
*/
uint32_t Crc32Stm32(void const* buf, size_t len)
{
    uint32_t crc = 0xFFFFFFFF;
    uint32_t const * p = reinterpret_cast<uint32_t const *>(buf);

    for (size_t j = 0; j < len; ++j)
    {
        crc = crc ^ p[j];

        for (uint8_t i = 0; i < 32; i++)
            if (crc & 0x80000000)
                crc = (crc << 1) ^ 0x04C11DB7;
            else
                crc = (crc << 1);
    }
    return crc;
}


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post



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

 


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


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