Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 09.02.2017, 16:53   #1
GIGSatellite
Junior Member
 
Регистрация: 03.08.2010
Возраст: 54
Сообщений: 16
Вес репутации: 100/26
GIGSatellite will become famous soon enoughGIGSatellite will become famous soon enough
По умолчанию p24F16 проблема с АЦП

Почему то не работает АЦП посмотрите пожалуйста исходник...что не так?
Системная частота 16 МГц
LATB=0x7ef7;
TRISB=0xfef6;
AD1PCFG=0xffff;
AD1PCFGbits.PCFG4=0;
AD1CSSLbits.CSSL4=1;
AD1CON2=0x6400;
AD1CON3=0x1f27;
AD1CHS=0x8484;
AD1CHSbits.CH0SA=4;
AD1CON1=0x82e2;

if (AD1CON1bits.DONE) {
AD1CON1bits.DONE=0;

WorkADC=ADC1BUF0;
AD1CON1bits.SAMP =1;
}
GIGSatellite вне форума   Ответить с цитированием
Старый 09.02.2017, 17:58   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: p24F16 проблема с АЦП

GIGSatellite
избавьтесь от магических чисел в коде.
не работает или выдает неверные значения?
besogon вне форума   Ответить с цитированием
Старый 09.02.2017, 18:09   #3
GIGSatellite
Junior Member
 
Регистрация: 03.08.2010
Возраст: 54
Сообщений: 16
Вес репутации: 100/26
GIGSatellite will become famous soon enoughGIGSatellite will become famous soon enough
По умолчанию Re: p24F16 проблема с АЦП

считывает всегда 0
GIGSatellite вне форума   Ответить с цитированием
Старый 10.02.2017, 10:46   #4
GIGSatellite
Junior Member
 
Регистрация: 03.08.2010
Возраст: 54
Сообщений: 16
Вес репутации: 100/26
GIGSatellite will become famous soon enoughGIGSatellite will become famous soon enough
По умолчанию Re: p24F16 проблема с АЦП

разобрался...)))
/*
AD1PCFG: A/D PORT CONFIGURATION REGISTER
bit 5-0 PCFG<5:0>: Analog Input Pin Configuration Control bits
0 = Pin configured in Analog mode; I/O port read is disabled; A/D samples pin voltage
*/
AD1PCFG=0xffff;
AD1PCFGbits.PCFG4=0;
/*
AD1CON2: A/D CONTROL REGISTER 2
bit 15-13 VCFG<2:0>: Voltage Reference Configuration bits
VCFG<2:0> VR+ VR-
011 External VREF+ pin External VREF- pin
bit 10 CSCNA: Scan Input Selections for CH0+ S/H Input for MUX A Input Multiplexer Setting bit
0 = Do not scan inputs
bit 5-2 SMPI<3:0>: Sample/Convert Sequences Per Interrupt Selection bits
0000 = Interrupts at the completion of conversion for each sample/convert sequence
*/
AD1CON2bits.VCFG=0b011;
/*
AD1CON3: A/D CONTROL REGISTER 3
bit 15 ADRC: A/D Conversion Clock Source bit
0 = Clock derived from system clock
bit 12-8 SAMC<4:0>: Auto-Sample Time bits
>12 TAD
11111 = 31 TAD
bit 5-0 ADCS<5:0>: A/D Conversion Clock Select bits
TAD=TCY(ADCS + 1)
ADCS > 75 нсек
*/
AD1CON3bits.ADRC=0;
AD1CON3bits.SAMC=0b11111;
AD1CON3bits.ADCS=0b000011;
/*
AD1CON1: A/D CONTROL REGISTER 1
bit 9-8 FORM<1:0>: Data Output Format bits
10 = Fractional (dddd dddd dd00 0000)
bit 7-5 SSRC<2:0>: Conversion Trigger Source Select bits
111 = Internal counter ends sampling and starts conversion (auto-convert)
bit 2 ASAM: A/D Sample Auto-Start bit
0 = Sampling begins when SAMP bit is set
*/
AD1CON1bits.FORM=0b10;
AD1CON1bits.SSRC=0b111;
AD1CON1bits.ASAM=0;
/*
AD1CHS: A/D INPUT SELECT REGISTER
bit 7 CH0NA: Channel 0 Negative Input Select for MUX A Multiplexer Setting bit
0 = Channel 0 negative input is VR-
bit 3-0 CH0SA<3:0>: Channel 0 Positive Input Select for Sample A bits
0100 = Channel 0 positive input is AN4
*/
AD1CHSbits.CH0NA=0;
AD1CHSbits.CH0SA=0b0100;
AD1CHSbits.CH0NB=0; //не обязательно
AD1CHSbits.CH0SB=0b0100;//не обязательно
/*
AD1CSSL: A/D INPUT SCAN SELECT REGISTER (LOW)
0 = Analog channel omitted from input scan
*/
AD1CSSL=0;

AD1CON1bits.ADON=1;
AD1CON1bits.SAMP=1; // start sampling, then after 31Tad go to conversion
GIGSatellite вне форума   Ответить с цитированием
Старый 10.02.2017, 12:22   #5
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: p24F16 проблема с АЦП

по возможности упаковывайте в структуры.
константы можно задефайнить макросами.
Ваш код в перспективе то, что будет продаваться.
аля
Код:
...
pic32mx_adc0->adcon1 = ADC_MODULE_ON | ADC_IDLE_CONTINUE | ADC_FORMAT_INTG|ADC_CLK_AUTO;
...
а не
Код:
...
AD1PCFG=0xffff;
AD1PCFGbits.PCFG4=0;
...
через годы к коду с магическими числами будет сложно вернуться.
пишите так, чтобы использовать модуль потом максимально долго с минимальными правками.
besogon вне форума   Ответить с цитированием
Старый 10.02.2017, 12:44   #6
GIGSatellite
Junior Member
 
Регистрация: 03.08.2010
Возраст: 54
Сообщений: 16
Вес репутации: 100/26
GIGSatellite will become famous soon enoughGIGSatellite will become famous soon enough
По умолчанию Re: p24F16 проблема с АЦП

да некогда все...
GIGSatellite вне форума   Ответить с цитированием
Старый 10.02.2017, 16:46   #7
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,236
Вес репутации: 3684/106
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: p24F16 проблема с АЦП

Цитата:
Сообщение от GIGSatellite Посмотреть сообщение
да некогда все...
Это иллюзия.
Все стандартные дефайны и адреса уже давно прописаны в соответствующих файлах для процессоров.
Их нужно подключить к проекту и использовать, вернее прямо из даташита копируются и в текст программы вставляются.
А уж времени и нервов сэкономите.... Вам и не передать сколько ;-)
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 10.02.2017, 17:17   #8
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: p24F16 проблема с АЦП

IceS
Все стандартные дефайны и адреса уже давно прописаны в соответствующих файлах для процессоров. - даже если бы и не прописаны. нельзя оставлять в коде магические числа.
besogon вне форума   Ответить с цитированием
Старый 10.02.2017, 18:58   #9
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,236
Вес репутации: 3684/106
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: p24F16 проблема с АЦП

Цитата:
Сообщение от besogon Посмотреть сообщение
даже если бы и не прописаны. нельзя оставлять в коде магические числа.
Да? А кто запрещает?
Вы как-то очень категоричны в своих сообщениях в последнее время.
Очень даже можно, но не удобно и в последствии - плохо поддерживаемо.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 10.02.2017, 22:04   #10
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,314
Вес репутации: 2626/57
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: p24F16 проблема с АЦП

IceS
Очень даже можно - можно, если этот код никто не увидит.
если никто не увидит, то нет вопросов.

естественно, никогда не будет такого, что код с магическими числами уйдет в серию. Вы распишетесь в том, что ознакомились с таким кодом?

тогда зачем говорите, что так можно делать?
besogon вне форума   Ответить с цитированием
Старый 10.02.2017, 23:57   #11
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,477
Вес репутации: 5450/125
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: p24F16 проблема с АЦП

Цитата:
Сообщение от IceS Посмотреть сообщение
Да? А кто запрещает?
Дак проклянет же, и епитимью возложет...
dosikus вне форума   Ответить с цитированием
Старый 11.02.2017, 00:09   #12
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,236
Вес репутации: 3684/106
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: p24F16 проблема с АЦП

Цитата:
Сообщение от besogon Посмотреть сообщение
IceS
Очень даже можно - можно, если этот код никто не увидит.
если никто не увидит, то нет вопросов.

естественно, никогда не будет такого, что код с магическими числами уйдет в серию. Вы распишетесь в том, что ознакомились с таким кодом?
Да едрить, твою, на искосок...
Что за навязчивая идея, что этот код обязательно кто-то должен смотреть? Да даже если и будет смотреть, ну поматюкается как мы тут в топике, ну может перепишет кусок этого кода, максимум перенаправит стрелки на автора (мол пусть сам занимается его поддержкой). На том все и закончится
Что подразумевается под фразой "код уйдет в серию"?
Уйдет устройство? Это я понимаю, но никак не код. А в устройстве пофигу, что там в исходнике цифры или буквы. В девайсе вообще этой писанины не будет, там машинные команды.
Кто написал код - тот его и будет поддерживать.
Что пристал к человеку?

PS по поводу расписаться за увиденный код :-), звучит очень смешно, особенно если учесть , что мой код никого не интересует, я его сам пишу, сам отлаживаю, сам сопровождаю и правлю. А по мимо этого, как и 95% завсегдатаев форума, рисую схемы, развожу платы, паяю при неоходимости, продумываю корпус и т.п. Так что за пару цифр в коде мне точно никто "фи" не выскажет.

Цитата:
тогда зачем говорите, что так можно делать?
А докажите что нельзя.
Я и ТС вот доказали что можно. Оно не удобно - это да. Но не невозможно!!!
Или Вы из тех програмистов, которые когда ложатся спать ставят на тумбочку два стакана? Один с водой, второй пустой. Первый если захочется пить, а второй если не захочется?
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...

Последний раз редактировалось IceS; 11.02.2017 в 00:12. Причина: подправил
IceS вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема АЦП в p16f876a kolovrat5 Продукция MICROCHIP 3 12.05.2011 18:31
Проблема с АЦП на PIC16C77 и PIC16F777 SonGoku Продукция MICROCHIP 13 26.01.2010 18:18
[16f877a,hi-tech c] Проблема с многоканальным АЦП Urvin Вопросы начинающих 6 25.08.2009 13:14
проблема с АЦП vlsi13 Продукция MICROCHIP 26 13.09.2007 09:08
Срочно!!! Проблема с АЦП!!! Lab_12 Продукция MICROCHIP 6 19.07.2007 13:49


Часовой пояс GMT +3, время: 23:11.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot