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

Тема: Микроконтроллеры PIC

  1. #71

    Регистрация
    12.09.2006
    Адрес
    Болгария, Силистра, KN34PC
    Сообщений
    1,414
    Позывной
    LZ2WSG
    Более подходящей темы не нашел. И разбудим тему:

    Подходящий метод для масштабирования дроби?

    У нас есть дробь: a/b
    uint32_t a, uint32_t b
    Есть условие, напр. b <= 0xFFFFF. нужно уменьшить знаменатель.

    С калкуляторе: a/b = ((a * 1048575) / b) / 1048575

    На компиляторе с uint64_t все как на листе с карандашом (Arduino IDE -> Arduino, AVR через Arduino IDE и др.). Но при компилятор без uint64_t (PIC CCS для выбранного микроконтроллера) нахожу трудности.
    Вынужден либо считать с меньшими числами (/10 /100 /1000 ...) (шаг будет не самый маленький из возможных). Либо знаменатель и числитель напр /2, пока знаменатель не подходит. И следствие: потеря разрешения (напр. 1 Hz) или потеря точности.

    Или иногда использую float. Опять же с некоторой точностью более-менее одинакова (6-7 знаков после запятой?). А не хочу - значительно увеличивает использование памяти и снижает скорость.

    Код:
        if (b > 1048575) {  // if b is too large -> data scaling
          uint64_t a64 = a;
          a64 = a64 * 1048575 / b;
          a = (uint32_t)a64;
          b = 1048575;
        }
    Код:
      while (b > 0xFFFFF) {  // if b is too large
        а >>= 1;
        b >>= 1;
      }
    Любой другой простой, более точный способ? Цифры большие. Не могу их уменьшить. (Si5351, AD4351 ... )
    --- --- ---
    Пример:
    a = 843 429;
    b = 2 438 152;
    ---
    max b = 1 048 575
    --- --- ---
    метод 1: a / b = 843 429 / 2 438 152 = (843 429 * 1 048 575) / (2 438 152 * 1 048 575) = 362 733 / 1 048 575 = 0,345929475 ...
    метод 2: a / b = 843 429 / 2 438 152 = 421 714 / 1 219 049 = 210 857 / 609 538 = 0,345929211 ...

    A так как у нас шаг 1 или 10 герц на VHF, то по второму способу вижу как шаг неровный и прыгает.
    (Не то чтобы кварцевый резонатор и его температурный коэффициент не портят счет ...).

    Вопрос принципиальный.
    Последний раз редактировалось veso74; 25.06.2022 в 17:13.


  2. #72
    Вы от чего (и на чем) пытаетесь точность в 1...10Гц добиться? На VHF...
    Блог - r9ofg.ru, Телеграм канал - t.me/r0aek_me

  3. #73

    Регистрация
    12.09.2006
    Адрес
    Болгария, Силистра, KN34PC
    Сообщений
    1,414
    Позывной
    LZ2WSG
    Мой вопрос скорее принципиальный, математический.

    Но ответ о чипах: да. Как начало: Fопора из GPS модулья к точного калибровочного генератора на Si.
    Последний раз редактировалось veso74; 25.06.2022 в 17:18.

  4. #74
    Цитата Сообщение от veso74 Посмотреть сообщение
    Но ответ о чипах: да.
    На любом из двух выше озвученных, НО, при стабильной опоре....

    Добавлено через 17 минут(ы):

    Цитата Сообщение от veso74 Посмотреть сообщение
    Fопора из GPS модулья к точного калибровочного генератора на Si
    Если получится, хотя верный шаг, поделитесь
    Последний раз редактировалось R9OFG; 25.06.2022 в 17:35.
    Блог - r9ofg.ru, Телеграм канал - t.me/r0aek_me

  5. #75

    Регистрация
    12.09.2006
    Адрес
    Болгария, Силистра, KN34PC
    Сообщений
    1,414
    Позывной
    LZ2WSG
    Цитата Сообщение от R0AEK Посмотреть сообщение
    ... Если получится, хотя верный шаг, поделитесь
    Etherkit Si5351 библиотека работает оч. хорошо. Шаг 0,01 Hz, uint64_t и часто пользуюсь. Все выхода управляется, все функции доступны, даже с внешними пользовательскими данными.
    Но есть "цена": код занимает много памяти и для малоресурсных микроконтроллеров не вариант.

  6. #76

    Регистрация
    14.05.2020
    Адрес
    Санкт-Петербург
    Сообщений
    1,678
    Цитата Сообщение от veso74 Посмотреть сообщение
    Etherkit Si5351 библиотека
    В какой среде работаете? Мне для microC for PIC Pro тоже нужна мудрёная математика (нахождение производной, и тому подобное). Что посоветуете?
    Исполняться код будет в PIC16F18877.
    Пытаюсь построить "Радио-76М2" на двухзатворных FET.

  7. #77

    Регистрация
    12.09.2006
    Адрес
    Болгария, Силистра, KN34PC
    Сообщений
    1,414
    Позывной
    LZ2WSG
    Чисто информативно: на какой частоте работает ШИМ в частотомере - цифровая шкала с функцией ЦАПЧ?
    В конструкции IK3OIL напр. измерил ~7,8 kHz.

  8. #78
    Аватар для RV3MP
    Регистрация
    13.05.2010
    Адрес
    Ярославль
    Сообщений
    4,461
    Позывной
    RV3MP
    Не стал плодить новую тему.
    Друзья! Подскажите где туплю?
    Есть PIC16F630 и PICKit3/Pickit3 programmer.
    Считываю - программа контроллер видит, определяет, не ругается. Везде 3FFF.
    Заливаю прошивку. Говорит - успешно. Считываю - везде 0000.
    Может, где забыл нажать какую кнопочку?
    RV3MP Миша. http://websdr.srr76.ru/

  9. #79
    Аватар для UN7GCE
    Регистрация
    18.01.2004
    Адрес
    РФ ТиНАО
    Сообщений
    2,206
    Записей в дневнике
    1
    Позывной
    ex UN7GCE
    Цитата Сообщение от RV3MP Посмотреть сообщение
    Считываю - везде 0000
    Включены биты защиты считывания информации
    Евгений (since 1975 UL7RAW, 1977 UL7GCE, 1991 UN7GCE) пос. Коммунарка


  10. #80
    Аватар для RV3MP
    Регистрация
    13.05.2010
    Адрес
    Ярославль
    Сообщений
    4,461
    Позывной
    RV3MP
    Ещё бы знать где их выключить...
    (контроллеры новые)
    RV3MP Миша. http://websdr.srr76.ru/

Страница 8 из 15 ПерваяПервая ... 567891011 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Микроконтроллеры AVR
    от Serg_PRQ в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 1530
    Последнее сообщение: 13.03.2024, 23:02
  2. СОМ порт и микроконтроллеры
    от alex74 в разделе Технический кабинет
    Ответов: 1
    Последнее сообщение: 31.03.2008, 11:04

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •