реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Иногда не стартует АЦП
yuragv
сообщение Nov 8 2011, 09:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 19-12-08
Пользователь №: 42 616



У меня на MSP430F2012 и MSP430F2234
иногда не стартует АЦП.
и помогает только ресет.

Кто-нибудь сталкивался с таким явлением?
И как с ним бороться?


Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 8 2011, 17:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



В чем это проявляется? Как вы это выявили? Код инициализации/работы с АЦП, его электрическую входную схему для пояснений приложить к сообщению можете?
Go to the top of the page
 
+Quote Post
yuragv
сообщение Nov 21 2011, 15:16
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 19-12-08
Пользователь №: 42 616



Заключается в том что не вызывается прерывание.
Помогает только перезагрузка.

void InitADC(void)
{
ADC10CTL0 &= ~(ENC);
ADC10CTL1 = INCH_1+SHS_0+ADC10DIV_7+ADC10SSEL_3+CONSEQ_3;
ADC10CTL0 = REF2_5V+REFON+SREF_1+ADC10SHT_3+ADC10SR+MSC+ADC10IE;

ADC10AE0 = (PIN_RESISTOR+PIN_OVERCURRENT_MEASURE); // analog input enable

ADC10DTC0 = ADC10CT;

ADC10DTC1 = ARRAY_ADC_SIZE; //_number transfers in block
ADC10SA = (word)&BufferADC; // start adress data transfer

ADC10CTL0 |= ADC10ON; // ADC10 On
ADC10CTL0 |= (ADC10SC+ENC); // start conversion

flagADCStart=false;
}


#pragma vector=ADC10_VECTOR
__interrupt void ADC10_VECTOR_ISR(void)
{
ValueADC[0]=(BufferADC[0]+BufferADC[2]+BufferADC[4]+BufferADC[6])>>2;
ValueADC[1]=(BufferADC[1]+BufferADC[3]+BufferADC[5]+BufferADC[7])>>2;
flagADCStart=true;
}
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 22 2011, 16:33
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Вы использовали самый замысловатый режим работы этого АЦП да еще и с использованием модуля переноса данных. К сожалению, все мои немногочисленные попытки использования модуля DTC в этом АЦП окончились без успеха. sad.gif Так что "точного диагноза" я поставить не смогу. Могу лишь порекомендовать вместо использования режима непрерывного преобразования последовательности каналов использовать режим однократного преобразования последовательности каналов, перезапуская каждый раз преобразование АЦП прямо в прерывании.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 08:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016