Пример кода Цепи фазовой синхронизации программного обеспечения необходим

Насколько я знаю, стандартной функции для этого нет, но ее можно достичь следующим образом:

#include <stdio.h>

int main(int argc, char **argv) {
    const char hexstring[] = "DEadbeef10203040b00b1e50", *pos = hexstring;
    unsigned char val[12];

     /* WARNING: no sanitization or error-checking whatsoever */
    for (size_t count = 0; count < sizeof val/sizeof *val; count++) {
        sscanf(pos, "%2hhx", &val[count]);
        pos += 2;
    }

    printf("0x");
    for(size_t count = 0; count < sizeof val/sizeof *val; count++)
        printf("%02x", val[count]);
    printf("\n");

    return 0;
}

Изменить

As Al указал, что в случае нечетного числа шестнадцатеричных цифр в строке вам нужно убедиться, что вы префикс его с началом 0. Например, строка "f00f5" будет ошибочно оценена как {0xf0, 0x0f, 0x05} в приведенном выше примере, вместо правильного {0x0f, 0x00, 0xf5}.

Немного изменил пример, чтобы ответить на комментарий @MassimoCallegari

7
задан IanW 2 September 2008 в 13:18
поделиться

2 ответа

Это - интерактивный пакет дизайна для разработки цифрового (т.е. программное обеспечение) цепи фазовой синхронизации (PLLs). Заполните форму и нажмите 'кнопку 'Submit '', и PLL будет разработан для Вас.

Интерактивный цифровой дизайн цепи фазовой синхронизации

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

- Adam

2
ответ дан 6 December 2019 в 12:56
поделиться

Имеют Matlab с Simulink? Существуют файлы демонстрации PLL, доступные в Matlab, Центральном здесь. Возможности генерации кода Matlab могли бы получить Вас оттуда к PLL, записанному в C.

1
ответ дан 6 December 2019 в 12:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: