Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
1

Не выводит преобразования ADC на LCD1604 в Eclipse

11.05.2017, 13:17. Показов 2034. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Пытаюсь вывести показания ADC в вольтах на LCD1604, плата STM32F4DISCOVERY, используя библиотеку HAL.
C
1
2
3
4
5
6
7
8
9
10
while (1)
  {
        HAL_ADC_Start(&hadc1);
        HAL_ADC_PollForConversion(&hadc1,100);
        u=((float)HAL_ADC_GetValue(&hadc1))*3/4096;
        HAL_ADC_Stop(&hadc1);
        sprintf(str,"%.2fv",u);
        LCD_SetPos(0,3);
        LCD_String(str);
 }
Дело в том что в eclipse когда запускаю отладчик и отслеживаю переменную, код считает правильно и заносит в переменную, но в массив строки показания на заносятся и на дисплее соответственно напряжение не отображается.
Решил проверить код в среде IAR, там в отладчике видно что программа все хорошо считает и заносит в массив строку, но прошитый контроллер выдает на дисплей полную ахинею(грубо говоря:не в тех строках, не те символы).
Но тут решил создать проект в KEIL и опля, все работает, в отладчике все четко считает и на дисплей корректно выводит цифры.
Но мне удобно работать в Eclipse и как его настроить что бы он корректно работал, может какие то я настройки не учитываю?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2017, 13:17
Ответы с готовыми решениями:

Выводит ADC но не выводит его максимальное значение
Доброго времени суток, пытаюсь оцифровать синусоиду. Вывожу все на tft ili9341 spi, пользуюсь...

Eclipse Не выводит массив
Создаю рандомный массив на 1000 элементов и делаю вывод в консоль - выводит, меняю 1000 на 10 000 -...

Eclipse выводит ошибку при запуске
Здравствуйте! Вообще пишу не на Java, но для вуза нужно. Установил Eclipce, все работало, но одним...

Некорректно выводит массив после преобразования
#include <iostream> using namespace std; void conv_arr(int len, char *ch_arr, int *arr) { ...

Eclipse не выводит в консоль, Hello world, хотя компилируется без ошибок
При выполнении стандартного проекта в Eclipse в консоль не выводится Hello world. В этом месте...

18
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
11.05.2017, 13:35 2
Hosting, попробуй вывести переменную не float, a целочисленную какую-нибудь например значение кода АЦП.
не очень понятно, что такое %fv, вроде как для float %f
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
11.05.2017, 13:56  [ТС] 3
Целочисленную значение ADC выводит корректно когда пишу через uint16_t и %04d, и то в eclipse, в IAR вообще отказывается выводить что либо на дисплей.
%fv - f-понятно что значение с точкой, а v - это просто обозначение буквенное что вольты.
Миниатюры
Не выводит преобразования ADC на LCD1604 в Eclipse   Не выводит преобразования ADC на LCD1604 в Eclipse  
0
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
11.05.2017, 14:12 4
Hosting, иногда функции sprintf бывают урезанные не поддерживающие float. Именно в ide для микроконтроллеров. У меня такая же хурма была в EM-bitz (тоже эклипс). Я в итоге решил проблему, разделив float на два целочисленные (целая часть и дробная) и их отдельно sprintf'ами прогонял
0
Эксперт .NET
10576 / 6500 / 1506
Регистрация: 25.05.2015
Сообщений: 19,703
Записей в блоге: 14
11.05.2017, 14:15 5
Hosting, можно подключить вывод плавающей точки, но немного памяти потеряете.
И замените sprintf на snprintf.
Не выводит преобразования ADC на LCD1604 в Eclipse
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
11.05.2017, 14:45  [ТС] 6
Rius, Что то я не могу у себя такого найти.
Миниатюры
Не выводит преобразования ADC на LCD1604 в Eclipse  
0
Эксперт .NET
10576 / 6500 / 1506
Регистрация: 25.05.2015
Сообщений: 19,703
Записей в блоге: 14
11.05.2017, 14:54 7
Какая-то урезанная у вас тулза. Посмотрите в других опциях линкера.
Вот моя настройка : https://www.cyberforum.ru/blog... g4589.html
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
11.05.2017, 17:21  [ТС] 8
Rius, начал устанавливать как у вас и вот на чем встает, почему так может быть?
Миниатюры
Не выводит преобразования ADC на LCD1604 в Eclipse  
0
Эксперт .NET
10576 / 6500 / 1506
Регистрация: 25.05.2015
Сообщений: 19,703
Записей в блоге: 14
11.05.2017, 17:56 9
Аааа, там последняя версия CubeMX плагина кривая. Возьмите отдельную программу CubeMX, в ней частоты настраиваются нормально.
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
11.05.2017, 18:12  [ТС] 10
Так и сделал, но щас вот такая проблема. И нету файла start
Миниатюры
Не выводит преобразования ADC на LCD1604 в Eclipse  
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
11.05.2017, 18:27  [ТС] 11
Вообще все свойства папок и проекта перестали работать после правки файлов((
0
Эксперт .NET
10576 / 6500 / 1506
Регистрация: 25.05.2015
Сообщений: 19,703
Записей в блоге: 14
11.05.2017, 18:35 12
Значит направили чего-то лишнего.
Src изначально создаётся как каталог исходников, его даже в сборку вручную включать не надо.
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
11.05.2017, 19:55  [ТС] 13
Rius, Да, направил лишнего, переделал, вроде вся установка прошла как по инструкции, но что то не идет((
Миниатюры
Не выводит преобразования ADC на LCD1604 в Eclipse   Не выводит преобразования ADC на LCD1604 в Eclipse  
0
Эксперт .NET
10576 / 6500 / 1506
Регистрация: 25.05.2015
Сообщений: 19,703
Записей в блоге: 14
11.05.2017, 19:59 14
Не по инструкции, совсем.
SW4STM32 не используется для открытия проекта. И каталоги вложены совсем не так.
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
11.05.2017, 20:05  [ТС] 15
Это я уже пробую свой проект скомпилировать, в установленном Eclipse по вашей инструкции.
0
Эксперт .NET
10576 / 6500 / 1506
Регистрация: 25.05.2015
Сообщений: 19,703
Записей в блоге: 14
11.05.2017, 20:11 16
Можете и в своей урезанной версии вручную всё прописать, если установить полную слишком сложно.
Суммарные флаги линкера:
Bash
1
-T "D:\projects\workspace\projectName\Scripts\STM32F100RETx_FLASH.ld" -Xlinker --gc-sections -LD:\projects\workspace\projectName/Middlewares/ST/STemWin/Lib -Wl,-Map,"projectName.map" --specs=nano.specs -u _printf_float --specs=nosys.specs
Добавлено через 6 минут
Цитата Сообщение от Hosting Посмотреть сообщение
Это я уже пробую свой проект скомпилировать, в установленном Eclipse по вашей инструкции.
Когда вы отклоняетесь от инструкции, вы должны понимать, что и как исправить за её пределами. Потому что инструкция описывает только определённую последовательность действий.
1
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
11.05.2017, 20:27  [ТС] 17
А настройки переносить получается нужно постоянно в каждом проекте? точнее, проводить процедуру как на видео с каждым новым проектом?
0
Эксперт .NET
10576 / 6500 / 1506
Регистрация: 25.05.2015
Сообщений: 19,703
Записей в блоге: 14
11.05.2017, 20:29 18
Если требуется перенос проекта, сгенерированного в CubeMX для SW4STM32, в GNU ARM Eclipse Plugins.
Если не требуется, то нет.
Некоторые CubeMX люто публично ненавидят и якобы не используют.
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 21
12.05.2017, 10:45  [ТС] 19
Цитата Сообщение от Rius Посмотреть сообщение
Можете и в своей урезанной версии вручную всё прописать, если установить полную слишком сложно.
Суммарные флаги линкера:
Bash
1
-T "D:\projects\workspace\projectName\Scripts\STM32F100RETx_FLASH.ld" -Xlinker --gc-sections -LD:\projects\workspace\projectName/Middlewares/ST/STemWin/Lib -Wl,-Map,"projectName.map" --specs=nano.specs -u _printf_float --specs=nosys.specs
Заморачиваться с программой не стал, в урезаной изменил флаг линкера и вуаля, все заработало)
0
12.05.2017, 10:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2017, 10:45
Помогаю со студенческими работами здесь

Напишите пожалуйста программу, которая выводит таблицу преобразования Цельсия (°C) в Кельвин (K)
Задание 1: Напишите пожалуйста программу, которая выводит таблицу преобразования Цельсия (°C) в...

Программа в IDE Eclipse (написать программу которая выводит на консоль геометрическую фигуру: прямоугольник)
написать программу которая выводит на консоль геометрическую фигуру: прямоугольник. более в...

Как сохранить консольную прогу в Eclipse, чтобы запускать без Eclipse
Как сохранить написанное консольное приложение в Eclipse так, чтобы я мог запустить его без Eclipse.

Eclipse. Какое сочетание клавиш или как открыть только что закрытый в Eclipse файл?
Я уже задавал подобный вопрос и мне дали на него ответ Alt+стрелка влево. Решение довольно-таки...

Составить программу обработки и преобразования двумерного массива. предусмотреть ввод преобразования матрицы
Из матрицы А(m,n) (m<=5, n<6) получить числа a1,....,am, где а1- значение первого по порядку...

Интерфейс для обратного преобразования после преобразования IConvertible
Реализовал IConvertible в классе, преобразовывает только в string и double. Convert.ToDouble(obj);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru