| Автор |
Съобщение |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 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 |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: pic16f18875 adc not sampling
провери си времената за конвертиране на резултата
_________________ main[-1u]={1};
|
| Пон Май 10, 2021 9:17 am |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
 Re: pic16f18875 adc not sampling
_________________ Хайде де!
|
| Пон Май 10, 2021 1:21 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: pic16f18875 adc not sampling
_________________ main[-1u]={1};
|
| Пон Май 10, 2021 1:52 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: pic16f18875 adc not sampling
Що не пробваш да полираш флага за прекъсване ? Отделно ти използваш ли вградения мат модул ?
|
| Пон Май 10, 2021 5:32 pm |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
 Re: pic16f18875 adc not sampling
Пробвах. Първо пулвам този, после флага. Няма разлика. Само базовия модул ползвам. Сигурно някоя тъпотия ми обягва
_________________ Хайде де!
|
| Пон Май 10, 2021 6:34 pm |
|
 |
|
ig_ivanov
Ранг: Професионалист
Регистриран на: Съб Май 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 |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: pic16f18875 adc not sampling
Ами странно е, ако не му стига време няма да е нула. Проблема с времето е ако не успява да зареди семпъл-холд схемата, това се случва или ако превключил вход и не изчакаш достатъчно време, или ако източника ти е с много голямо съпротивление. И в двата случая обаче това което четеш няма да е нула а ще шава, е освен ако не сетваш вход и на следващата операция започваш четене. Ноп-а който слага няма общо с това, най-вероятно е някакъв уорк араунд на проблем с go бита. Да няма нещо друго да клати тоя крак, скоро така на една въшка се нервих с адц-то докато не видях че там по дефаулт излиза някакъв Клок.
|
| Вто Май 11, 2021 4:47 pm |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
 Re: pic16f18875 adc not sampling
Като добавих ADPRE = 1; и тръгна. Не мога да разбера обаче какъв му е проблема, че не работи изобщо без пречардж.
_________________ Хайде де!
|
| Сря Май 12, 2021 1:21 am |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: pic16f18875 adc not sampling
И още един въпрос: Защо без pre-charge при постъпково изпълнение с дебъгера - работи?
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Сря Май 12, 2021 9:03 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 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 реда и работи пушка. 
|
| Сря Май 12, 2021 9:58 pm |
|
 |
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 2:21 am Мнения: 12765 Местоположение: София
|
 Re: pic16f18875 adc not sampling
Тия микроконтролери са ебати ташака. ADC80 се подкарва без никакъв код!
|
| Сря Май 12, 2021 11:36 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: pic16f18875 adc not sampling
По принцип ADC-то на пиковете е едно от най-простите за подкарване, но това конкретно са му сложили много екстри които си искат някой да ги пасе. Но според мен тук има друг проблем, тоя регистър който е барал има конкретно предназначение и нормално няма нужда да се сетва. Според мен нещо не му е наред или по конфигурацията на И/О-то или времената между сетването на входа и четенето му/настройките на адц-то.
|
| Чет Май 13, 2021 4:55 am |
|
|