Jump to content

Вопросы от начинающих по МК


Recommended Posts

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

Link to comment
Share on other sites

Я не утверждал, что чего-то работать не будет. Я предложил Вам, для начала, проверить свой код самостоятельно на работоспособность по обдуманному Вами алгоритму.
Мы Вам в голову залезть не можем. Проверьте сами. И если будут конкретные вопросы - обращайтесь. А сейчас это всё звучит как - вот вам код, ищите косяки и рассказывайте мне о них. А заодно расскажите как работают всякие там операторы ...

Link to comment
Share on other sites

Я имел ввиду "правильность арфографическая" написания.

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

проверить свой код самостоятельно на работоспособность по обдуманному Вами алгоритму.

Сначала я продумал алгоритм а потом код. Так что да соответствует. 

 

10 минут назад, Alex сказал:

. А сейчас это всё звучит как - вот вам код, ищите косяки и рассказывайте мне о них. А заодно расскажите как работают всякие там операторы ...

Извините не хотел как то Вас задеть, просто я много ещё не знаю и возможно не корректно задаю вопросы.

Link to comment
Share on other sites

LIR-20 – модуль резервирования питания от MORNSUN
Компания MORNSUN расширила линейку продукции, монтируемой на DIN-рейку, выпустив модуль резервирования питания LIR-20 с максимальным током до 20 А на канал. Модуль можно использовать на шинах с напряжением 24 или 48 В (полный диапазон напряжения 22…60 В). Данный модуль применяется в системах, где даже выход из строя источника питания (ИП) не должен привести к потере напряжения. К модулю резервирования подключаются два источника питания, причем один из них может быть бесперебойным (ИБП; UPS), и нагрузка.

Читать подробнее >>

Ни капельки не задели. Просто непонятен смысл Вашего сообщения.

33 минуты назад, Дмитрий Мамедиев сказал:

Так что да соответствует. 

Т.е., Вы код проверяли на железе, и он работает как и задумано ?

Link to comment
Share on other sites

LED-драйверы MEAN WELL – выбор больше, стоимость ниже

Компэл расширил и существенно пополнил склад LED-драйверами компании MEAN WELL, одновременно снизив цену на них. В настоящий момент на складе представлена широкая линейка продукции для наружного (семейства HLG, ELG, XLG, LPC, LPV), и для внутреннего (APC, LCM, SLD, APV) освещения.

Имеется большой выбор моделей с различными режимами стабилизации выходных параметров. Кроме того, есть в наличии и линейка DC/DC-драйверов, как понижающих (семейство LDD), так и повышающих (семейство LDH).

Подробнее>>

Популярные модели литиевых батареек FANSO EVE Energy готовы к отправке
На складе КОМПЭЛ уже готовы к поставке одни из самых востребованных литиевых батареек типов ER и CR производства FANSO EVE Energy – одного из мировых лидеров на рынке первичных литиевых элементов питания.
Данные источники тока получили широкое применение в различных областях, будь то системы безопасности, приборы учета или мелкая бытовая техника. 

Подробнее о применениях>>
 

Источники питания MEAN WELL для медицинских устройств на складе Компэл

Компэл расширяет складскую программу по специальным ИП для применения в медицинских приборах и устройствах. Представлены ИП в диапазоне мощности от 5 до 500 Вт, по медицинскому стандарту EN60601-1 с двумя мерами защиты пациента (2хMOPP; тип BF) для устройств, контактирующих с пациентом.  Все эти надежные источники питания могут применяться не только в медицинских устройствах.

Подробнее>>

На выбранном камне отладка не доступна. Вырезал кусок кода сделал новый проект под атмегу 8. Но отладка пишет не смогла запуститься и далее адрес файла с:\.... Чего ему надо не могу понять

Link to comment
Share on other sites

3 часа назад, Дмитрий Мамедиев сказал:

На выбранном камне отладка не доступна. Вырезал кусок кода сделал новый проект под атмегу 8. Но отладка пишет не смогла запуститься и далее адрес файла с:\.... Чего ему надо не могу понять

С этим разобрался

Нашёл в чем проблема. Отладчик думает что кнопка всегда нажата. 

if (button) а она описана как 

#define button (!(pinb&(1<<1)))

Наверное на время отладки нужно прописать button =0 ?

Link to comment
Share on other sites

Грабли наши весёлые грабли.... почитайте про порядок выполнения логических операций в С... ваше выражение неоднозначно, и скорей всего поэтому не работает. Задайте приоритет операций так чтобы у компилятора не осталось вариантов кроме правильного.

Учение - изучение правил. Опыт - изучение исключений.

Link to comment
Share on other sites

1 час назад, Alexeyslav сказал:

почитайте про порядок выполнения логических операций в С...

Вот дельный совет, щас почитаю, но вопрос такой, разве последовательные ifки не проходят последовательно проверку на соответствие условий в них? Не знаю на сколько понятен вопрос.

Link to comment
Share on other sites

3 часа назад, Дмитрий Мамедиев сказал:

if (button_shot && speed==0)

скобки нужно было поставить

if (button_shot && (speed==0))

Мудрость приходит вместе с импотенцией...

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

Link to comment
Share on other sites

5 hours ago, Дмитрий Мамедиев said:

отладчике проходит мимо этой проверки

Скобки тут не при чём, и без скобок сначала проверяется == 0, а потом уже делается логическое "И", так как приоритет == выше, чем &&.

А проходит мимо, потому что после проверки if() в скобках { } ничего нету: в программе после компиляции вместо start(speed) находится пустое место, компилятор выкинул бесполезную часть кода. Я думаю, что и проверку он выкинул тоже, нет смысла проверять, если от результата проверки ничего не зависит.

Link to comment
Share on other sites

21 minutes ago, Дмитрий Вас said:

и возвращает

Функция выполняется так, как написано у автора:

принять значение переменной, затем  401 раз его вернуть, увеличивая на 1 после каждого раза. Но вернуть получится только один раз, естественно, в первом же круге цикла for(). Причём возвращаемое значение никто не принимает, оно так и остаётся умирать внутри функции start().

 

 

Link to comment
Share on other sites

 

35 minutes ago, Дмитрий Вас said:

увеличивает ее до 400 и возвращает

И возвращает 401 =D

И да, проще уж было так:

int start (__attribute__((__unused__)) int s){return 401;}

Link to comment
Share on other sites

Только что, Yurkin2015 сказал:

затем  401 раз его вернуть,

 

Только что, Yurkin2015 сказал:

Но вернуть получится только один раз,

совсем запутался

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

Причём возвращаемое значение никто не принимает, оно так и остаётся умирать внутри функции start().

как так это ведь глобальная переменная она просто принимает новое значение и используется в другой функции. или я не правильно понимаю?

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

__attribute__((__unused__)

вообще первый раз вижу такой набор букаф

функция старт на данный момент:

int start(int s)//плавный старт
{
	for (;s<=400;)
	{
		if (Flag_IT_timer1)
		{
			Flag_IT_timer1 = 0;
			s++;
		}
	}
	return s;
	// подключаем выходы генератора сигнала PSC к выходам порта
	//PSOC0 = (1 << POEN0B) | (1 << POEN0A);
	//PSOC1 = (1 << POEN1B) | (1 << POEN1A);
	//PSOC2 = (1 << POEN2B) | (1 << POEN2A);
}

 

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...