нет, не правильно, читайте внимательнее, там не так много букв.
одновременно задать РАЗНЫЕ уровни на НЕСКОЛЬКИХ пинах вам пока будет сложновато, делайте поочередно - сначала установите все, что надо в 0, а потом - что надо в 1. или наоборот.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
скажите, вы улавливаете, что это 2 РАЗНЫХ МЕТОДА? вы читали про ОБА? вы увидели, что эти действия ДЕЛАЮТСЯ ПО-РАЗНОМУ? почему вы задаете странные вопросы?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Какой то кошмар
Что-то последнее время очень много развелось нелюбителей искать и читать, задающих глупые вопросы.
Нас, походу, троллят...
ЗЫ: Пора уже начинать сносить подобные вопросы, а если задали заного - банить.
При работе в 6-ой студии столкнулся с такой проблемой. При переносе проекта из одной папки в другую (хотелось сохранить предыдущую версию) в проект «перенеслись» ссылки некоторых include файлов (обращаю внимание - не всех) из предыдущей папки. При этом в Solution Explouer всё отображалось верно, все ссылки указывались на файлы «лежащие» в текущей папке. К тому же, при отладке всё работало как надо, а вот при компиляции файлы брались из текущей папки, а они соответственно не менялись при редактировании, а так как код был на финальной стадии и изменения вносились несущественные, то я это далеко не сразу понял и все багги программы списывал на железо. Вот так-то, будьте внимательны.
Пользуюсь студией 4.19.
Необходимо в одной общей папке создать несколько дополнительных папок с проектами, в которых используется одна общая библиотека...
Ну я тупо скопировал эту библиотеку во все папки, т.е. в каждый проект, ну и все ОК...
Но это неудобно тем, что если я усовершенствовал библиотеку в одном проекте, то ее нужно перезаписывать во всех остальных папках, чтобы везде она была актуальна...
Как сделать так, чтобы библиотека лежала в общей папке в одном экземпляре, и все проекты брали ее оттуда а не каждый в своей папке...
Я конечно попробовал это провернуть как мог... но у меня ничего не получилось... даже если я подгружаю библиотеку с той общей папки - при компиляции студия ругается на то, что не находит нужный файл библиотеки... хотя он вроде бы цепляется редактором, и открывается для редактирования...
Добавь путь где лежит библиотека в переменную окружения PATH, студия будет искать её там когда в текущей папке не найдет.
Но это вообще плохая идея расшаривать на проекты общую библиотеку которая постоянно совершенствуется. Это чревато появлением глюков в проектах которые давно не менялись и рассчитывают на особенности библиотеки конкретной версии которые в дальнейшем могут быть оптимизированы и поломают работу программы в состав которой входит эта библиотека.
Вовремя заметить такую заподлянку можно только в том случае когда проекты развиваются параллельно, но даже в таком случае бывает так что проект очень плотно завязан на особенность библиотеки которая мешает её дальнейшему развитию и тогда возникает дилемма - или переписывать пол проекта или костылить библиотеку или оставить проекту конкретную версию библиотеки.
Насчет сюрпризов в старых версиях проектов - я в принципе и сам догадываюсь...
В моем случае это все один проект, и он развивается параллельно... так что тут исключены такие ситуации...
Сейчас все еще разложено в голове по полочкам и любое изменение библиотеки вроде вызывает ясное представление того как это будет влиять на отдельные проекты...
В общем суть в том, что я давно уже написал модули пакетного обмена данными по однопроводной шине, типа 1wire, но в отличие от 1wire с его капризами, у меня используется кодирование манчестер... скорость можно выбирать от 1кбит\с до 18кбит\с... соответственно на низкой скорости общение между МК возможно по очень длинным линиям (километры)...
Но раньше это были отдельные модули... и передача была реализована обычным ногодрыгом с временными задержками...
Сейчас все объединил в одну либу, передачу перевел на прерывания... и хотел в проте проверить в комплексе работу мастера с несколькими слэйвами... Вот и хочу иметь отдельные проекты но ссылающиеся на одну библиотеку...
Ну а как все отлакирую, то можно потом и кидать непосредственно в каждый проект файлы библиотеки...
Сейчас все еще разложено в голове по полочкам и любое изменение библиотеки вроде вызывает ясное представление того как это будет влиять на отдельные проекты
Это ненадолго, или банально мозг тебя обманывает...
все отлакирую, то можно потом и кидать непосредственно в каждый проект
А тогда тем более смысла в этом не будет, библиотека будет готовой и стабильной. нет нужды дублировать её в каждом проекте.
Alexeyslav писал(а):Это ненадолго, или банально мозг тебя обманывает...
Не... ну естественно все 100 раз перепроверяется... перед тем как библиотека ложится в архив...
А тогда тем более смысла в этом не будет, библиотека будет готовой и стабильной. нет нужды дублировать её в каждом проекте.
Ну я честно говоря привык делать так... если я куда-то что-то скомпилировал и отдел... то однозначно этому проекту присваивается определенная версия и он в таком виде ложится в архив...
И даже если в нем что-то обнаружится, то делается следующая версия этого проекта (с указанием исправлений), а в тот проект добавляется аннотация о его косяках...
Так что какая бы не была ровная библиотека, я ее все равно ложу непосредственно в проект...
Люди добрые помогите!! Всю голову сломал. У меня в AVR STUDIO 4 не работает _delay_ms!!! Меняю значение ms, а диод моргает с одной и той же быстрой частотой. Проверяю в железе. ТОТ ЖЕ САМЫЙ код в 6 студии работает корректно. Помогите, чем можете.
#ifndef F_CPU
#define F_CPU 8000000UL
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRC = 0xFF; // порт С на выход
PORTC = 0x00; // устанавливаем нули на выходе
Можно ли напрямую работать с переменными в eeprom и каким образом? Хочу избавиться от выделения кучи переменных для, казалось бы, временного хранения данных...
Я считываю данные с eeprom в глобальную переменную, потом с ними делаю какие то действия, и обратно пишу в eeprom. И вот этих переменных у меня насчиталось в пол килобайта. Я хотел их вовсе убрать и работать напрямую с областью памяти eeprom. Но либо не понимаю как это сделать, либо это не допустимо для AVR
EEPROM контроллера это скорее не память, а периферийное устройство как UART или АЦП, и подход к ней нужен соответствующий.
В ЯВУ конечно она может выглядеть как обычная память, но это обман.
Можете читать все сразу в ОЗУ, обрабатывать и сохранять обратно, можете обрабатывать по одному байту, пользуясь только РОН, одна фигня - все упрется в скорость чтения/записи EEPROM (запись одного байта, ни много ни мало - тысячи циклов).
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)