WiseLord, Да, в var.c 1 строчка. Приинклюдил к lern.c файл stdint.h. Ошибка
Код:
var.h(4), #includedfrom: lern.c: '(' expected
пропала. Ошибка
Код:
var.c(1): '(' expected
осталась.
Добавлено after 4 minutes 13 seconds: Приинклюдил stdint.h и к var.c. Ошибки пропали. Спасибо за подсказку!
Добавлено after 3 minutes 18 seconds: Но не понятно поведение компилятора. Если не раскидывать код на файлы, то инклюдить stdint.h не требуется, все и так работает.
А откуда компилятор, по-вашему, поймёт, что такое uint8_t, если ни в файле, ни в том, что из них инклюдится, ничего про это нет? Это же не встроенный тип вроде int или char.
В случае одного файла все работает за счёт того, что оно через mega8.h где-то прилетает.
Поймите главное - каждый .c файл - это самостоятельная единица компиляции.
Не устанавливается на WIN7-64 AvrStudio4Setup-4.18. После начала установки больше ничего не происходит, значёк установки просто висит в панели задач. Подскажите как установить.
Вот в функцию можно передать ссылку на массив типа void (char *mass) А вот как бы передать ссылку на переменную? Чтобы менять эту переменную в функции. А то приходится передавать ее в функцию и возвращать ее в нее же.
кстати, массив кодевижен всегда передает в функцию по указателю, это надо иметь в виду (т.е. если передать массив в функцию и там его изменить, то исходный массив тоже изменится, как бы его ни передавали, хоть со звёздочками, хоть без)
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
я в этом плане тоже кодевижену удивляюсь, код, который по идее должен быть компактнее в итоге получается тяжелее... както делал фильтр на 2 канала (надо было одинаково отфильтровать 2 переменные) самым компактным оказалось простое дублирование кода (через дефайны), звтем с функциями и с передачей в них массивов, самым тяжелым оказался код с указателями...
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Всем доброго вечера! Надо прошить ATmega8 в схеме используется часовой кварц 32768. В статье есть картинки с фъюзами как мне надо ставить для codevision? Помогите пожалуйста. тут кусок исходника Вот так правильно?
Добрый день, уважаемые коллеги! Пришлось мне сделать "умную" кнопку включения на ATTINY13. За основу взял проект из сети. Алгоритм такой: устройство находится в Спящем режиме, при нажатии кнопки (вывод 6 PORT PB1) и удержании ее в течение 1 секунды логическая единица появляется на выводе 5 , а затем через еще через секунду на выводе 2. При повторном нажатии на кнопку и ее удержании в течение 1 секунды на выходах появляется лог. 0 и устройство уходит в спячку. Так работает прошивка из архива (проект CVAVR).
Коллеги, прошу помочь: заменить вывод 5 (PORT PB0) на вывод 7 (PORT PB2). В остальном все выводы и алгоритм включения остается как есть. К сожалению, моих познаний в программировании для этого недостаточно Вопрос решен. Тему можно закрыть
Вот есть у меня массив типа char set[23] И как бы в него писать наглядно? шоб написать функцию которая будет заполнять его с нужного индекса? типа set[3]='asdert'; а то приходится писать в каждую ячейку отдельно, это сильно усложняет восприятие кода.
CV не дает работать с массивами во флеше через указатели. типа в функцию copy(*mas); если mas будет во флеше компилятор выдаст ошибку. Как то можно это обойти?
Так имя массива это же и есть указатель. Звёздочка не нужна.
Да это понятно, я прототип функции написал, в теле ясно дело без звездочки.
Добавлено after 2 hours 41 minute 44 seconds: Идея вообще такая: на 1602 дисплей нужно писать разные сообщения, я делаю здоровый массив где их подряд все пишу и когда надо копирую из этого массива в массив дисплея. Но не дает компилятор такие забавы делать.
Вот такая функция работает только если второй массив в ОЗУ. void copy (char *mas, char *mas1, char adr, char adr1, char size) { for (i=0; i<size; i++) mas[adr+i]=mas1[adr1+i] } если он во флеше то фигушки. Как это можно оформить что бы работало?
Сейчас этот форум просматривают: Just_Fluffy и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения