|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:45 am
|
Страница 1 от 1
|
[ 10 мнения ] |
|
msp430g2553 ADC10 въпроси
| Автор |
Съобщение |
|
Hardest
Ранг: Минаващ
Регистриран на: Сря Окт 16, 2013 7:37 pm Мнения: 8
|
 msp430g2553 ADC10 въпроси
Здравейте, играя си със мсп-то да видим какво съм научил от университета та към въпроса, искам с потенциометър да регулирам яркостта с която свети диода, всичко през мсп-то, обаче имам малко self-объркване, Output-a на ADC-то трябва да е Input на потенциометъра ли ? Общо взето така си ги представям нещата ама не се случва в реалния свят 
|
| Чет Май 29, 2014 2:05 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: msp430g2553 ADC10 въпроси
За да регулираш яркостта, трябва това "value = ADC10MEM;" от това value става индекс на масив, защото светодиодите светят много нелинейно. Числото от масива го зареждаш в таймер работещ в PWM режим.
1. Конфигурираш ядрото, ADC, таймера, входовете и изходите. 2. Прочиташ ADC 3. От прочетеното ADC взимаш стойност от масив(таблица) 4. С тази стойност зареждаш PWM. 5. Отиваш на 2
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Чет Май 29, 2014 2:20 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: msp430g2553 ADC10 въпроси
Да, IKE ти е казал как се прави. С дебъгера виж АЦП какви стойности ти дава в двете крайни положения на потенциометъра. Да речем 0 и 511. Тази ти програма не прави нищо друго, така че истинското PWM можеш да го прескочиш на този етап. Четеш АЦП, умножаваш по 2 ,запомняш някъде това число "А" (0..1022).Стартираш АЦП-то. Всичко това става за няколко такта. Палиш светодиода и правиш дилей "А" цикъла, угасяш диода и правиш дилей (1023-"А") . Пак отиващ към четене на АЦП. После почваш да четеш за PWM.
|
| Чет Май 29, 2014 2:41 pm |
|
 |
|
Hardest
Ранг: Минаващ
Регистриран на: Сря Окт 16, 2013 7:37 pm Мнения: 8
|
 Re: msp430g2553 ADC10 въпроси
Под ядрото имаш в предвид, MCU-то предполагам, ADC съм съчинил горе долу някаква конфигурация, I/O ми е горе долу понаправен. Как да направя value индекс на масив ?
|
| Чет Май 29, 2014 4:21 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: msp430g2553 ADC10 въпроси
Като гледам са ти казали как се прави, ама са пропуснали да ти кажат, че програмата ти е леко сбъркана. Отделно входа на АЦП-то трябва да свързано към изхода на потенциометъра, т.е. и понятията ти са объкани. Обаче ако не знаеш как се прави индекс към масив е още рано да ти обясняваме какво точно си объркал в програмата - трябва малко четене преди това  . Въпреки това ще направя опит да ти кажа - първо въобще няма да ти проверявам дали конфигурациите на регистрите са ти правилни, защото трябва да тръгна да чета дейташита, а няма време за това. Основното обаче е, че след като стартираш АЦП-то не можеш просто на следващия ред да опитваш да четеш какво е измерило, защото то още няма да го е направило. Затова или вкарай закъснение между стартирането на ацп-то и четенето на резултата, което да е по-голямо от времето на преобразуване или ползвай прекъсването за това. Сега като гледам просто преспиваш контролера в прекъсването и ако няма какво да го събуди той просто си стои там. Така че имаш два проблема - тайминга след стартирането на ацп-то и успиването в прекъсването. Махни всички спанета, за да си сигурен, че първо меренето работи и премести четенето на ацп-то в прекъсването му. Също така трябва да нулираш флага на прекъсванията, когато влизаш в тях, защото иначе се получава един безкраен цикъл на влизане/излизане в/от прекъсване. Това е достатъчно проста програма, за да имаш толкова грижи и това показва, че ти липсва малко теоритична подготовка, т.е. четене  .
|
| Чет Май 29, 2014 5:38 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: msp430g2553 ADC10 въпроси
При тези контролери автоматично се нулира флага при прекъсване и трябва специално да го вкючиш, ако искаш да живееш рисковано.
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Чет Май 29, 2014 8:41 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: msp430g2553 ADC10 въпроси
Димитър ти го е написал коректно - ако изместиш закъснението да е между стартирането на АЦП и четенето - ще се приближиш още една идея до описаната поредица. Това закъснение има странен коментар - копи/пейст отнякъде. Предполагам, това закъснение е нужно еднократно след конфигурирането на АЦП. В безкрайния цикъл закъснение по принцип не е нужно - процесорът стартира АЦП, влиза в режим LPM0 (редът ,който ти е изключен//)и чака прекъсване да го събуди. Прекъсването е от АЦП,няма друго прекъсване, процедурата на прекъсване само събужда контролера. Според чаршафа е достатъчно. Дори без корекции на главния цикъл би трябвало да върви - ако конфигурациите са верни. Но все пак тоя дилей и изключения режим LPM0 сочат ,че нещо не върви коректно - не е конфигурирано правилно.
|
| Чет Май 29, 2014 9:04 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: msp430g2553 ADC10 въпроси
Примера най-вероятно е от copy/paste от http://www.ti.com/lit/zip/slac485иначе проблема му е че неизвесно защо, не иска да прави PWM от таблица. За това и е коментирал редове, които му трябват.
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Чет Май 29, 2014 10:01 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: msp430g2553 ADC10 въпроси
E ,човекът иска да светне светодиод, малко по-сложно , но си е задача "моят бърви блинк-лед". Ти го пращаш да чете таймери и т.н, пишеш му за нелинейности на светенето... Трябва някаква по-проста идея, ковто да не го плаши.
|
| Чет Май 29, 2014 10:09 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: msp430g2553 ADC10 въпроси
Грешката е вярна. Ще прочете примерите от http://www.ti.com/lit/zip/slac485 , ще ги комбинира и е готов.
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Чет Май 29, 2014 10:14 pm |
|
|
|
Страница 1 от 1
|
[ 10 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|