• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

CH582M (СH581, CH582, СH583)

pvvx

Активный участник сообщества
Когда-то, в четвертой половине того века с отладочными средствами было всё плохо. Потом слепили Jtag и прикрутили его к детским чипам. Отладка через него в основном развилась из STM32, для самых маленьких, которые только начинают и ещё ничего не шарят. Спустя четверть века эти “пердуны”, привыкшие только к этому до сих пор тянут детей на это убожество. И без наличия любимого отладчика не могут вообще ничего, аж по данному критерию выбирают чипы...
 

pvvx

Активный участник сообщества
"Любой GCC, ARMC да даже мертворожденное убожество от C-Sky (W806 - которое вы так хвалили) при компиляции в настройках компилятора просто ставим поддержку отладки и, спокойно отлаживаем, отладили выбираем Release в соответсвующих настройках."
И как же переключить "в настройках компилятора" "поддержку отладки" если нет WCH-Link и либы все блоб, а сам WCH-Link не врубается что чип спит или программа умерла из-за останова прерываний и WDТ?
И нафига отлаживать какую-то не Release версию? Очень похоже на детсад - "отлаживаем чужие готовые примеры" :)
Вы занимаетесь реверс-инжинирингом - тогда всё делается совсем по другому, используя специальные методы и ПО. Jtag тут на последнем счету.
 

pvvx

Активный участник сообщества
@sed_alex - О, я наконец понял вашу зависимость - вы используете только чужое, заранее подготовленное и только если вам разжуют и в рот положат на примерах воспринятых в вашем детстве при игре в STM32.
Ну ждите когда вам pecherskih слепит то, что вы будете “отлаживать” путем переключения кнопочек в навязанной IDE :)
 

pvvx

Активный участник сообщества
Только в виде графиков там ничего нет.
А как отображать real-time график с частотами отсчетов в десятки МГц? Взять к примеру PC.
Для этого надо буферизировать поток. BDT может считать буфер и его можно посмотреть...
А для детей есть очень большая масса всяких графико-строителей находу из вывода циферек в COM порт. Особенно для Arduino. Поищите сами и найдете какой вам больше понтравится.

 

pvvx

Активный участник сообщества
Для бинарного потока из USB-COM проще написать самому.
Вам вроде нужно выводить с ADC и быстро, тогда и на это у Chrome есть API.
Пример - вывод 16 битных данных от ADC со sweep генератора пилы, но сформированных в блоки с заголовком (кто-же знает как вы выводите(?)) на 50 кГц

 

pvvx

Активный участник сообщества
А более хитрыми вещами отладки тут никто из местных не поделиться. Они жмоты и обременены предрассудками.
А я - если будут запросы и время причесать код и как всегда всё будет кое-как, т.к. это отладка и не готовые вещи...
 

sed_alex

New member
Вы о чем? Об снифере BLE в Wireshark?
Или вас смущает нормальный отладочный лог, принятый везде при нормальном программировании?
У вас плохо со всем связанным с электроникой и программированием. Наверно только вчера взяли первый чип в руки... Потыркаетесь и поймете.
У меня есть аппартный BLE Анализер ибо я не люблю страдать ерундой, там где этого можно избежать..
Слишком уж вы легко судите о незнакомых людях :)

P\S
Когда-то, в четвертой половине того века с отладочными средствами было всё плохо. Потом слепили Jtag и прикрутили его к детским чипам. Отладка через него в основном развилась из STM32, для самых маленьких, которые только начинают и ещё ничего не шарят. Спустя четверть века эти “пердуны”, привыкшие только к этому до сих пор тянут детей на это убожество. И без наличия любимого отладчика не могут вообще ничего, аж по данному критерию выбирают чипы...
Исправьте люди же засмеют :) Половина не может быть четвертой она или первая или вторая.
Ну и не плохо было бы перед тем как писать ахинею , проверить информацию (Компания STM обьявила о выпуске линейки STM32 в октябля 2006 года) https://en.wikipedia.org/wiki/STM32
 

pvvx

Активный участник сообщества
У меня есть аппартный BLE Анализер ибо я не люблю страдать ерундой, там где этого можно избежать..
И что же это за чудо такое? "аппарАтный BLE АнализАТОР"?
На основе SDR и анализатора спектра?
Исправьте люди же засмеют :) Половина не может быть четвертой она или первая или вторая.
А пофиг - я тут не статью пишу. Но смысл понятен.
Ну и не плохо было бы перед тем как писать ахинею , проверить информацию (Компания STM обьявила о выпуске линейки STM32 в октябля 2006 года) https://en.wikipedia.org/wiki/STM32
Очередной писатель - где я написал, что STM32 появился в том веке?
"Отладка через него в основном развилась" в детских кругах ...
 

pvvx

Активный участник сообщества
Слишком уж вы легко судите о незнакомых людях :)
По теме то ничего нет и не видать. Значит выдохлись и на сегодня это и то и есть. А что было, то сплыло.
Век жизни чипов и подходов к ним очень мал... и информационное ускорение всё больше и больше :p
 

aloika

Active member
У меня есть аппартный BLE Анализер
Это, наверное, жуть как дорого.

Программа классная, что я и хотел. Для моих целей пока вполне достаточно. Она даже блоками умеет выводить. Спасибо, что подсказали, что надо просто поискать :)
 

brain13

New member
Коллеги, добрый день!

Подскажите кто-либо разобрался с АЦП на CH583?
Спотыкаюсь на пустом месте. Мне нужно померить напряжение питания. Собственно вызываю ADC_InterBATSampInit();
Но результаты очень странные. И я не могу понять откуда такие формулы в даташите в этой вот табличке.
Сможет кто-нибудь пояснить?
Спасибо!
1674899106806.png
 

pvvx

Активный участник сообщества
C:
    int16_t RoughCalib_Value;   // Значение отклонения грубой настройки АЦП
    uint16_t result;
    uint32_t vbat;

    ADC_InterBATSampInit();
    RoughCalib_Value = ADC_DataCalib_Rough(); // Используется для расчета внутреннего отклонения АЦП и записи его в переменную RoughCalib_Value Обратите внимание, что эта переменная должна быть определена как переменная со знаком
    ADC_ChannelCfg(14);  // 0Eh: напряжение батареи VBAT;
    result = ADC_ExcutSingleConver() + RoughCalib_Value;
    vbat = (result / 512 - 3) * 1.05 * 1000;
    printf( "channel 14 = %d , %d mV\n", result, vbat);
 

brain13

New member
pvvx, спасибо!
Я точно так же и сделал. И у меня на 3.6В батарее показывает 3.5. Хотя на 3.3В показывает 3.3В. На 3.2 показал 3.05.
То есть показывает что-то близко, но не то.

А откуда взялось "-3" в формуле не подскажете?
 

pvvx

Активный участник сообщества
Это перевод с китайского форума.
vbat = (result / 512 - 3) * 1.05 * 1000;
Не понятно, зачем используют числа с плавающей точкой для целочисленных действий и как на это среагирует компилятор.
Я бы написал vbat = (result / 512 - 3) * 1050; для однозначности.
 

pecherskih

Member
@sed_alex - О, я наконец понял вашу зависимость - вы используете только чужое, заранее подготовленное и только если вам разжуют и в рот положат на примерах воспринятых в вашем детстве при игре в STM32.
Ну ждите когда вам pecherskih слепит то, что вы будете “отлаживать” путем переключения кнопочек в навязанной IDE :)
А-ха-ха-ха. PVVX - местный самородок. В одном сообщении умудряется плюнуть сразу в двух участников форума :) Вы - мой Герой :ROFLMAO: Умеете в начале рабочей недели поднять настроение. Так держать (y)
 

pvvx

Активный участник сообщества
А-ха-ха-ха. PVVX - местный самородок. В одном сообщении умудряется плюнуть сразу в двух участников форума :) Вы - мой Герой :ROFLMAO: Умеете в начале рабочей недели поднять настроение. Так держать (y)
Это не плевки, а мотивация.
Если вас не гонять, то вообще обленитесь. Будете сидеть и глазеть на свою печку, аж дрова закинуть забудете...
 

brain13

New member
Добрый день!
Помогите, пожалуйста.

Собрал первую платку на 582F - не заводится. Пробовал 3платы, все ведут себя одинаково.
Померил напряжения, на всех ногах питания 3.3В, на VINTA - 1.05.
На EVT вроде так же (пока DCDC не включишь).

EVT при подаче питания на 40мс поднимает ногу PB22 (BOOT) в единицу, чтобы понять заходить ему в boot или нет. Моя плата ногу не поднимает.
По USB не определяется, отладчик тоже чип не видит.

Кто запускал платы подскажите, может есть хитрости?
Прикрепляю схему, может кто-нибудь увидит ошибку?

1675349972493.png
 
Сверху Снизу