radok

Симулятор сигнала.

3 сообщения в этой теме

radok    1

Здравствуйте форумчане. Хотелось бы симулировать вот этот сигнал(частота 5 герц, все что смог найти из информации). Думаю реализовать на Attiny13, набросил самый простой код. Только вот загвостка в управлении этим сигналом(например кнопкой). У кого какие идеи, подскажите. Заранее спасибо за любую информацию.

 

 

#define F_CPU 8200000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRB=0x01;
    PORTB=0x01;
    while (1)
    {
        if (PINB&(1<<PINB1))
        {
            PORTB=0x01;
            _delay_ms(14);
            PORTB=0x00;
            _delay_ms(14);
        } 
        else
        {
            PORTB=0x01;
        }
    }
}

IMG_20161006_085155.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 757

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Каких таких принципов ? Выход + генератора автомобиля подключен напрямую к клемме + аккумулятора. Без всяких диодов. Трёхфазный выпрямитель Ларионова находится непосредственно в генераторе.
    • Ага, только не забывай что визивиг для CAD-а это естественый режим работы, наиболее приближённый к реальности. Но программа с визуализацией не имеет ничего общего - там НЕЧЕГО визуализировать в той форме что мы можем показать на плоском экране или даже в 3Д, для программирования визуальный режим - это шаг назад, для ****лов которые не могут толком удержать более-менее сложную мысль в голове. Проверку правильности схемы ни одна числодробилка провести не сможет никогда. Компьютер может выполнить только формальный DRC-контроль, не забыл ли чего разработчик и укладывается ли проект в возможности изготовителя - не более. И то, прежде чем выполнить контроль его надо формализовать... в виде чего? Да в виде текстовой программы, описывающей схему!
    • Схему электропитания не видел. Но исходя из общих принципов полагал что диод стоит чтобы ток из бортсети не пошел в аккумулятор минуя реле заряда (или как оно там называется)   С чего бы? У  TDA2005 2*5Вт и это при искажениях порядка 10%. У TDA2030 10Вт а их два (не мостом) то есть 2*10Вт. Итого мощность (причем РЕАЛЬНАЯ а не кратковременная как любят писать китайцы) в два раза больше А насчет "Помогите мне определить настоящую мощность автомагнитолы" так с этого и началось. На магнитоле написано OUTPUT POWER 40Вт!!!! И это с УМ на TDA2005. Я обычно грубо делю кЕтайские ватты на 10 и получается близко к реальности. Так что клиент благодарен уже за то что раскрыл ему глаза на параметры его балалайки P.S К тому же я сразу предложил клиенту купить нормальный УМ в сборе на Али, но для него сумма за модуль УМ в 1500р плюс работа показалось дорого.
    • char data = 0; while(*string) { while(!(USART_GetFlagStatus(USART1, USART_FLAG_TXE))); data = *string; USART1->TDR = data; string++; } Зачем тут ещё одна переменная (data) ? 
      Достаточно : while(*string) { while(!(USART_GetFlagStatus(USART1, USART_FLAG_TXE))); USART1->TDR = *string++; } И проблема, вероятнее всего, именно в этом.
      Компилятор под переменную выделяет целый регистр, просто работает потом с отдельной его частью (байтом). И чтение целого регистра по невыровненному адресу (через указатель) вызывает системное исключение.
      Хотя, могу ошибаться. Проверить свои мысли нет возможности.
        Речь, скорее всего, шла о правиле хорошего тона.
      Если функция не модифицирует данные по указателю-аргументу, он должен быть объявлен с квалификатором "const". Это нужно изначально "зарубать на носу". Ибо в дальнейшем могут повалиться ошибки при, например, попытке передачи в функцию указателя на константу. А человек, пишущий программу, будет в недоумении - с какого хера он меня материт за то, что я объявил объект константным и передаю его указатель в функцию, которая не должна менять мои данные, а просто куда-нибудь их выводить ...
    • новичокмихаил , Если LC метра нет то пробуйте намотать на кольцо по больше витков .
    • Поищите готовое решение,называется бистабильное реле.
    •   Как Вы это себе представляете ? Вы хоть схему электропитания автомобиля видели ? Облапошенный клиент не пойдёт бить Вам морду за фактически несделанную (и оплаченную им) "работу" ?