Shutilla писал(а):В мануалах были найдены 2 функции srand и rand, однако дело не продвинулось.
"Не возьму никак я в толк" - что означают слова "дело не продвинулось" - вызов функций не удается впечатать в исходник? Или может, вызовы вносятся в текст, но функции не вызываются в ходе исполнения программы? Что там вообще может "не продвинуться"?!
Имеется проблема с CodeVisionAVR (команда Build All): ни в какую не хочет создавать hex-файл, останавливается на asm-файле - и то хорошо - приходится вручную Tavrasm 1.22 запускать, что не очень удобно - копировать asm-файл в отдельную папку, запускать батник, копировать hex-файл обратно.
Выдаёт следующее сообщение:
"Unable to run "...\bin\AVRASM2.EXE -v2 -W-b -Oi -fO2 -|"01.lst" -e"01.eep" "01.eep" "01.asm"". %1 не является приложением Win32.
До недавнего времени терпел, а сейчас как-то сильно на нервы давить стало. Подскажите, пожалуйста, как с этим бороться.
Версии CVAVR - 1.25 и 2.03. Выходные файлы в настройках следующие: "OBJ ROM HEX EEP". Пробовал и второй вариант (вместо OBJ - COF) - не помогло. Думал, что ругается на кириллицу, поместил в папку, в пути которой нет русских букв - то же самое.
Ни справка, ни официальный мануал не помогли. Так же, как и Гугл с Яндексом и эта тема. Как будто таких проблем больше ни у кого нет. На вас последняя надежда.
у этого зверя есть проблема с длиной папок-пути больше 6ти символов но эти ошибки скорее всего или с системой связаны или с криво крякнутой кодвижной...
clawham писал(а):но эти ошибки скорее всего или с системой связаны
Даже и не знаю, как Вас благодарить! Проблема действительно, скорее всего в системе, потому как на другом компе с теми же самыми КодВижн компилируется без проблем. Ещё один пунктик в пользу переустановки Винды.
Представить не могу, насколько нужно быть опытным и подкованным в этих делах, чтобы знать ответ на такой каверзный вопрос!
есть такое вот устройство: к меге8 (тактируется от кварца 8 мег) подключены 10 входных линий, на которые могут приходить одиночные импульсы (по одному на каждую линию, без дребезга, в один период времени только один импульс) от другого девайса. также к меге подключен комп через макс232 по ком порту. необходимо сделать следующее - собирать в строку номера входных линий. то есть: пришел импульс на 3 линию, потом на 5 и на 8. строка должна принять вид "358". прерывания не использую, если надо - могу дать код.
проблема в следующем: при появлении очередного нового сигнала все переменные заново инициализируются и не получается накапливать строку. получается что вся программа выполняется бесконечное число раз, как при этом накапливать значения в переменной?
Вроде по всем условиям должна пробегать нормально и снова начинать. только прерывание там зачем то включено, но оно вроде не должно работать так как наногу "1" выведено.
Паузы огомные. и USART не включен.
==1 можно не писать в скобках.
просто if (PINC.1) достаточно.
Проверьте в симуляторе - хотябы VMLAB - он 4 Мб всего.
Помогите пожалуйста разобраться!
Возникло пару ужасно глупых вопросов:
1) Всем известно что АЦП выводит значение от 0 до 255. А может ли АЦП вывести значение с одним или двумя знаками после запятой, например 144.1 или 144.01. Если может то подскажите как это реализовать программно?
2) Какой тип данных нужен для переменной i=1.25(не как не могу подобрать)?
В заранее спасибо!
С уважением, Денис!
Тип данных float не помогает, точнее он по какой-то причине не работает.
Я пытаюсь вывести на LCD число 25.5 при помощи float a=25.5, но на LCD выводит просто 25, я не как не пойму в чём дело?
Я там менял параметр (s)printf Features!
Изначально он стоял как: int, width, а я его изменил на float, width, precision. Но из этого нечего не получилось, на LCD выводит 0.