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

 
 
> ADC12 в MSP430F247 - не заканчивается преобразование
SanvaldYV
сообщение Oct 28 2008, 10:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371



Всем доброго времени суток.

Появилась необходимость задействовать внутренний АЦП, для измерения сигнала на одном канале - А3 (Р6.3), запуск вручную битом "ADC12SC". Вроде бы все просто. Но где то по видимому допустил ошибку, потому что после запуска преобразования бит "ADC12BUSY" в регистре "ADC12CTL1" устанавливается и... стоит. Т.е. sample-and-conversion начинается, но не заканчивается.
Вот код инициализации АЦП:
Код
  ADC12CTL0 = 0;
  ADC12CTL1 = 0;
  ADC12IE = 0;

   // ножку подключим к АЦП (ADC_SEL_PORT - P6SEL, A3_I1 - 3)
  ADC_SEL_PORT |= A3_I1;

  // АЦП включен, опора внутренняя - 1.5В
  ADC12CTL0 = SHT0_0|SHT1_0|REFON|ADC12ON;
  // клоки - от АCLK (38400)
  ADC12CTL1 = CSTARTADD_0|ADC12SSEL_1;

  // VR+ = VREF+ and VR-- = AVSS
  ADC12MCTL0 = SREF_1 | INCH_3 | EOS;

  // прерывания не нужны
  ADC12IE = 0;
  ADC12IFG = 0;


а вот так выглядит запуск преобразования:
Код
  ADC12CTL0 |= ENC|ADC12SC;
  __no_operation();__no_operation();__no_operation();__no_operation();
  
  while ( ADC12CTL1 & ADC12BUSY ) __no_operation();


В "ADC12CTL1" ADC12BUSY не снимается (по ЮзерМануалу он только для чтения, т.е. сбрасывать его руками вроде как не нужно...).

Может кто заметит какой нибудь косяк? wacko.gif

П.С. АCLK пашет, от него работает один таймер, и пробовал выводить наружу аппаратно через Р5.6 (ACLK), смотрел осциллом - все нормально.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SanvaldYV
сообщение Oct 28 2008, 15:36
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371



rezident , Сергей Борщ

Спасибо!
Я почему то решил что для запуска единичного преобразования достаточно установить бит начала преобразования, после чего после сэмплирования автоматом начнется преобразование.
Ушел читать мануалsmile.gif

a14.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 28 2008, 17:01
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Юрий Санвальд @ Oct 28 2008, 18:36) *
Я почему то решил что для запуска единичного преобразования достаточно установить бит начала преобразования, после чего после сэмплирования автоматом начнется преобразование.
Так и будет, если вы установите SHP. И ADC12SC сбросится автоматически.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


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


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