Вот я просто взял и скопировал вашу проверку. Всеравно девятки вылазят. Вынес в цикл, всёравно вылазят. А насчет что пятерка будет выскакивать- вы правы. ИсправлюARV писал(а): потому что просто не может быть девяток, если бы вы сделали так:
CodeVision AVR в вопросах и ответах
-
misterkuk
- Мучитель микросхем
- Сообщения: 400
- Зарегистрирован: Сб апр 17, 2010 10:30:13
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
ну блин, вы даёте! как же это может быть, если в случае девяток на ЖКИ в моём коде ВООБЩЕ НИЧЕГО НЕ ВЫВОДИТСЯ?! if не срабатывает - ВЫВОДА НЕТ ВООБЩЕ!!!misterkuk писал(а):Всеравно девятки вылазят.
предлагаю вам выкласть тут ваш проект в протеусе вместе с исходниками и прошивкой, я попробую сам, ибо НЕ ВЕРЮ
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
misterkuk
- Мучитель микросхем
- Сообщения: 400
- Зарегистрирован: Сб апр 17, 2010 10:30:13
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Буду только благодарен за помощь:) Я убрал с кода работу с еепромом и заплминанием датчиков чтоб не ломали голову. Всёравно на результат это не повлияло:)ARV писал(а): предлагаю вам выкласть тут ваш проект в протеусе вместе с исходниками и прошивкой, я попробую сам, ибо НЕ ВЕРЮ
- Вложения
-
- termometr.rar
- (147.77 КБ) 158 скачиваний
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
И через какое время они должны вылезать ? Жду уже несколько минут - показания не менются 
Добавлено after 8 minutes 30 seconds:
Надоело ждать
7 минут, полёт нормальный

Добавлено after 8 minutes 30 seconds:
Надоело ждать
7 минут, полёт нормальный
Спойлер
-
misterkuk
- Мучитель микросхем
- Сообщения: 400
- Зарегистрирован: Сб апр 17, 2010 10:30:13
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
хммм. Та сразу почти скачут показания. У меня есть устройство собранное в железе и там тоже скачут показания. Правда там нет проверки. Попробую на макетке щас собрать всё. Так а почему так? Может версия протеуса другая?Аlex писал(а):И через какое время они должны вылезать ?
Жду уже несколько минут - показания не менются![]()
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
блин, я потратил на вас столько времени! а у вас НЕ МОЙ КОД, БЛИН!
вы хоть видите разницу между тем, что написал я и тем, что делаете вы?!
я:
вы хоть видите разницу между тем, что написал я и тем, что делаете вы?!
я:
вы:ARV писал(а):temp = ds18b20_temperature( &RomCode[2][0]);
if((temp > -60) && (temp < 150)) sprintf( LcdBuff,"pechka %.1f", temp);
зачем вы в sprintf СНОВА вызываете непроверенную функцию получения температуры?!temp=ds18b20_temperature( &RomCode[2][0] );
if((temp > -60) && (temp < 150))
{
lcd_gotoxy(0,2);
sprintf( LcdBuff,"pechka %.1f", ds18b20_temperature( &RomCode[2][0] ) );
delay_us(50);
lcd_puts(LcdBuff);
}
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
У меня 7.10. Но я не думаю, что проблема в протезе. Как вариант - Вы что-то напутали и подкидываете протеусу не тот hex.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
надо кликать кнопками, подключающими датчики - тогда возникают сбои.Аlex писал(а):7 минут, полёт нормальный
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Да, при кликах сразу вылезает.

А почему непроверенную ? sprintf стоит в блоке условия :ARV писал(а):зачем вы в sprintf СНОВА вызываете непроверенную функцию получения температуры?!
Код: Выделить всё
if((temp > -60) && (temp < 150))
{
...........
sprintf( LcdBuff,"motor %.1f", ds18b20_temperature( &RomCode[1][0] ) );
...........
...........
}
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
да потому что если функция вернула неверное значение, она в блок if попадать не должна. а вот если верное, то не факт, что внутри блока она вернет снова верное - отсюда и вывод девяток. согласитесь, что в моем варианте кода девятки НИКОГДА не будут выводиться.Аlex писал(а):А почему непроверенную ?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Блин... во я слепой... Я не заметил функцию температуры внутри sprintf
Да, это - косяк !
Я, если честно, никак не мог подумать, что туда, вместо уже преобразованного значения (temp) , для кого-то логичнее будет засовывать функцию преобразования
Да, это - косяк !
Я, если честно, никак не мог подумать, что туда, вместо уже преобразованного значения (temp) , для кого-то логичнее будет засовывать функцию преобразования
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
не вы один - я тоже потратил немало времени на поиск косяка... когда говорят "я применил ваш код" - как-то веришь людям... и ищешь в других местахАlex писал(а):во я слепой...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: CodeVision AVR в вопросах и ответах
Помогите пожалуйста подогнать под кодвижн
Это с с++ builder, спасибо!
Код: Выделить всё
AnsiString XOR_Crypt(AnsiString in, AnsiString pass)
{
AnsiString out;
for (int x=1;x<in.Length()+1;x++)
{
out += (char)(in[x] ^ pass[x%pass.Length()+1]);
}
return out;
}
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
AnsiString - это класс для работы со строками, в классическом Си классов не существует. Юзайте массивы и string.h
-
misterkuk
- Мучитель микросхем
- Сообщения: 400
- Зарегистрирован: Сб апр 17, 2010 10:30:13
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Я действительно применил ваш код, только не ко всем датчикам, а только к полледнему. Так что я вас не обманул. а то что функция в if, так написано почти во всех статьях по работе с ds18b20ARV писал(а): я тоже потратил немало времени на поиск косяка... когда говорят "я применил ваш код" - как-то веришь людям... и ищешь в других местах
Последний раз редактировалось misterkuk Вс янв 29, 2017 18:21:23, всего редактировалось 1 раз.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Почти во всех ? Хм...misterkuk писал(а):а то что функция в if, так написано почти во всех статьях по работе с ds18b20
Думаю, статей по DS'кам, десятки в интернете. Покажите хотя-бы несколько штук, в которых такие ляпы.
Да и, в конце концов, нужно хоть понимать что пишешь, а не тупо методом тыка вставлять куски кода.
Извините, но в вашем коде абсолютно нет никакой логики.
Вы сначала читаете температуру в переменную temp, сравниваете значение переменной в условии, а для вывода на экран используете ещё одно преобразования. Для чего ? Зачем тогда в условии переменную вставляете ? Делали бы уж тогда, до кучи, так :
Код: Выделить всё
if((ds18b20_temperature( &RomCode[0][0] ) > -60) && (ds18b20_temperature( &RomCode[0][0] ) < 150))
{
....
И никаких временных переменных не нужно
Re: CodeVision AVR в вопросах и ответах
Знал бы как не просил бы помощи.Аlex писал(а):AnsiString - это класс для работы со строками, в классическом Си классов не существует. Юзайте массивы и string.h
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
А что для вас есть "помощь" ? Мой ответ ей не является ?
Ну тогда так - https://yandex.ru/search/?lr=2&msid=148 ... 1%81%D0%B8 Курим...
Ну тогда так - https://yandex.ru/search/?lr=2&msid=148 ... 1%81%D0%B8 Курим...
-
misterkuk
- Мучитель микросхем
- Сообщения: 400
- Зарегистрирован: Сб апр 17, 2010 10:30:13
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Вот как рас во вкладке в браузесе http://mega-avr.ucoz.ru/publ/ds18b20_co ... 5/1-1-0-15Аlex писал(а): Думаю, статей по DS'кам, десятки в интернете. Покажите хотя-бы несколько штук, в которых такие ляпы.
А здесь 2 раза будет считываться температура с датчика или 1 раз? Кстате погонял прогу на макетке и девятки не выскакивают. значит протеус виной. А замечания все и всех я обязательно учту. Спасибо за помощь.Код: Выделить всё
if((ds18b20_temperature( &RomCode[0][0] ) > -60) && (ds18b20_temperature( &RomCode[0][0] ) < 150)) { ....
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
это серьёзно или это у вас такая шутка юмора?misterkuk писал(а):А здесь 2 раза будет считываться температура с датчика или 1 раз?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!