Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Ответ: Понравилось одно сравнение, но работает частично+++
Отправлено
dshabrov
(84.21.231.242)
13 ноября 2010, г. 16:12
В ответ на:
if ((unsigned int)(val - 830) > 10) beep = 250;
отправлено
vmp
13 ноября 2010, г. 15:24
Делал так:
[code]
Temp1 = (unsigned int)(Temp - (AverTemp1>>8));
if (Temp1 > 15) {Beep = 5;}
printf ("%i\n",Temp1);
[/code]
В каких то случаях printf выдает -1 и происходит биип.
Составить ответ
|
Вернуться на конференцию
Ответы
Там надо вычитать не среднее, а нижний предел. Для вычисляемого на каждом шаге среднего выигрыша не дает. А промасштабировать значения, чтобы в 1 байт влезало возможно? Или точности не хватит?
-
vmp
(13.11.2010, 16:18:10
87.245.155.198
,
пустое
)
Ответ: Думаю точности хватит. А как масштабировать - просто привести к uchar?
-
dshabrov
(13.11.2010, 16:20:59
84.21.231.242
,
пустое
)
Ну как 835 запихнуть в uchar? Не влезет. Надо так подбирать диапазон входных значений переменных, чтобы результат и промежуточные значения не вылезали за пределы 0..255 или -128..127.
-
vmp
(13.11.2010, 16:26:38
87.245.155.198
, 185 байт)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 89:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru