Параллельное выполнение 2-3 задач

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Ви думаете, я помню чего там ваял? Это была моя первая поделка, на предмет "вспомнить язык" после 17-и летнего перерыва .. ща, гляну ..

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Аналоговые входы там определены как Analog0 .. Analog15. Смотрите файлик arhat_pins2560.h Все камне-зависимые определения лежат в нем.

Нет, похоже не так. Аналоговые пины должны нумероваться от 0 до 15 .. у них похоже там своя нумерация. По крайней мере в adcRead(), admuxChannel..() предполагаются номер в этом диапазоне. И разные D0_Read() а-ля Cyberlib определены тоже только для этого диапазона.

mag155
Offline
Зарегистрирован: 21.12.2017

Вот так пишу Dimmer = map(A0_Read, 0, 1023, 6000,0); Зазвечивает строку красным.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Вы .h файл сами, смотрели? А описание на гитхабе? Это не Cyberlib, это гораздо ширее. :)

Там нет ТАКОЙ функции, там есть adcRead() и только.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

mag155 пишет:
Переустановить ардуино.(...) библиотека заточен (...) У Мне И их больше

Мм-ммм... чё?

По теме: Вам сказали доступно, что есть библиотека, писавшаяся под свои нужды, не гарантированно 100%-совместимая, и уж точно отличающаяся от CyberLib. Вам не приходило в голову открыть файлы в редакторе (советую Notepad++) и хотя-бы почитать?

Сорян за рашн граммар, но пригорает люто, бешено. Ладно, хоть транслитом не пишут. И на том спасибо...

mag155
Offline
Зарегистрирован: 21.12.2017

За как раз этим и занимаюсь. Но все больше склоняются к мысли что надо переходить на С.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Э-э-э .. ни понял .. а Вы на чем "до" склоения писали, на бейсике что-ли? Переходите. Только на нормальное обращение к пинам и их функциям согласно даташиту. "как" - у Вас есть пример в Cyberlib и arhat. Для начала разберите соджержимое типового io.h, в сумме этого более чем достаточно.

mag155
Offline
Зарегистрирован: 21.12.2017

До этого на ардуиновском языке писал. Я в этой теме совсем недавно.

b707
Offline
Зарегистрирован: 26.05.2017

mag155 пишет:
До этого на ардуиновском языке писал. Я в этой теме совсем недавно.

нет никакого "ардуиновского языка". Это и есть С.

Не прошло и года, как МАГ155 узнал, что пишет на С :))))

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

b707, Теперь Вы еще  расскажите mag155-у, что на этом форуме мы пишем на обычном русском языке, а не на неком секретном языке ардуинщиков. И все потому что "тайны ардуино" обязательно надо писать на "тайном языке ардуинщиков" что бы никто не догадался.

mag155
Offline
Зарегистрирован: 21.12.2017

Я имел в виду . Типа так D13_WRITE_HIGH.

sadman41
Offline
Зарегистрирован: 19.10.2016

"Типа так" - это макрос. Макросы в Си - это встроенный функционал, к ардуине отношения не имеют.

mag155
Offline
Зарегистрирован: 21.12.2017

Но работу ардуино ускоряют.

mag155
Offline
Зарегистрирован: 21.12.2017

Купил ардуино DUO Написал вот так :digitalWrite(pin, HIGH);
digitalWrite(pin, LOW); Скорость как и на уно 150 килогерц . В чем тогда суть ?

bwn
Offline
Зарегистрирован: 25.08.2014

mag155 пишет:
Купил ардуино DUO Написал вот так :digitalWrite(pin, HIGH); digitalWrite(pin, LOW); Скорость как и на уно 150 килогерц . В чем тогда суть ?

Суть, открыть тот же киберлиб и посмотреть как сделано там. Далее, по образу, подобию и даташиту.

mag155
Offline
Зарегистрирован: 21.12.2017

Это я уже понял. Вопрос не в том что медленно а что скорость одинаковая с УНО.

b707
Offline
Зарегистрирован: 26.05.2017

mag155 пишет:
Купил ардуино DUO Написал вот так :digitalWrite(pin, HIGH); digitalWrite(pin, LOW); Скорость как и на уно 150 килогерц . В чем тогда суть ?

на уно такое дает порядка 75 КГц, так что Дуе все ж в 2 раза быстрее

А вообще, если программист тупой - ему никакая крутая плата не поможет. Вот такой код на обычной Уно - дает почти 4 Мгц, причем без всяких CiberLib.h

DDRB = B00000100;

void setup() {
while (1) {
PORTB = B00000100;
PORTB = B00000000;
}
}
void loop() {
}

 

Но это не про вас. МАГ. Я за вами уже давно наблюдаю... вам это в принципе не осилить.

mag155
Offline
Зарегистрирован: 21.12.2017

Такой код дает 2 Мгц. И не чего там осиливать. Еще расскажите мне что у уно есть три порта каждый из которых отвечает за свои пины. И про регистры. Как по мне вот так удобнее PORTB |= _BV(PB10);
PORTB &= ~ _BV(PB10);

bwn
Offline
Зарегистрирован: 25.08.2014

b707 пишет:

 Вот такой код на обычной Уно - дает почти 4 Мгц, причем без всяких CiberLib.h

DDRB = B00000100;

void setup() {
while (1) {
PORTB = B00000100;
PORTB = B00000000;
}
}
void loop() {
}

Так Вы киберлиба почти дословно процитировали.))))

mag155
Offline
Зарегистрирован: 21.12.2017

А вот хамить мозгов много не надо. Так что страшно и представить сколько вам понадобилось времени чтоб это все освоить.

mag155
Offline
Зарегистрирован: 21.12.2017

Не он просто скопировал .

b707
Offline
Зарегистрирован: 26.05.2017

mag155 пишет:
Такой код дает 2 Мгц. И не чего там осиливать. Еще расскажите мне что у уно есть три порта ....

Вы интересный человек, маг. У вас бывают разумные сообщения... жалко что редко, одно из двадцати... А остальные - посты полного идиота, типа рассуждений "пора переходить на Си" (это после года занятий микроконтролерами :) или когда вы спрашиваете, что такое AO_Read. вместо того чтоб заглянуть в код....

b707
Offline
Зарегистрирован: 26.05.2017

mag155 пишет:
Не он просто скопировал .

несомненно :)

А когда я напишу "2х2 = 4" - вы будете кричать, что я ответ у калькулятора списал :)

bwn
Offline
Зарегистрирован: 25.08.2014

b707 пишет:

mag155 пишет:
Не он просто скопировал .

несомненно :)

А когда я напишу "2х2 = 4" - вы будете кричать, что я ответ у калькулятора списал :)

Неа, с таблички на обратной стороне тетради по математике.)))

mag155
Offline
Зарегистрирован: 21.12.2017

У меня реально не хватает времени. Потому как програмирование это мое хобби и занимаюсь я им только в свободное время . Так что не судите строго.

bwn
Offline
Зарегистрирован: 25.08.2014

Да на самом деле, вы скачете с одного на другое, не усвоив толком первых, простых уроков. Отсюда и лезут все ваши проблемы. Я тоже программированием почти не занимаюсь, но когда понадобилось, распотрошил и киберлиб, и IRemote чтобы в 168 запихать. По осени начну таймеры штурмовать, надоело от сети тактироваться.

mag155
Offline
Зарегистрирован: 21.12.2017

Да вы правы. Хочется всего и сразу.

mag155
Offline
Зарегистрирован: 21.12.2017

Всем привет !!! Подскажите индейку пи регулятора. Пробовал так : if ( Val>val1){ val2 += val3} else if (val

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

mag155 пишет:
Всем привет !!! Подскажите индейку пи регулятора.

Подсказываю: индейка выглядит так: 

mag155
Offline
Зарегистрирован: 21.12.2017

Чё то с телефона не размещается полностью. Завтра с ноутбука напишу.

mag155
Offline
Зарегистрирован: 21.12.2017

Вобщем пытался зделать так 


int val ;// задатчик 
int val1;// выходное напряжение измеряемое
int val2;// выходное напряжение выдаваемое
int val3;// шаг 

void setup() {
  

}

void loop() {
  if (val > val1){
val2+= val3;
}
if (val < val1){ 
  val2-= val3;
}
val3= val - val1; 

Как то не очень работает. Смысл стабилизировать выходное напряжение при набросе нагрузки. Если есть у кого какие идеи прошу поделиться.???

mag155
Offline
Зарегистрирован: 21.12.2017

Что нет ни у кого идей ?

sadman41
Offline
Зарегистрирован: 19.10.2016

А должны быть?

nik182
Offline
Зарегистрирован: 04.05.2015

ПИД из интернета.

qreal VPid::getValue(qreal input)
{
    qreal sum = m_lastResult + m_integral * m_period * input;
    qreal diff = m_differential / m_period * (input - m_lastInput);
    qreal result = m_proportional * input + sum + diff;

    result = qMax(m_minSaturation, result);
    result = qMin(m_maxSaturation, result);

    m_lastResult = sum;
    m_lastInput = input;

    return result;
}

Что ещё надо для счастья?

mag155
Offline
Зарегистрирован: 21.12.2017

Бросьте ссылочку почитаю.

nik182
Offline
Зарегистрирован: 04.05.2015

https://ru.wikipedia.org/wiki/%D0%9F%D0%98%D0%94-%D1%80%D0%B5%D0%B3%D1%8...

Странно. Первая ссылка на ПИД в гугле. Может у вас гугл другой?
mag155
Offline
Зарегистрирован: 21.12.2017

В Украине все что через ru. Не просто попасть.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

mag155 пишет:
В Украине все что через ru. Не просто попасть.
А вы попробуйте в гугл запросы писать по-русски. Я всегда так делаю.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

mag155 пишет:
В Украине все что через ru. Не просто попасть.

Зачем Вы лжёте? Сайты в домене .ru прекрасно работают, кроме некоторых заблокированных сайтов.

mag155
Offline
Зарегистрирован: 21.12.2017

Вы еще скажите что в контакт заходите.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

mag155 пишет:
Вы еще скажите что в контакт заходите.
А вы что нет !!! Там море народу тусуется. https://vk.com/tipo_niko

mag155
Offline
Зарегистрирован: 21.12.2017

Ну да только если местоположение скрыть. Типа VPN а иначе только с телефона мобильный интернет.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

mag155,

1. Перед вторым условием имеет смысл поставить else, т. к. алгоритм условия пока что имеет неоднозначность.

2. Неоднозначность в содержимом переменных, текущее значение val2 - undefined. Присвойте ноль или иное исходное значение.

3. Службы Google имеют алиасы всех основных стран, я пользуюсь google.co.kr около 11 лет, проблем с доступом никогда не было.

4. http://emigranto.ru/spravochnaya/emigraciya/emigraciya-iz-ukrainy.html

про последнее не шучу.

b707
Offline
Зарегистрирован: 26.05.2017

mag155 пишет:
Вы еще скажите что в контакт заходите.

А надо? :)

Я в РФ - ни разу в жизни в контакт не заходил :)

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

mag155 пишет:
Вы еще скажите что в контакт заходите.

Вам не кажется, что между "все что через ru" и "некоторые заблокированные сайты" огромная разница?

Контакт как раз и относится к "некоторым заблокированным сайтам". Но контакт (и прочие одноклассники с яндексом) это отнюдь не "все ru". Это всего лишь несколько сайтов, исчезающе мизерный процент в домене ru. Так что не надо преувеличивать про "все что через ru".

Voodoo Doll пишет:
3. Службы Google имеют алиасы всех основных стран, я пользуюсь google.co.kr около 11 лет, проблем с доступом никогда не было.

Да всё работает: и google.ru, и google.com, и google.com.ua, и даже google.co.kr :-)

mag155
Offline
Зарегистрирован: 21.12.2017

У меня провайдер Воля. Может поменять.?

mag155
Offline
Зарегистрирован: 21.12.2017

Про if else не попадолось мне нормарнольног о описания , я правильно понимаю: if это если к примеру 100. else if если к примеру 150. else если не 100 и не 150 . Поправьте если что.?

sadman41
Offline
Зарегистрирован: 19.10.2016

mag155 пишет:
Про if else не попадолось мне нормарнольног о описания , 

Вы откуда все беретесь-то?

Один операторы сравнения не может найти, другой - if-else. В любой детской книжке уже это есть.

b707
Offline
Зарегистрирован: 26.05.2017

mag155 пишет:
Про if else не попадолось мне нормарнольног о описания?

мне нравится ваша настойчивость - всего год занятий программированием и уже до if else добрались :)

bwn
Offline
Зарегистрирован: 25.08.2014

mag155 пишет:
Про if else не попадолось мне нормарнольног о описания , я правильно понимаю: if это если к примеру 100. else if если к примеру 150. else если не 100 и не 150 . Поправьте если что.?

Сразу почитайте и про операторы сравнения, их много: ==; !=; >; <; >=; <=. Компонуя их с елсе-ифами, да разбавляя логическими операторами можно таких программ нагородить, ууууу.....