Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.12.2016, 22:00   #2
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: настенный выключатель (дубль два)

Напаял на плату 5 шт резисторов 1 кОм, по схеме


и встал вопрос: А как выглядит analog.read на чистом С?
Как обычно и полагается в таких случаях - я погуглил...
Так как вопрос мной сформулирован криво, гуглил я долго, но таки нашел:
Код:
    #include <avr/io.h>
    #define PORT_ON(port,pin) port |= (1<<pin) //классные кстати дефайны, надо бы запомнить.
    #define PORT_OFF(port,pin) port &= ~(1<<pin)
    int main(void)
    {
       unsigned int adc_value; // Variable to hold ADC result
       DDRD=0xff; // Set Port D as Output
       PORTD = 0x00;
       ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS0);
       // ADEN: Set to turn on ADC , by default it is turned off  - тут понятно
       //ADPS2: ADPS2 and ADPS0 set to make division factor 32 - А вот тут непонятно! Что это и зачем?
       ADMUX=0x05; // ADC input channel set to PC5 Опять не очень понятно, а если у меня 2 независимых входа?
       while (1)
       {
          ADCSRA |= (1<<ADSC); // Start conversion
             while (ADCSRA & (1<<ADSC)); // wait for conversion to complete
          adc_value = ADCW; //Store ADC value
                if (adc_value < 512)
                {
                      PORT_OFF(PORTD,7); // Toggle LEDs
                      PORT_ON (PORTD,6);
                } 
                else
                {
                      PORT_ON(PORTD,7); // Toggle LEDs
                      PORT_OFF (PORTD,6);
                }
       }
    }
Если кто-нибудь может мне объяснить на уровне "для альтернативно одаренных" назначения битов ADCW, ADSC, ADPS2, ADPS0 (предполагаю есть еще и ADPS1?), буду благодарен.
Пока пойду попробую маны почитать....
Tohin вне форума   Ответить с цитированием
 


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

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

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

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


Текущее время: 12:41. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика