Перейти к содержанию

Отладчик


ART_ME

Рекомендуемые сообщения

32 минуты назад, mail_robot сказал:

иде то как раз в порядке. Это мы в желании сэкономить пользуемся дешманскими кастрированными свистками-отладчиками. 

В поисках ответов на свои похожие моим вопросы я облазил кучу буржуинских сайтов, включая техподдержку ST. 

Так вот, ответов на подобные  вопросы либо вовсе нет, либо они сводятся в итоге "а фиг его знает".  

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

29.10.2019 в 11:28, mail_robot сказал:

ну эт как

@mail_robot , как Вы в целях отладки передаете через UART 16-разрядную переменную?

Способы разные есть, но не хотелось бы изобретать велосипед.

 

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

а в чем проблема разбить ее на 8-ми разрядные составляющие? делов на один сдвиг

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

4 минуты назад, mail_robot сказал:

 в чем проблема разбить ее на 8-ми разрядные составляющие? делов на один сдвиг

Т.е. никакой фирменной процедуры для этого не предусмотрено?

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

какой фирмы процедуру вы надеетесь отыскать? уарт он и в африке уарт, и передает он только char или uint8. И этого вполне достаточно

есть еще один способ отладки. Создается глобальная структура с копиями нужных переменных. Ну и тудой сливается вся отладочная мутатень. Видно эту структуру из любой точки программы. Это метод для тех, кому не охота возиться с уартом. Но в отличие от уарта для просмотра значений проц надо останавливать, что не всегда удобно или возможно. А чтобы потом не корчевать отладочные строки, их просто в #ifdef позагонять и на продакшен билде просто ключиком деактивировать

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

11 минут назад, mail_robot сказал:

какой фирмы процедуру вы надеетесь отыскать?

Ну например в виде составляющей  библиотеки. Или примера от ST.  Или общепринятой среди большинства  пользователей конструкции.

А если самопал лепить, то я наверное в передачу символов уйду, на приемной стороне возни меньше.

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, mail_robot сказал:

 Я только озвучил метод

"Не учите меня жить, помогите материально". :D

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Если отладчик J-Link погугли что такое RTT. Еще переменную можно вывести в виде графика. Сейчас отладка хорошо развита уже нет необходимости лепить велосипед.

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, MasterElectric сказал:

 Сейчас отладка хорошо развита уже нет необходимости лепить велосипед.

Да-да, эту хохму мы уже знаем. :D

Две локальные переменные: А и В.

Первой строкой А приравнивается к глобальной переменной C.

Второй строкой В рассчитывается по формуле с участием А.

По точке останова на третьей строке вижу значение С и В, а А - unavailable.

Предлагаю объявить виноватым грошовый китайский st-link...:ph34r:

 

Изменено пользователем ART_ME

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

30 минут назад, Вуйко сказал:

Если оптимизация включена, то вполне закономерное поведение может быть.

Конечно выключена. Все эти этапы я уже прошел.

В первый раз спас ногодрыг, но сейчас уже UART понадобится. Потому как сейчас мало знать, где программа находится, надо понять чем она занимается. 

 

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Потому как А далее по коду не учавствует и поэтому ее уже нет. А была она каким-то РОН, а теперь он этот РОН уже не хранит вашу переменную. Отсюда и недоступность. А вообще можно пройтись где надо и по асму и посмотреть что реально происходит. Локальные переменные это или РОН или стек.

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, MasterElectric сказал:

Потому как А далее по коду не учавствует и поэтому ее уже нет. 

Ну как же не участвует, когда В рассчитывается по формуле с участием А? 

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, MasterElectric сказал:

Это вторая строчка

И на второй, и на третьей.

2 часа назад, MasterElectric сказал:

Код может выложи?

Код от MCD Application Team.

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

18 часов назад, MasterElectric сказал:

Локальные переменные это или РОН или стек

ему до этого еще далеко

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

11 минут назад, mail_robot сказал:

... до этого еще далеко

и надеюсь, что никогда. :D

Скажите лучше, если я двухбайтовое число со знаком (s16) попытаюсь передать как двухбайтовое число без знака (u16) двумя байтами (u8) по UART,  я рискую получить искажение только старшего байта?  Да и то только в том случае, если число исходное s16 отрицательное?

 

Изменено пользователем ART_ME

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, mail_robot сказал:

... Там как раз и сказано как не потерять знак 

Помилуйте, ну с чего это Вы взяли, что меня интересует потеря знака? 

На моей памяти информация о знаке содержится в старшем бите числа, а значит при передаче положительного числа им можно пренебречь.

Но я в этом на уверен на 100%, и поэтому не вижу ничего оскорбительного в том, чтобы уточнить у более опытных форумчан.

Вас это раздражает?  Ради Бога, не хотите отвечать, не надо, Вас никто это делать не заставляет. 

 

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

что к примеру мешает использовать sprintf и просто передавать строку без всяких бубнов?

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

И где ж Вы раньше были, а? :unknw:

Была использована вот такая конструкция:

u16 usval =  Cval; //16 битное число
u8 usminor = usval & 0xFF; // младший
u8 usmajor = usval >> 8;   // старший
        
USART_SendData(USART3, usmajor); // передача старшего байта    
while(!USART_GetFlagStatus(USART3, USART_FLAG_TC));
USART_SendData(USART3, usminor); // передача младжшего байта    
while(!USART_GetFlagStatus(USART3, USART_FLAG_TC));

где Cval - глобальная переменная типа s16

Эта переменная сейчас задается вручную в начале рабочей программы, и определена как 500.

Отладчик в точке останова сразу после второго сброса флага USART показывает состояние переменной как 500.

А терминал в компе принимает... 484.

Может ли переменная Cval меняться в ходе программы?  Еще не проверял, но теоретически может, там полно прерываний, некоторые из которых могут её корректировать.

Но тогда отладчик в точке останова должен показать её состояние как 484, а не отказываться делать её приравнивание к другой переменной.

Разумеется ИМХО.  

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...