|
кто то использует PSoC Cypress ?
никак не получается сделать точный счетчик, для измерения длительности импульса
что я делаю
создал счетчик 16бит Counter16_1
тактирую его от 48МГц 24*2
подаю на вход импульс от таймера тактируемого 32кгц
Timer8_1_WriteCompareValue(40); // длина импульса 32кгц/255 где 40 длительность импульса
Timer8_1_WritePeriod(255);
обработка по прерыванию пина
Counter16_1_Stop();
temp0=Counter16_1_wReadCounter();
DecToAscii5();
TxZeroTerminatedRamString(repl_buffer);
Counter16_1_WritePeriod(65000);
Counter16_1_Start();
это получаю в терминале, считает от 65000 - длительность =
07020 06798 07160 06924 07014 07086 06886 07010 06786 07092 06896 06830 06872
06920 07098 06774 06882 06714 07018 06688 06888 06954 07040 07068 07006 06966 0
7022 06896 06746 06984 06872 06950 06790 07018 07004 06954 06908 06980 07020
почему такой разброс? все же от одного контроллера
E-mail: info@telesys.ru