простые интересные РАДИОСХЕМЫ сделанные своими руками

» Гость

Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизируйтесь!





» ДАТАШИТЫ
Например: TDA1562

» СХЕМЫ


Отметить прочитанными   -   Поиск   -   Правила   -   Новые сообщения

Страница 5 из 10«1234567910»
Модератор форума: Igoran, Витинари, Sam 
Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Помощь в программировании (Подскажите в какой теме можно задать вопрос)
Помощь в программировании
Пн, 07.08.2017, 19:50 | Сообщение # 41        
nolpofaze
аватар
  Постов: 207  Offline
Ник, я преполагаю, дело тут не в "программировании мк", а в принципиальном подходе к программированию, надо пробовать уже) модульное структурированнное программирование, будет легче.
Пн, 07.08.2017, 20:10 | Сообщение # 42        
Сергей-78
аватар
  Постов: 7751  Offline Модератор 
Витинари, Спасибо. Еще один вопрос. таже Атини 13. Нужно внутренний делитель на 8 отключить, частота внутреннего генератор 9.6 МГц. Так будет правильно ( Знаю что в Пони прог будет все инверсно)
Пн, 07.08.2017, 20:13 | Сообщение # 43        
Витинари
аватар
  Постов: 2539  Offline Модератор 
Сергей-78, да. По калькулятору фьюзов тоже так выходит.
Ср, 08.11.2017, 18:41 | Сообщение # 44        
Ник
аватар
  Постов: 205  Offline
есть калькуляторы фьюзов, я там смотрю. Так же там можно вести данные и покажет где ставить галочки. В пони прог если стоит галочка значит 0, если нет 1!!!

if(z<400){z++;} - это обработка дребезга кнопок и небольшой задержки. Да от одиночных данных надо избавляться , а то через время не помнишь что это такое.
Чуть по же реализую задержку опроса датчика отпишусь.

Добавлено (07.08.2017, 21:10)
---------------------------------------------
nolpofaze, модульное структурированнное программирование это как?

Добавлено (07.08.2017, 21:22)
---------------------------------------------
Да еще хочу задействовать ШИМ и нагреватель подключить через семистор, с регулировкой мощности в зависимости от температуры.

Добавлено (09.08.2017, 09:45)
---------------------------------------------
Витинари, спасибо. Переписал я опрос датчика через 10 сек. знал про это но пропустил angry и все стало норм. Полностью напишу и опробую в работе, выложу весь код может кому то пригодится cool

Добавлено (08.11.2017, 18:41)
---------------------------------------------
Доброе время суток. Подскажите по каким причинам на ЖК PC4002LRS 5 первых символов на 1 и 2 строке нормально отображены, потом все символы которые выводятся, отображаются инвертно, а там где нет символов то светятся все сегменты. На других ЖК типа 16х2 или 24х2 или 32х2 норм, программу инициализирования писал сам.
И еще почему при сравнении в условии дробных чисел на равенство в условие не входит. вот пример

char c;
float a, b=50;

в таймере я прибавляю a=a+0.01;
if (a==b) a=0; c++;
и программа не входит в условие, а если записать
f (a>=b) a=0; c++; то работает нормально, в чем причина и как бить если мне надо строго равно, а не больше?

Ср, 08.11.2017, 21:18 | Сообщение # 45        
msmmmm
аватар
  Постов: 765  Offline Друзья 
Ник, скомпилируй это:

В отладчике в Watch наблюдай за переменной а. После 6-го прохождения цикла сам все поймешь. Это по второму вопросу.


Отредактировал msmmmm - Ср, 08.11.2017, 21:36
Чт, 09.11.2017, 14:49 | Сообщение # 46        
Ник
аватар
  Постов: 205  Offline
msmmmm, спасибо. Посмотрел в отладчике, после прибавления а=0.009999998. Теперь понятно что так никогда не зайдет в условие. Про бывал разные действий над переменной результата 0. Как тогда быть?
Чт, 09.11.2017, 19:43 | Сообщение # 47        
Витинари
аватар
  Постов: 2539  Offline Модератор 
Ник, такой вопрос, а какое максимальное значение может быть у b?
Использовать float для итераций немного некрасиво, да и компилятор все равно будет по-своему обрабатывать остаток после точки. Лучше перевести переменные в тип int, умножив все участвующие в итерации значения на 100, чтобы избавиться от сотых долей.
Получится как-то так:

char c;
int a, b=5000;
//============
// в таймере

a++;
//============
if (a==b)
{
a=0;
c++;
}


Заодно уменьшится размер прошивки: float занимает 32 бита, а int всего 16, вдвое меньше.
Пт, 10.11.2017, 00:12 | Сообщение # 48        
msmmmm
аватар
  Постов: 765  Offline Друзья 
Эта система счисления называется "в попугаях". Берешь внутри программы значения, которые удобны и пользуешься. Если символьный вывод не нужен, то так и работает, если нужен - перед выводом приводится к удобочитаемому виду. Например, в фазовом регуляторе мощности никому и в голову не придет считать градусы фазы или секунды задержки относительно перехода напряжения через 0. Оперируют тиками таймера, настроенного "как удобно".
Пт, 10.11.2017, 14:14 | Сообщение # 49        
Ник
аватар
  Постов: 205  Offline
Вся причина для чего понадобились дробные числа, из за коррекции времени на отсчете таймера (часов). Почему то часовые кварцы у меня в реале частота выше чем на нем написано (32768), а за час спешит на 12сек. сутки- почти 5мин А по требованию мне надо не более 5 сек за сутки. И самое интересное на другой микросхеме и кварце скорость отличается от первой точно такой платы. Вот и пришлось делать коррекцию, я конечно добился этих приделов но хотелось конечно точней B). Использование часовой микросхемы нет смысла из за простоты схемы и программы. Все что она делает это выводит оставшееся время, температуру и мощность нагревателя в %, производится выбор времени, температуры и мощности. Управление мощным симистором токами до 20А, с примитивным обработчиком ошибок на обрыв термопары и потеря связи по SPI на модуль температуры, открытие дверей в камере.
Пт, 10.11.2017, 15:32 | Сообщение # 50        
msmmmm
аватар
  Постов: 765  Offline Друзья 
Конденсаторы на кварц нужно было установить и подобрать.

Добавлено (10.11.2017, 15:32)
---------------------------------------------
И еще по поводу фьюза CKOPT:
http://radioskot.ru/forum/11-1307-346217-16-1490470122

Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Помощь в программировании (Подскажите в какой теме можно задать вопрос)
Страница 5 из 10«1234567910»
Поиск:
Кто есть кто на форуме радиолюбителей: Администратор Модераторы Друзья Пользователи
Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2018, "Радиосхемы". Все права защищены. Почта