Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

А у меня отпуск! :) Сегодня сделал джойстик для "радиоупраления", завтра сфотаю. У меня пара вопросиков:

Отправлено Двоешник (193.200.150.125) 25 июня 2010, г. 16:40


Джойстик (двух- осевой резистор от пульта плейстейшн)подключен к плате с мегой, мега ацепирует напряжение с средних движков потенциометров X и Y.
Вот код преобразования аналогового сигнала в цифру:

float ADC_Measured_Voltage(unsigned char Channel) {

unsigned long Measured_U=0;
unsigned int temp_ADC=0;
unsigned char i=0;

switch (Channel) { /*Переключалка каналов*/
case 0:
ADMUX &= ~(1<<MUX0);
break;
case 1:
ADMUX |= (1<<MUX0);
break;
}



for (i=0;i<250;i++) {
ADCSRA |= (1<<ADSC);
while((ADCSRA&(1<<ADSC))!=0);
Measured_U +=ADC;
}

return( ((float)Measured_U) * ( 5.0/(1024.0*250.0)) );
}


На выходе я получаю напряжениее с типом данных float, но по радиоканалу я передавать float не могу, и делаю так:

Tx_Buffer[0]=85; /*Начало пакета*/
Tx_Buffer[1]=(int)(((255*ADC_Measured_Voltage(0))/4.8)+0.5);
Tx_Buffer[2]=(int)(((255*ADC_Measured_Voltage(1))/4.8)+0.5);
Status_Tx=Transmit_Package_CC1101(Tx_Buffer,3);


То есть я сначала привожу результат измерения к новой шкале (было от 0 до 4,8 получаю от 0 до 255) а потом привожу результат к "in"t и округляюсь.

Так работает, но скорее всего это я не правильно делаю, что подскажите?
Спасибо!


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 123:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru