Длительность импульса и период
Написал kennykiller дата Пн, 12/19/2011 - 08:21
Я совсем новичок в программировании контролеров. Прошу помощи у знающих людей. Нужно сформировать последовательность импульсов длительностью 1мс с периодом 20мс для управления сервоприводом. Вот программа:
#include <avr/io.h> #include <avr/io.h> #include <util/delay.h> int main(void) { DDRC = 0xFF; unsigned char i; while(1) { _delay_ms(1000); for (i=0;i<255;i++) { PORTC = 0b111111; _delay_ms(1); PORTC = 0b000000; _delay_ms(19); } } }
но почему с помощью задержек длительность импульса получается всегда больше?(по данному коду получается 5мс, даже если поставить ее 1мкс получаем 2мс). Подскажите в чем ошибка? Спасибо
»
Я бы не использовал бы для
Я бы не использовал бы для формирования задержек такой алгоритм. На много надежнее использовать таймеры.
Проверь кстати от чего у тебя тактируется микроконтроллер может дело именно в этом.