Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

Всем доброго времени суток! Прошу помощи котов.

Atmega328p + CVAVR 2.04.4

Стандартная оптимизация:
Изображение

Контроллер просто зависает на месте цикла for, просто висит и все :shock: с чем это может быть связано ? Китайские мозги камня или компилятор ??? :dont_know:

Код: Выделить всё


void SendCommandPacket(char pType, char pCommand)
{
 <......>
       
        for(d=7;d>=0;d--)      // Висит на этом цикле и всё тут, даже если тело цикла пусто...
}

while (1)
      {
 
        delay_ms(500);
        SendCommandPacket(0x34,0x00); 
        PORTB ^= (1 << 5);   // blink LED for test activity
        delay_ms(2000);
      };
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Аlex »

Потому, что d, вероятнее всего, - беззнаковая переменная.
Вообще, на такие вещи, компилятор должен варнинговать.
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

Аlex писал(а):Потому, что d, вероятнее всего, - беззнаковая переменная.
Вообще, на такие вещи, компилятор должен варнинговать.


Все верно, был unsigned char, но ставил int и все тоже самое (полагаю это оптимизация), попробую тогда указать явно...


Спасибо за ответ, всё прекрасно заработало! Первый раз вижу такую премудрость, поставил signed и повисание изчезло, хотя аналогичный код в винде работает, что за убогий компилятор ??? мог бы ведь вместо char ставить signed в этом месте, или хотя бы один варнинг был бы...

Еще раз откланиваюсь, долго бы разбирал полёты )
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение просто КОТ »

Ммм... возможно где-то в алгоритме ошибка, и значение местами становится отрицательным?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Аlex »

Wereww писал(а):что за убогий компилятор ??? мог бы ведь вместо char ставить signed в этом месте

На Вашем скриншоте :
Изображение
116lnbfjki.jpg
(56.58 КБ) 713 скачиваний
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

Мда..был очень невнимателен, и еще раз благодарю :)

И еще один вопросик, никак не вникну в даташит (TSOP4856)

tss.jpg
(64.82 КБ) 325 скачиваний


Какая должна быть длительность импульса для модуляции, длительность пачки, и задержка между пачками импульсов, чтоб приёмник адекватно реагировал ? :oops:
Или как лучше запустить таймер для генерации несущей частоты ? Хочу понять, что к чему, буду очень благодарен )

Как я понял на 10 миллисекунд должно идти 30 импульсов (60 изменений) и из этого остальные расчёты ?
Последний раз редактировалось Wereww Сб авг 06, 2016 00:48:41, всего редактировалось 1 раз.
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение просто КОТ »

Для этого фотоприёмника импульсы -- меандр 56кГц, ибо TSOP4856. Длительность пачки/паузы от 600мкс и более, в соответствии с Fig.3. :beer:
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

просто КОТ писал(а):Для этого фотоприёмника импульсы -- меандр 56кГц, ибо TSOP4856. Длительность пачки/паузы от 600мкс и более, в соответствии с Fig.3. :beer:


Спасибо за пояснение ) но меня больше интересует сама модуляция, если просто дёргать ногой с частотой 56 кГц и соблюдая паузы и тд - то приемник не реагирует, нужно вписываться строго в определённые диапазоны, ровное кол-во импульсов на энное время как я понял, но не до конца )
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение просто КОТ »

Судя по фигуре 3, нужны пачки по 600мкс, это приблизительно по 33 импульса... Попробуйте что-то такое.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

просто КОТ писал(а):Судя по фигуре 3, нужны пачки по 600мкс, это приблизительно по 33 импульса... Попробуйте что-то такое.


В том - то и дело, вы попали в точку, пробую по 33 импульса, но срабатывает приёмник раза с 30-50го , почему - опять же непонятно, поэтому и грешу на продолжительность и число импульсов, хотя все вымеряно...
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение просто КОТ »

Ммм... делаем в цикле счётчик 0...60, и шлём соответственно пачки в 1, 2, 3 ... 30, 31, 32, 33, 34 ... 58, 59, 60 импульсов. Смотрим осциллографом что на той стороне. Думаю, всё встанет на свои места. :beer:
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

просто КОТ писал(а):Ммм... делаем в цикле счётчик 0...60, и шлём соответственно пачки в 1, 2, 3 ... 30, 31, 32, 33, 34 ... 58, 59, 60 импульсов. Смотрим осциллографом что на той стороне. Думаю, всё встанет на свои места. :beer:


Спасибо за наводку, завтра куплю приёмник и пощупаю выход на звуковухе ))
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

Спасибо еще раз, с сигналом разобрался, т.к мир не идеален, выровнял задержки nop'ами и sleep'ами, всё чётко срабатывает :)

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

Как я понимаю из схемы, во время пуска устанавливаем PD1=0 и внутренними цепями МК на базе T1 формируется (отрицательное?) открывающее напряжение, схема оживает, для отключения подаём лог 1 в PD1.

Так же можно управлять и полевиком, заряжая затвор во время включения, вобщем не суть, суть вопроса вот в чём: после включения МК выполняет функцию и идёт в глубокий POWERDOWN, как выяснилось на практике в этом режиме отключаются и все порты (все ноги с лог уровнем 1 отключаются и переходят в 0), так вот, заряжая затвор и затем уйдя в POWERDOWN режим мы автоматом выключаемся, если же брать во внимание схему выше, где управление идет лог уровнем 0 то в режиме POWERDOWN МК будет запитан или I\O переферия переходит в Z состояние и мы опять же выключаемся ?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ARV »

Wereww писал(а):с сигналом разобрался, т.к мир не идеален, выровнял задержки nop'ами и sleep'ами
кошмар какой...
Wereww писал(а):имеем TINY13A и схему управления питанием одной кнопкой, для тотальной экономии батареек
зачем такие сложности?! тинька в глубоком сне потребляет 1 микроампер, не более. я, например, делал такой пульт управления:
Изображение
принцип "экономии" - глубокий сон и пробуждение, описание и исходник по ссылке.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

Спасибо за совет! Разбирал и такой вариант с постоянным питанием, но в итоге пришел к такому варианту, отсекать источник питания полностью, CR2032 Li-Ion 320 mAh, маловато конечно, а места очень мало в корпусе.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение BOB51 »

Возможно речь не о самой тиньке, а о питании остальной части схемы...
:roll:
Аватара пользователя
Wereww
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 04, 2010 17:58:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wereww »

BOB51 писал(а):Возможно речь не о самой тиньке, а о питании остальной части схемы...
:roll:


Нужно совместное использование этой схемы и режима powerdown, что бы во время "лежания" не было никакого потребления, а в режиме работы в перерывах в 8 секунд собака будила контроллер из глубокого сна, но дело в том, что в режиме powerdown эта схема начинает неккоректно работать, а именно входя в режим отключается I\O перефирия и тем самым "сама себя" не поддерживает, тоесть питание на МК перестаёт поступать :?
Belarusian_Zubr_4
Родился
Сообщения: 1
Зарегистрирован: Пн авг 22, 2016 18:04:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Belarusian_Zubr_4 »

Здравствуйте. Я новичок на форуме и в общем на сайте radiokot.ru. Я в курсе ,что прежде чем писать на форум нужно внимательно извлечь всю информацию из обучалки (чем и занимаюсь). Но у меня возник вопрос по этой статье: http://radiokot.ru/start/analog/basics/061/ Что имеется ввиду в этой статье под словом "нагрузки". Я уже много раз перечитывал всё с момента появления этого слова. Но всё же оно встречается дальше ,и я не понимаю того что оно значит. Помогите пожалуйста разобраться! :shock:
Аватара пользователя
abc
Друг Кота
Сообщения: 3678
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение abc »

"Нагрузка" - это то, что потребляет э/энергию. Электронная схема, лампочка, двигатель, динамик и т.д.
Оч. часто, чтобы не перечислять всех возможных потребителей, условно изображается в виде резистора с оговариваемым сопротивлением.
Напр., Rн=8 Ом на выходе усилителя говорит о том, что к усилку подключены динамики или акустич. системы с суммарным сопротивлением, равным 8 Ом.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Здравствуйте.
Настроил STM32F103 на работу с SPI+DMA. Это нужно для работы с LCD от Nokia 1616. Но вот не пойму - как мне дёргать ногу дисплея nCS при таком настроенном автомате? Дело в том, что дисплей кушает 9-битный SPI, а вот у МК только на выбор или 8 или 16 бит. Шлю 16 бит со сдвигом. В конце передачи надо бы защёлкнуть, но настроено DMA и не пойму как это сделать с минимальными вмешательствами. Штатный NSS по факту не является выводом CS.
Спасибо.
Ответить

Вернуться в «Разные вопросы по МК»