Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.

Поиск:

Тип: Сообщения; Пользователь: veso74

Страница 1 из 25 1 2 3 4

Поиск: На поиск затрачено 0.03 сек.

  1. Ответов
    725
    Просмотров
    170,608
    Осваивая работу своего логического анализатора, подключенного в данном случае к I2c для синтезатора с ATtiny13A и Si5351A, достиг интересного момента.

    В процессе оптимизации кода ATtiny13A ->...
  2. Ответов
    725
    Просмотров
    170,608
    Частота зарядки I2c Auto Address Increment быстрее на ~2 раза (на той же частоте шини) (regs: 26..33, 42..49).

    Ниже: включил лог. анализатор специально для Вас:
    PIC12F1572, HW I2c, 100 kHz...
  3. Ответов
    725
    Просмотров
    170,608
    Посм. I2c Auto Address Increment

    Растет обем flash, но згружает частоту Si быстрее (без start, address ... stop на всех байтах, a только один раз для массива с данными, расположенными по...
  4. Ответов
    725
    Просмотров
    170,608
    Да. Для конкретного случая получилось: странно. А находил и другие такие действия в математических выражениях. Думаю, для ATtiny13A сильно переработали, с большим количеством допусков из-за...
  5. Ответов
    725
    Просмотров
    170,608
    Поэтому: пишем код, чтобы работало :). А если нужно что-то конкретное (как в этом случае: маленький объём, или высокая скорость, отсутствие конфликтов и т.п.), то начинается оптимизация, поиск...
  6. Ответов
    725
    Просмотров
    170,608
    PIC: никакой разницы (худший вариант - больше объема). Arduino: выровнени: 1414 байт :).
  7. Ответов
    725
    Просмотров
    170,608
    void si5351_set_freq(uint32_t f) {
    uint32_t fvco = (FVCO_MAX / f) & 0xFFFFFFFE; // fvco = 600 ... 900 MHz
    fvco *= f;

    uint8_t a = fvco / FXTAL; // a = 15 ... 90
    uint32_t b = fvco %...
  8. Ответов
    725
    Просмотров
    170,608
    Eще зависит и от компиляторов.
    И в данном случае на C (PIC), другой на C++ ... их сложно сравнивать.
    ---
    Попробовал и

    uint32_t b = fvco % FXTAL; // b = 0 ... 1048575
    uint32_t b = fvco...
  9. Ответов
    725
    Просмотров
    170,608
    Можно еще так: "старт", "запись addr", "запись data", "запись data", "запись data", "запись data", "запись data", "запись data", "запись data", "запись data", "стоп": (Auto Address Increment)....
  10. Ответов
    725
    Просмотров
    170,608
    Ну снизим требования к синтезаторам Si5351A и ATtin13A ;-): напр. для одного КВ диапазона (или для FM радио: 88..108 MHz?) , плюс больше всего иметь напр. одной кнопкой /шаг/. Это похоже на "мозговой...
  11. Ответов
    725
    Просмотров
    170,608
    В PIC, с используемым компилятором в рабочем коде для Si5351:

    num = fvco - XTAL_FREQ * mult;
    "выиграл" с 4 words в flash.

    В Arduino, Arduino+MiniCore для ATtiny13A нет разницы.
  12. Ответов
    725
    Просмотров
    170,608
    Сравнить их в равных условиях. А тот расчет (qrp-labs) попробивал какое-то время назад, как он появился и портировать под другие МК. В основном не пользуюсь.
    Оптимизации могут быть бесконечными, а...
  13. Ответов
    725
    Просмотров
    170,608
    Да, извлек прогр. код с помощью OCR ... :roll:

    PIC:

    ROM used: 245 words, RAM used: 16
    ATTiny13A Microcore (без буутлоудера):

    192 байт / 10 байт, no opt: 620 байт / 21 байт
    Arduino UNO (с...
  14. Ответов
    725
    Просмотров
    170,608
    PIC mcu: 205 байт
    есть warnings:

    >>> Warning 204 "main.c" Line 20(1,1): Condition always FALSE (fr >= XTAL_FREQ;)
    >>> Warning 207 "main.c" Line 21(1,1): Code has no effect (b != 1;)

    Arduino...
  15. Ответов
    725
    Просмотров
    170,608
    Внутри есть и bootloader. Есть и Serial - печать данных в UART. Также посмотрите и сколько strings есть.
  16. Ответов
    725
    Просмотров
    170,608
    Многое можем догадываться, что находится внутри компиляторах и под ним. Важно то, что уже сделано хорошо. А методы расчета по булевой математике напр. 20-30 и более летней давности можно легко...
  17. Ответов
    725
    Просмотров
    170,608
    Oleg 9, попробовал метод. Те же цифры получаются как при использовании метода расчета WRP-Labs, так и при использовании метода, которым поделились.

    А ... "медленный" метод с математическим...
  18. Ответов
    725
    Просмотров
    170,608
    shift 3 byte
    // address_pointer = phase_accumulator >> 24;
    // address_pointer = ((uint8_t*)&phase_accumulator)[3];
    // address_pointer = make8(phase_accumulator, 3);
    Как вариант оптимизации для...
  19. Ответов
    725
    Просмотров
    170,608
    А и уровень уже такой: меняешь IDE и МК и "фокусы" кода уже не имеют смысла. Новые IDE/compilers одновременно "мощные" и содержати идеальные оптимизаторы, которые выполняют тысячи минимизаций, при...
  20. Ответов
    725
    Просмотров
    170,608
    На первый взгляд подумал, что в данном случае речь идет о точных кратных/частотах (25000000).
    Спасибо, попробую в будущем. Не знаком со скрытыми хитростями и трюки assembler-a :).
Показано с 1 по 20 из 500
Страница 1 из 25 1 2 3 4