Я делаю проект, и мне нужен микроконтроллер (ATmega328), чтобы делать эти две вещи:
Микросхема будет постоянно считывать свои входные контакты, потому что напряжение постоянного тока и необходимый период могут измениться в любой момент.
Я думал сделать первый с PWM, а второй вручную установить выходной контакт или очистить его, отсчитывая период с помощью таймера. Однако у меня вопрос: можно ли эти две вещи делать вместе?
Я думаю, что в коде микроконтроллер сможет выполнять рутину за раз. Итак, как я мог генерировать эти две волны одновременно (если это возможно)? Если это возможно, можно ли использовать два разных выхода ШИМ для генерации двух разных сигналов вместо использования таймера и генерации второго сигнала вручную?
Каждый вывод OCnx ATmega328 может выводить свою собственную независимую форму волны ШИМ. Кроме того, каждый таймер («n») может иметь свою собственную частоту и/или фазу. Кроме того , ATmega328 PB имеет вывод, который может выводить сигнал, представляющий собой модуляцию двух сигналов, генерируемых отдельными таймерами.
Поскольку вы говорите, что «напряжение постоянного тока и необходимый период могут измениться в любой момент», внимательно прочитайте техническое описание, чтобы узнать, когда вы можете безопасно изменить значения, используемые для генерации сигналов. Если значения изменены в неподходящее время, форма волны может дать сбой, давая вам сигнал, который не имеет постоянного тока 50%.
Тендеро
Игнасио Васкес-Абрамс