Например TDA7294

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





Текущее время: Ср апр 24, 2024 08:47:05

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1459 ]     ... , , , 29, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср янв 11, 2017 12:44:44 
Прорезались зубы

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Ср янв 15, 2014 14:41:21
Сообщений: 220
Рейтинг сообщения: 0
Сори просто не в ту тему влез. Хотел спросить про шим сигнал. Всем спасибо за ответы тема закрыта.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 12, 2017 15:23:03 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
из-за чего может происходить зависание в этом цикле ?
Код:
   for( uint8_t i = 0; i <= 255; ++i ){

      printf(" %u \n",i);
      
   }

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 12, 2017 15:28:11 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 1
Переменная i всегда будет меньше либо равна 255, потому что она восьмибитная.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 12, 2017 16:39:05 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
есть некий кусок кода с помощью которого данные массива переписываются в файл
пишутся они в 10-ном формате
как сделать чтобы они писались в 16-ном формате ?
Код:
   for( uint16_t i = 0; i <= 31; i++ ){   // вывод в файл

      fprintf(p_file, "%u,",sin_table[i]);
   }

_________________
Tell Me The Truth


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 12, 2017 16:49:23 
Грызет канифоль

Карма: 9
Рейтинг сообщений: 80
Зарегистрирован: Чт ноя 06, 2014 13:09:06
Сообщений: 251
Рейтинг сообщения: 1
FreshMan, %x или %X (см. описание форматов функции printf)

На предидущий вопрос:

Код:
uint8_t i = 0;
do {
   printf ("%u ", i);
} while (++i != 0);


Последний раз редактировалось viiv Чт янв 12, 2017 16:56:58, всего редактировалось 1 раз.

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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 12, 2017 16:50:28 
Вымогатель припоя

Карма: 6
Рейтинг сообщений: 7
Зарегистрирован: Чт янв 21, 2016 15:59:10
Сообщений: 522
Рейтинг сообщения: 1
FreshMan писал(а):
есть некий кусок кода с помощью которого данные массива переписываются в файл
пишутся они в 10-ном формате
как сделать чтобы они писались в 16-ном формате ?
Код:
   for( uint16_t i = 0; i <= 31; i++ ){   // вывод в файл

      fprintf(p_file, "%u,",sin_table[i]);
   }

вместо %u - %x


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 12, 2017 17:45:55 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
viiv писал(а):
Код:
uint8_t i = 0;
do {
   printf ("%u ", i);
} while (++i != 0);

носом чуял что есть это решение, но праздный ум додуматься не мог
спасибо :beer:

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт янв 20, 2017 03:55:43 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 14
Зарегистрирован: Сб сен 19, 2009 07:02:19
Сообщений: 378
Рейтинг сообщения: 0
FreshMan писал(а):
...носом чуял что есть это решение, но праздный ум додуматься не мог...

Как вариант :
Код:
  for( uint8_t i = 1; i ; i++ ){

      printf(" %u \n", i - 1 );
     
   }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 12:25:53 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
насколько я понял то для того чтобы разрешить прерывание в прерывании следует применять такую форму записи
Код:
ISR(XXX_vect, ISR_NOBLOCK)
{
...
}

а существует ли возможность разрешения конкретного перывания во всех прерываниях ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 13:40:52 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

при входе в обработчик прерывания аппаратно запрещаются ВСЕ прерывания, глобально. пока глобально прерывания запрещены - ничего "выборочно" разрешить нельзя.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 14:01:24 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
вы сами-то поняли, чего спросили?

безусловно
допустим имеется 7 прерываний
при срабатывании каждого из прерываний все остальные запрещаются
а мне, допустим, надо чтобы при срабатывании любого из прерываний запрещались все кроме 3-го

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 14:07:40 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

в нужном вам обработчике прерываний первым делом запрещаете все "лишние" прерывания, т.е. те, которые вам тут не нужны. делается это весьма муторным способом, т.к. флаги разрешения разных прерываний размещены в куче разных регистров: таймерные в TIMSK, АЦП-шное в ADCSRA и так далее.
после этого глобально разрешаете прерывания - вуаля! оставшееся "нужное Вам" прерывание сможет обрабатываться!
только перед тем, как завершить обработчик вам придется в обратном порядке разрешить все то, то позапрещали ранее...

когда я читаю странный вопрос, я всегда считаю, что вопрошающий избрал неверный алгоритм решения своей задачи, - и почти никогда не ошибаюсь!

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 14:22:29 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
вопрошающий избрал неверный алгоритм решения своей задачи

все может быть и сие не есть исключением :))
подскажите пожалуйста алгоритм для для правильного составления алгоритмов . :)

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 14:32:57 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 17:03:37 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
принцип бритвы Оккама.

при всем моем уважении, возможно этот принцип и раскрывает вам весь секрет построения алгоритмов но я его постичь не могу :))

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 18:45:25 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

поэтому я и предполагаю, что вы пошли не в ту сторону. но без конкретики больше добавить нечего...

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт янв 26, 2017 19:06:28 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
я даже после литра водки не могу представить

водкак то видеть не анисовая да и не ключница её делала поэтому и представить не можете :)))
ARV писал(а):
возможно, надо не пить, а курить что-то...

а вот это уже попахивает западной пропагандой ( тлетворное влияния запада ) :)) :wink: :))

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт янв 27, 2017 09:28:03 
Вымогатель припоя

Карма: 6
Рейтинг сообщений: 7
Зарегистрирован: Чт янв 21, 2016 15:59:10
Сообщений: 522
Рейтинг сообщения: 0
FreshMan писал(а):
ARV писал(а):
принцип бритвы Оккама.

при всем моем уважении, возможно этот принцип и раскрывает вам весь секрет построения алгоритмов но я его постичь не могу :))

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пн янв 30, 2017 19:28:01 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 87
Зарегистрирован: Чт июл 24, 2014 23:09:23
Сообщений: 354
Откуда: Киев
Рейтинг сообщения: 0
Подскажите, выше увидел что нельзя сравнивать знаковые и беззнаковые переменные. Как тогда выйти с положения. Я просто недавно начал программировать МК на СИ и некоторых вещей еще не знаю.
Ниже часть кода, в нем переменныя Error и Error_Integral может иметь отрицательные значения. И еще, код этот взят с аппноута AVR221 и переделан под себя. Вроде все работает, но может логика не такая, как было задумано?
СпойлерИзображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср фев 01, 2017 19:54:15 
Сверлит текстолит когтями
Аватар пользователя

Карма: 10
Рейтинг сообщений: 111
Зарегистрирован: Ср июл 25, 2012 21:40:09
Сообщений: 1193
Откуда: Самара
Рейтинг сообщения: 3
Свежий! Я тебя полюбил, я тебя научу(ц):
У авр есть куча устройств (цап, приемопередатчик, таймеры) много их и имя им легион. А еще есть устройство - ядро, если можно его так обозвать.
Так вот каждое устройство имеет в среднем два регистра управление и обрабатываемое значение.
Самое главное - это ядро. Его управляющий регистр - SREG. Каждый битик в нем - это типа переключатель. Значение "1" - можно, "0" - низя.
Предположим, у нас есть устройство приемопередатчик. У него есть регистр управления и регистр передаваемого и принимаемого значения. Передатчик - асинхронный. Аврка она восьмибитная, поэтому и регистр значения тоже.
А вот регистр управления выглядит например так: ([приемопередатчик вкл.][можно принимать][можно передавать][передача завершена][приняты новые данные][буфер пуст][фантазия][кончилась]) - ну не суть, управляющих регистров может быть over 9k... И для некоторых битов региста управления можно определить набор действий ISR(беги_за_пивом)....

Ядро при каждом такте(считаем что при каждом) проверяет бит "I" регистра SREG. И если оно 1 то ползает по почти всем управляющим регистрам и проверяет где есть 1, и если есть 1 то посылает малчика за пивом. Тоесть SREG - это глава семейства.
Предположим мы запустили приемопередатчик, разрешили прием и передачу. Соответственно сразу пиво будут хотеть (буфер передатчика пустой). Предположим что на линии приемника - злая бабка которая беспристанно настукивает свои предъявы " хорош шуметь, опять за пивом поперлись, наркоманы, ша милиционера позову ...."и в этом духе, и наблюдает в форточку через телескоп.
Всем рулит ядро-батя. Оно смотрит что пива нет(буфер передатчика пуст) и бабка трезвонит(сообщение принято) но у ядра малчик - один и что важнее пиво или бабка не понятно...поэтому у каждого прерывания есть приоритет. Тоесть либо шашечки либо ехать, и это у аврины забито железно, сапогами, по "морде и попе бляхой от армейского ремня".
Малчик бежит за пивом, мимо бабки, при этом батя не может послать еще малчика, в это время бит "I" принудительно ставится в 0. но малчик не дурак, он звонит бате и говорит - бабка приперлась и батя берет это дело на карандаш, выставляя бит (принято сообщение).
Если малчик щустрый то он принесет баночное почти сразу, а если пошел за разливным или попал на очередь...
Положим малчик был быстр, то он отдает бате пиво, тот его залпом уговаривает (прерывание "буфер пуст" - закончилось и еготфлаг будет выставлен в 0 - малчик за пивом то сгонял, ога)))))) , бит "I" автоматом вернулся на 1, и малчик идет разбираться с бабкой...т.к у бати все ходы записаны...
Если малчик ходил долго, то по приходу он бате скажет - бабка дверь того...поцарапала, и на карандаш возмется " буфер приемника переполнен". И малчик пойдет рулить с бабкоц не только за "хорош шуметь" но и за поцарапанную дверь, при этом инструкции в процедуре main - никто не отменял... Пылесосить и уроки учить малчику мама наказывала.

Теперь о говнокодинии... Послав малчика, в процедуре "за пивом" ему сказать если че то вернись – малчик и за пивом не сбегает толком, и с бабкой не разрулит. Малчику надо выдавать блокнот, чтоб тот все "предъявы запомнил" тоесть программеру нужно внутри прерывания определять что было куда плыть и кто все эти люди.

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

ЗЫ и хохмы ради, и образования для. С ув. тов. c2n


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28


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

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


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