Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 29.05.2018
Сообщений: 13

Подкорректировать исходный код

23.01.2020, 18:21. Показов 2951. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,друзья.Сам я не программист поэтому прошу помощи.Собрал метеостанцию.Все работает ,при выводе показаний часов ,градусов и влажности яркость одинаковая,а при показаниях давления яркость разрядов разная причем у автора на видео этого не заметно.Осциллограф показывает разную длительность анодных импульсов . Автор молчит код разрешен для изменения.Исходник и схема на странице(http://vprl.ru/publ/umnyj_dom/... 20-1-0-138).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2020, 18:21
Ответы с готовыми решениями:

подкорректировать код С++
#include<iostream> #include<fstream> #include<string> #include<vector> using namespace std; const int maxLen = 5; const...

Подкорректировать код (сортировка распределением)
Вечер добрый, знатоки. Компилятор ошибку не отлавливает. Ошибка логическая и вылет программы происходит при входе в цикл: while (j >...

подкорректировать код (найти ошибки)
программа должна найти первые буквы слов. Проблема заключается в цикле. Не пойму как сделать чтоб работала правильно ...

30
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
25.01.2020, 18:18
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от steppo Посмотреть сообщение
Не знаю ,как на фото
вы отвечали:
Цитата Сообщение от steppo Посмотреть сообщение
Второй разряд имеет стандартную яркость первый самый яркий третий тусклее второго четвертый самый тусклый
что вижу я:
первый и второй разряд яркость стандартная.
третий и четвертый на 20%-30%(субъективно) тусклее.

вот теперь абсолютно ясно в чем заключается основной баг.

Добавлено через 7 минут
кстати ноль на влажности горит тоже тусклее, чем символы слева.

Добавлено через 2 часа 31 минуту
видео для полноты картины:
(почему автор думает что виновата прога)
0
3 / 3 / 0
Регистрация: 29.05.2018
Сообщений: 13
25.01.2020, 18:23  [ТС]
Вот про это я и пишу ,что длительность меняется.Это же ШИМ.
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
25.01.2020, 18:30
steppo,
кстати, а что там за компилятор использовал автор ?
установил winavr, но ему не понравился, мол, "это крестокод, а мне подавай сишный".
0
 Аватар для zayats80888
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
25.01.2020, 18:38
<del>
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
26.01.2020, 00:34
steppo, в общем так:
проблема с разной длительностью анодных импульсов в симуляторе
решается если закешировать вычисленные значения давления для разрядов индикатора.

Слабоват микроконтроллер, чтобы каждый раз(на самом деле это много раз)
на прерывании вычислять:
C++
122
123
124
125
126
127
128
129
        case 4: // атмосферное давление
            switch (dig)
            {
                case 1: dig_value = 10; break;                          // 10 - буква "P" (рressure-атмосферное давление)
                case 2: dig_value = AtmPressure % 1000 / 100;   break;  // сотни мм рт.ст
                case 3: dig_value = AtmPressure % 100 / 10;     break;  // десятки мм рт.ст
                case 4: dig_value = AtmPressure % 10;           break;  // единицы мм рт.ст
            }
тестовое исправление такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// кеш:
uint8_t atm[3];
 
...
 
// Обработка прерывания для отображения знаков на индикаторе
ISR(TIMER0_OVF_vect)
{
 
...
 
        case 4: // атмосферное давление
            switch (dig)
            {   case 1:
                    dig_value = 10;
                    break;  // 10 - буква "P" (рressure-атмосферное давление)
                case 2:
                    dig_value = *atm;//AtmPressure % 1000 / 100;
                    break;  // сотни мм рт.ст
                case 3:
                    dig_value = *(atm+1);//AtmPressure % 100 / 10;
                    break;  // десятки мм рт.ст
                case 4:
                    dig_value = *(atm+2);//AtmPressure % 10;
                    break;  // единицы мм рт.ст
            }
            break;
...
 
/*** ВЫЧИСЛИТЬ ЗНАЧЕНИЕ АТМОСФЕРНОГО ДАВЛЕНИЯ (С УЧЕТОМ КАЛИБРОВОЧНЫХ КОЭФФИЦИЕНТОВ) ***/
void BMP180_calculation (void)
{
 
...
 
    *(atm)   = AtmPressure % 1000 / 100;
    *(atm+1) = AtmPressure % 100 / 10;
    *(atm+2) = AtmPressure % 10;
}

Ну и раз такое дело, то и для других параметров такое кеширование тоже надо сделать.

не зря же я заметил тусклость и на влажности
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
26.01.2020, 02:48
Итого:
Вложения
Тип файла: rar CTBH -- [с кешем вычислений] -- BIN + исходник.rar (17.2 Кб, 20 просмотров)
2
3 / 3 / 0
Регистрация: 29.05.2018
Сообщений: 13
26.01.2020, 05:20  [ТС]
Огромное всем спасибо,что откликнулись.По началу видно вышло непонимание.В протеус все четко сегодня попробую перешить контроллер,думаю и там все заработает как надо.И еще тогда вопрос,есть у меня часы на атмега 8.Работают уже несколько лет.Я к ним подцепил радио,чтобы включалось по будильнику,но в оригинальном коде оно работает только 1 минуту.Я смог увеличить время работы до 4-х минут,но это не серьезно.Кто сможет подправьте код ,чтобы будильник отключался по нажатию любой кнопки.
Вложения
Тип файла: rar Clock_Atmega8.rar (87.2 Кб, 14 просмотров)
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
27.01.2020, 05:31
Цитата Сообщение от steppo Посмотреть сообщение
И еще тогда вопрос
Вы можете прокомментировать вот этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//**************************************
ISR(SIG_OVERFLOW0){//0,000064
 
    if (++lcd_time_switch == light_isr) PORTLED=znakomesto_isr; 
    
}
//**************************************
ISR(SIG_OVERFLOW2)
{
 clock_++;
 if (clock_==128)//128
    {                                           
    clock_=correct;
    isr_1sek_=1;
    }
}
что и когда вызывается?

Что такое SIG_OVERFLOW0 и SIG_OVERFLOW2?
0
3 / 3 / 0
Регистрация: 29.05.2018
Сообщений: 13
27.01.2020, 07:02  [ТС]
Я же не разбираюсь в программировании.Это исходник автора он компилируется в авр студио.
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
27.01.2020, 07:13
Цитата Сообщение от steppo Посмотреть сообщение
Я же не разбираюсь в программировании.
ок.
Цитата Сообщение от steppo Посмотреть сообщение
Я смог увеличить время работы до 4-х минут
как вы это сделали?
0
3 / 3 / 0
Регистрация: 29.05.2018
Сообщений: 13
27.01.2020, 08:42  [ТС]
time_signal=time_in_regim=250
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.01.2020, 08:42

Можете немного подкорректировать код?
Данная программы выводит на экран такой треугольник: 1 12 123 1234 ... 1234..n

подкорректировать код(логин и пароль)
Доброго времени суток господа. Помогите подкорректировать код пожалуйста. Нужно что бы в данном коде было несколько вариантов логинов и...

Вычисление sin. Подкорректировать код.
#include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; const int...

В файл записывается мусор. Подкорректировать код
Нужна помощь! В общем организована БД со структурами и целый перечень функций, которые её обслуживают. Всё работало, но что как-то...

Подкорректировать код нахождения суммы ряда
помогите,пожалуйста, подкорректировать код под мою задачу. понимаю,что легко, но я никогда не работала с с++ #include &lt;stdio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru