![]() |
![]() |
#2 |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 ![]() ![]() ![]() |
![]()
Напаял на плату 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); } } } Пока пойду попробую маны почитать.... |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|