Например TDA7294

Форум РадиоКот • Просмотр темы - Не могу нормально зажечь светодиод
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 20, 2024 19:28:48

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Не могу нормально зажечь светодиод
СообщениеДобавлено: Вт июл 04, 2017 10:19:19 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
Хочу написать программу, что при нажатии кнопки, светодиод начинает мигать, но проверив в протеусе программу, работает неправльно. Почему-то в протеусе мигает PB0, хотя должно мигать PB1, типо при нажатии кнопки которая подключается к ПБ0, у меня ПБ1 должна мигать, но этого не происходит, где ошибочка то.
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{

PORTB = 0x02;
DDRB = 0x01;


/* Replace with your application code */
while (1)
{
if (PORTB = (0 == PB0))
{
PORTB = (1 == PB1);
_delay_ms(100);
PORTB = (0 ==PB1);
_delay_ms(1000);
}

}
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Вт июл 04, 2017 11:04:11 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
PORTB = 0x02;
DDRB = 0x01;
такая навтройка порта делает выходом пин 0 порта B, а все остальные входами, а на пин 1 этого же порта делает подтяжку...
если хотите разобраться — выкладывайте код с комментариями, хоть ход мысли проследим и подскажем когда она пошла не туда.

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Вт июл 04, 2017 11:23:43 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
narius985 писал(а):
if (PORTB = (0 == PB0))
narius985 писал(а):
PORTB = (1 == PB1);
narius985 писал(а):
PORTB = (0 ==PB1);
я думаю, вам прежде следует хотя бы бегло ознакомиться с основами языка Си, прежде чем начинать что-то писать на нём.

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

Мой уютный бложик... заходите!


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Вт июл 04, 2017 11:39:42 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
я на это и вывожу :) только хочу чтоб он сам на это вышел

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Чт июл 06, 2017 05:01:28 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
Такая вот тема, если я напишу эту программу для одной кнопки, то всё рабоает, а если для двух, то почему-то при нажати, светодиод не горит, а мигает, кто-нибудь мне скажает почему. программа для атмеги8.
/*
* GccApplication5.c
*
* Created: 03.07.2017 14:05:22
* Author : PC
*/
#define F_CPU 8000000L
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{

DDRD = 0x01;// ДЕЛАЮ ПД0 НА ВЫХОД
PORTD= 0b11000000; //ДЕЛАЮ ТАК ЧТО БЫ НА ПД7 и ПД 6 БЫЛА ЕДИНИЦА, ТИПО ЧТОБ КОГДА КНОПКА НЕ НАЖИМАЛАСЬ ЧТО СВЕТИК НЕ ГОРЕЛ



/* Replace with your application code */
while (1)
{
if (!(PIND&0b10000000)) //СЧИТЫВАНИЕ С ПД7
{
PORTD =0x01;//ЕСЛИ В ПБ7 СТОИТ 1, ТО В ПБ0 БУДЕТ 0, СЛЕДОВАТЕЛЬНО НИЧЁ ГОРЕТЬ НЕ БУДЕТ
}
else
{
PORTD = 0x00; // НУ ИНАЧЕ. ЕСЛИ БУДЕТ ПОДАН НУЛЬ. ТО В ПБ7 БУДЕТ ИДТИ 1, И СВЕТИК ЗАГОРИТСЯ.
}



if (!(PIND&0b01000000)) //СЧИТЫВАНИЕ С ПД6
{
PORTD =0x02;//ЕСЛИ В ПБ6 СТОИТ 1, ТО В ПБ0 БУДЕТ 0, СЛЕДОВАТЕЛЬНО НИЧЁ ГОРЕТЬ НЕ БУДЕТ
}
else
{
PORTD = 0x00; // НУ ИНАЧЕ. ЕСЛИ БУДЕТ ПОДАН НУЛЬ. ТО В ПБ6 БУДЕТ ИДТИ 1, И СВЕТИК ЗАГОРИТСЯ.
}

}
}


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Чт июл 06, 2017 16:42:18 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
narius985 писал(а):
PORTD =0x02;//ЕСЛИ В ПБ6 СТОИТ 1, ТО В ПБ0 БУДЕТ 0, СЛЕДОВАТЕЛЬНО НИЧЁ ГОРЕТЬ НЕ БУДЕТ
С какой целью присвоено именно это значение? Кроме того Вы выключаете подтяжку.

Магические цифры- зло.
Неверные комментарии - не меньшее зло.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Чт июл 06, 2017 17:16:55 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
пиши: PORTD = (1<<7); //подаем 1 на 7ю ногу порта D. но все остальные ноги порта обнулятся :(
тогда: PORTD|=(1<<7); //подаём 1 на 7ю ногу порта, не стирая состояния остальных ног
а стирать: PORTD&=~(1<<7); // подаём 0 на ногу 7 порта не трогая остальных
П.С.: в учебниках практически в самом начале знаки "|", "&", "~", "<<" описаны.

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Пт июл 07, 2017 09:31:09 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
пиши: PORTD = (1<<7); //подаем 1 на 7ю ногу порта D. но все остальные ноги порта обнулятся :(
тогда: PORTD|=(1<<7); //подаём 1 на 7ю ногу порта, не стирая состояния остальных ног
а стирать: PORTD&=~(1<<7); // подаём 0 на ногу 7 порта не трогая остальных
П.С.: в учебниках практически в самом начале знаки "|", "&", "~", "<<" описаны.

чувак, вроде сделал как ты сказала, всё равно каша, где ошибка то, сейчас у меня 2 и 4 , это светодиоды, а 1 и 3 там кнопки.
*/
#define F_CPU 8000000L
#include <avr/io.h>
#include <util/delay.h>
//----------—

//----------—
int main(void)
{


DDRD = 0b00001010;//
PORTD= 0b00000101; //Д



/* Replace with your application code */
while (1)
{
if (!(PIND = 0x01))
{
PORTD |= (1«2);
}
else
{
PORTD = ~(1«2);
}
if (!(PIND = 0b00000100))
{
PORTD |= (1«4);
}
else
{
PORTD = ~(1«4);
}
}
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Пт июл 07, 2017 21:25:14 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Цитата:
if (!(PIND = 0x01))
Присвоение в условии? Странно что компилятор не ругается warning'ами.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Сб июл 08, 2017 09:05:32 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 2
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
COKPOWEHEU писал(а):
Присвоение в условии?
дык было давно сказано
ARV писал(а):
прежде следует хотя бы бегло ознакомиться с основами языка Си, прежде чем начинать что-то писать на нём
кто б слушал...
COKPOWEHEU писал(а):
Странно что компилятор не ругается warning'ами
кто б ещё их читал...

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Сб июл 08, 2017 13:11:27 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
COKPOWEHEU писал(а):
Присвоение в условии?
дык было давно сказано
ARV писал(а):
прежде следует хотя бы бегло ознакомиться с основами языка Си, прежде чем начинать что-то писать на нём
кто б слушал...
COKPOWEHEU писал(а):
Странно что компилятор не ругается warning'ами
кто б ещё их читал...

я КОРОЧЕ ЩА ОТКРЫЛ КНИГУ П ПРОГРАММИРОВАНИЮ, там почитал. и в итоге у меня всё получилось, радости полные штаны.
#define F_CPU 8000000L
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
DDRD = 0b00001010;
PORTD = 0b00000101;


/* Replace with your application code */
while (1)
{
if (PIND &0b00000001)
{
PORTD &=~(1<<PD1);
}
else
{
PORTD |= (1<<PD1);
}
if (PIND &0b00000100)
{
PORTD &=~(1<<PD3);
}
else
{
PORTD |= (1<<PD3);
}
}

}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Помогите с программированием новичку.
СообщениеДобавлено: Вс июл 09, 2017 20:23:04 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
Всем привет, хочу напистаь прогу, типо нажал кнопку(ну нажал и отпустил, т.е не зажимая её). и светодиод загорелся, потом опять так нажал, и он выключился. Я что-то пытался через цикл while, но не получилось, потом подумал дайка блок-схему составлю, и в итоге выяснилось что даже без понятие как это сделать. Мб у кого есть идеи. С++ знаю очень плохо, только цикл whi;e и if освовил, такжезнаю как сделать порт на выход или вход. и как присвоить портам единицу. регистами pin,ddr,port владею


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Пн июл 10, 2017 07:12:54 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
narius985 писал(а):
Мб у кого есть идеи. С++ знаю очень плохо
есть: изучайте язык Си! минимальный уровень, после которого с вами можно будет культурно разговаривать - это четкое понимание отличий Си от C++. до этого момента других идей не будет.

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Пн июл 10, 2017 07:52:53 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Ну почему же. Можно ознакомиться с курсом от DiHalt'а на easyelectronics. В принципе, есть видеокурс на cxem.net, но он похуже.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Пн июл 10, 2017 08:13:06 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
narius985 писал(а):
Мб у кого есть идеи. С++ знаю очень плохо
есть: изучайте язык Си! минимальный уровень, после которого с вами можно будет культурно разговаривать - это четкое понимание отличий Си от C++. до этого момента других идей не будет.

что в атмел студио есть, на том я и программирую


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу нормально зажечь светодиод
СообщениеДобавлено: Пн июл 10, 2017 08:21:28 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Вот я и говорю: разберитесь, на чем именно вы программируете, изучите это самое, и тогда будем разговаривать по существу. Освойте что-то помощнее if-ов.

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: OKF, Varlakotam и гости: 31


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y