Отговори на тема  [ 17 мнения ]  Отиди на страница 1, 2  Следваща
pic16f18875 adc not sampling 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение pic16f18875 adc not sampling
На въпросния чип в ерата пише, че трябва да се добави един nop преди да започне да се пулва ADGO бита.
Пиша на С и го вмъквам с
asm("nop");
В дизасембера кодът изглежда наред.
Въпреки това като пусна ацп-то да семлира във free running резултатът винаги е 0, а като го пусна през дебъгера постъпково (с f7) резултатът е коректен.
Идеи?

Едит: през дебъгера във free running резултатът също е 0.

_________________
Хайде де!


Пон Май 10, 2021 9:09 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: pic16f18875 adc not sampling
провери си времената за конвертиране на резултата

_________________
main[-1u]={1};


Пон Май 10, 2021 9:17 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение Re: pic16f18875 adc not sampling
Код:

    ANSELDbits.ANSD7 = 1;
    ADREFbits.ADNREF = 0;
    ADREFbits.ADPREF = 0;
    ADPCHbits.ADPCH = 31;
    ADACQbits.ADACQ = 250;//нали това е времето за семплиране

    ADCON0bits.ADON = 1;
    ADCON0bits.ADCONT = 0;
    ADCON0bits.ADCS = 0;
    ADCON0bits.ADFRM = 1;
    ADCON0bits.ADGO = 1;
    asm("nop");
    asm("nop");
    asm("nop");
    while(ADCON0bits.ADGO)
    {
    }

_________________
Хайде де!


Пон Май 10, 2021 1:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: pic16f18875 adc not sampling
http://ww1.microchip.com/downloads/en/D ... 01802D.pdf
ADCS стр 340
ADACQ на 350

ам ти така или иначе чакаш ГО да падне ?!?!

виж и тва "уж" подробно кое как
http://ace.cs.ohio.edu/~avinashk/classe ... 12-ADC.pdf

_________________
main[-1u]={1};


Пон Май 10, 2021 1:52 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: pic16f18875 adc not sampling
Що не пробваш да полираш флага за прекъсване ? Отделно ти използваш ли вградения мат модул ?


Пон Май 10, 2021 5:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение Re: pic16f18875 adc not sampling
ToHu написа:
Що не пробваш да полираш флага за прекъсване ? Отделно ти използваш ли вградения мат модул ?

Пробвах. Първо пулвам този, после флага. Няма разлика.
Само базовия модул ползвам. Сигурно някоя тъпотия ми обягва

_________________
Хайде де!


Пон Май 10, 2021 6:34 pm
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Съб Май 21, 2016 9:47 pm
Мнения: 577
Местоположение: Бургас
Мнение Re: pic16f18875 adc not sampling
TRISDbits.TRISD7 = 1 ?
ADCON2bits.ADMD = 0;
ADCLK = ?
ADPRE = ?
ADACQ = ?
ADCAP = ?
ADACT = 0x1F
The maximum recommended impedance for analog sources is 10 kOm.


Пон Май 10, 2021 9:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение Re: pic16f18875 adc not sampling
Пробвай да добавиш още nop-ове или намали клока на ацп-то :)


Вто Май 11, 2021 10:21 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: pic16f18875 adc not sampling
Ами странно е, ако не му стига време няма да е нула. Проблема с времето е ако не успява да зареди семпъл-холд схемата, това се случва или ако превключил вход и не изчакаш достатъчно време, или ако източника ти е с много голямо съпротивление. И в двата случая обаче това което четеш няма да е нула а ще шава, е освен ако не сетваш вход и на следващата операция започваш четене.
Ноп-а който слага няма общо с това, най-вероятно е някакъв уорк араунд на проблем с go бита.
Да няма нещо друго да клати тоя крак, скоро така на една въшка се нервих с адц-то докато не видях че там по дефаулт излиза някакъв Клок.


Вто Май 11, 2021 4:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение Re: pic16f18875 adc not sampling
Като добавих
ADPRE = 1;
и тръгна.
Не мога да разбера обаче какъв му е проблема, че не работи изобщо без пречардж.

_________________
Хайде де!


Сря Май 12, 2021 1:21 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение Re: pic16f18875 adc not sampling
И още един въпрос: Защо без pre-charge при постъпково изпълнение с дебъгера - работи?

_________________
Най-опасният враг на истината и свободата е мнозинството.


Сря Май 12, 2021 9:03 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: pic16f18875 adc not sampling
Ами причината пакможе да е свързана с недостатъчно време за семплиране. Сетнал ли си ADCAP да е 0? Времето за семплиране е около 4.6 мкс или около 25 операции на 20 мхц. Това което този регистър прави е че овъррайдва всички други настройки на портовете, ако нещо там не ти е наред може това да помага. Друго което става е:
When ADPRE!=0, acquisition time cannot be ‘0’. In this case, setting ADACQ to ‘0’ will set a maximum acquisition time (256 ADC clock cycles). When precharge is disabled, setting ADACQ to ‘0’ will disable hardware acquisition time control.


Сря Май 12, 2021 3:49 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение Re: pic16f18875 adc not sampling
Тия пикове са гола вода. АЦП-то на AVR-a се подкарва с точно 3 реда и работи пушка. :D


Сря Май 12, 2021 9:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 2:21 am
Мнения: 12765
Местоположение: София
Мнение Re: pic16f18875 adc not sampling
Тия микроконтролери са ебати ташака. ADC80 се подкарва без никакъв код!


Сря Май 12, 2021 11:36 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: pic16f18875 adc not sampling
По принцип ADC-то на пиковете е едно от най-простите за подкарване, но това конкретно са му сложили много екстри които си искат някой да ги пасе. Но според мен тук има друг проблем, тоя регистър който е барал има конкретно предназначение и нормално няма нужда да се сетва. Според мен нещо не му е наред или по конфигурацията на И/О-то или времената между сетването на входа и четенето му/настройките на адц-то.


Чет Май 13, 2021 4:55 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 17 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 0 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни