То есть используешь более высокий уровень абстракции, как например в ардуино иде?
Тогда что ты пишешь о том, о чем не знаешь?!
в реал проектах я стараюсь чужие библиотеки не юзать, потому там все хедеры мои обычно. Это не так весело, как ардуинить, зато надежно ))
Я не вижу. Да и пофик. Чтобы там не было ))
Точно, либо брат либо он сам с другой учетки )))
ЗЫ: Начинать нужно с самого начала. Напиши загрузчик, потом ядро собственной ос, потом саму ос (на своей же оно приятнее). Потом уже можно и к мк переходить ))
Интересно, где и когда это я писал, что на линии высоковольтные лазил? Тем более на 10кВ??)))))
не знаю, но его первый пост там (стертый конечно) это просто шедевр!
Хмм. Я о том, что слишком запутывать побитные вещи смысла нет, если что заглючит то полюбому приходится лезть и выяснять какой где бит и адрес регистра. Поэтому конечно правильно как можно быстрее выйти от битов и регистров на функции: выдать нажатие клавиши, считать АЦП, выдать ШИМ, включить мотор и тп.
А проблем с этим я не знаю. Но пишу! чета потянуло на писанину. Захотелось всех научить как правильно жить ахаха.
Мне конечно пофиг, но если шедевр - то хотя бы в общих словах ))
вооот, а вы говорите записывать не надо))
там метла уже прошлась…
![]()
Оригинально, что тут скажешь )))
А так и надо. Надо максимально абстрагироваться от железа, вынося во вне весь этот ввод/вывод, при возможности. Уже говорил. Тогда можешь писать и магическими числами, но использовать комментарии и условную компиляцию. В этом случае исходный текст становится и читаемым, и переносимым.
Понятно, что зачастую людям это и нафиг не нужно. А зачастую, потому что просто нет культуры.) Типа, главное, что бы я понимал, а ты разбирайся, меня ты не волнуешь. Вот и используют они прямо в тексте и наименования регистров, и 0bxxx и т.п.(
)) PB4 - это физика. Это то к чему подключено. А если завтра я захочу подключить к PB5?) Пишется логика. К примеру, on(LED), который может быть подключен куда угодно, и неважно каким концом (анодом или катодом). По логике он будет включаться, неважно как схемно подключен.
речь не об этом, @BOOM в той теме маялся с ADC и первым делом переводил порт на вход, а дядя посоветовал ему это))
а дядя посоветовал ему
в его коде
#define F_CPU 1200000UL
//#include <inttypes.h>
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
//#include <avr/sleep.h>
volatile uint16_t analogData;
ISR (ADC_vect) {
analogData = ADCL + (ADCH<<8);
}
int main(void) {
DDRB &= ~(1<<PORTB4); // PB4 на вход
// Настраиваем работу с ADC (АЦП)
ADMUX |= (1<<REFS0) | (1<<ADLAR) | (1<<MUX1); // опорное напряжение - Internal, левое ориентирование данных, выбран вход ADC2 (на него подается измеряемое напряжение)
ADCSRA |= (1<<ADEN) | (1<<ADSC) | (1<<ADATE) | (1<<ADIE) | (1<<ADPS2); // АЦП включен, запуск преобразования, режим автоизмерения, прерывание по окончанию преобразования, частота CLK/4
ADCSRB = 0x00; // режим автоизмерения: постоянно запущено
DIDR0 |= (1<<ADC2D); // запрещаем цифровой вход на ноге аналогового входа
sei(); //разрешаем глобально прерывания
while (1) {
}
}
Это обычно, когда пишешь для себя. И то, через какое то время, иной раз, волосы дыбом встают. Типа, как накручено, чего это я имел ввиду? Причём, это случается значительно быстрее, чем ты этого ожидаешь.) А если для обозрения? Иной раз, просто рука-лицо после просмотра на всеобщих ресурсах.( Ну ты же постарайся, хоть чуть чуть, ведь люди на тебя смотреть будут!) А, пофигу моя неграмотность. Все так пишут, главное что бы компилятор проглатывал.)
Еще и константу обозван не верно ))
Точнее, оно верно. Но при таком написании у меня атмел студио её подчеркивает как неизвестную. Я пользуюсь Ctrl + пробел. )
Да это все само-запугивание. Нормально комментируй - нормально будет. Никаких мега-загадок в коде не помню. В алгоритмах - да. Вот их есть смысл подробнее расписать, зачем и как мы дрыгали ногами и тп. Да и все загадки с чужими девайсами обычно…
хочешь вернутся, обсудить, чем эта строка мешала?
а заодно посты #10 и #13?
могу ответить только словами Лаврова
