для более сложных задач (работа с разнообразной периферией, графическими дисплеями) наверно лучше подойдёт С++, т.к. код получается стройнее, и хоть результирующая прошивка получается объёмней, но применяемые в этом случае более мощные МК её потянут. (пример - Марлин (прошивка для 3д принтера) написан на С++ в среде ардуино...)
Вообще не показатель. У меня контроллер 3D принтера на ARM, прошивка на Си. Абсолютно всё конфигурируется из текстового файла. В марлине, насколько я понимаю, необходимо перепрошивать.
В третий раз. Спецификатором является ТОЛЬКО p. Знак % применяется и с другими спецификаторами, коих целая туча.
Не вижу разницы. Перевод не меняется. ДЛЯ указателя. Так понятней, да. Но в коде, который я написал, Указателя нет вообще. А символы ДЛЯ указателя присутствуют. Осталось только pointer перевести по другому)))
Но в коде, который я написал, Указателя нет вообще. А символы ДЛЯ указателя присутствуют.
В четвертый раз предлагаю прочитать описание функции printf... Спецификатор р под кавычками определяет СПОСОБ передачи выводимого значения. Это ЛОКАЛЬНЫЙ указатель ВНУТРИ функции. Аргумент передаваемый в функцию расположен ПОСЛЕ ЗАПЯТОЙ и является значением этого локального указателя. Что не так? Никакого внешнего указателя не требуется. Не надо переводить аббревиатуры и искать сакральный смысл в буквах. Есть мануал, где некие символы определяют некие соответствующие этим символам действия. Никаких других толкований давать не нужно.
Кажется нашёл объяснение. Можете оценить? Вот описание Указателя из интернета: Указатель — это переменная, которая содержит адрес другой переменной. В моём примере r содержит адрес самой себя, а не другой переменной. Поэтому r не будет являться указателем. Имеется в виду указатель на адрес другой переменной.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Вот и мне интересно: зачем ты корчишь комедию и строишь из себя идиота? Тема давно скатилась в офтоп. Элементарные детские вопросы по С можно одним махом решить, прочитав Кернигана & Ритчи. А вопросы по аргументам функций glibc — почитав маны. Ну набери ты в консоли man 3 printf — и читай на здоровье!
Цитата:
В моём примере r содержит адрес самой себя, а не другой переменной.
Вот тебе простой пример:
Код:
#include <stdio.h>
int main(){ int x = 2; void *ptr = (void*)&x; printf("ptr=%p\n", ptr); ptr = &ptr; printf("ptr=%p\n", ptr); return 0; }
Сначала ptr содержит адрес x, а потом - свой собственный.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Заголовок сообщения: Re: С чего начать программировать микроконтроллеры?
Добавлено: Вт дек 14, 2021 20:54:53
Встал на лапы
Зарегистрирован: Пн ноя 04, 2019 09:58:29 Сообщений: 104 Откуда: г. Нижний Тагил Свердл. обл.
Рейтинг сообщения:0
Добрый вечер. У меня не большой вопросик. Вот классический код начинающего микроконтроллерщика Спойлер// ATtiny85 test #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h>
/* 0x18 PORTB – – PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0 0x17 DDRB – – DDB5 DDB4 DDB3 DDB2 DDB1 DDB0 0x16 PINB – – PINB5 PINB4 PINB3 PINB2 PINB1 PINB0 */А теперь необходимо переписать тот же код без использования имен регистров, используя исключительно их адреса (0x18, 0x17, 0x16) согласно ДШ.
Заголовок сообщения: Re: С чего начать программировать микроконтроллеры?
Добавлено: Чт дек 16, 2021 18:14:49
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19712 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
.... и???
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
template<BOARD::pin_t PIN> class GPIO { public: GPIO<PIN>& input(){// & - адрес операнда PIN в памяти SFR()->ddr &= ~MASK; return (*this);// * - значение по адресу }
} }Взял здесь. Разобрал по запчастям, потом снова собрал. Фурычит. Правда выпотрошил все, то не мешает работе. В целом вроде бы всё понятно. Сначала рылся в io.h. Но там макрос на макросе и макросом подгоняет.
Заголовок сообщения: Re: С чего начать программировать микроконтроллеры?
Добавлено: Пт дек 17, 2021 19:34:28
Встал на лапы
Зарегистрирован: Пн ноя 04, 2019 09:58:29 Сообщений: 104 Откуда: г. Нижний Тагил Свердл. обл.
Рейтинг сообщения:0
Я разбираюсь с библиотекой GPIO (ссылка) Перевод со страницы англ.->рус.
Цитата:
Библиотека Arduino GPIO была разработана для обеспечения высокопроизводительного доступа к цифровым выводам. Большинство функций доступа скомпилированы в одну инструкцию и выполняются за 1-2 такта. Функции библиотеки более чем в 10 раз быстрее, чем функции цифровых выводов Arduino. В некоторых случаях в 100 раз быстрее...
Скачал, установил, отвязался от Ардуины. Работает нормально. Но хотелось бы знать больше - что, зачем и почему до каждой строчки. В целом просветление некоторое есть. Самообразование так сказать (ну или делать нех..)
Доброго дня Подскажите, можно ли реализовать на МК
МК - attiny85 среда - ардуино ИДЕ
Хочу использовать 2 порта под АЦП, НО надо на одном порте делать замер 0-5в (опорное = питанию мк 5В) а на другом - 0-1.1В (опорное внутренней стабилизатор 1.1В -- можно динамически постоянно менять источник опорного???
//зачем надо - делаю на основе этого МК контроллер для электромашинки и один вход на ручку газа идет, а другой на замер тока на шунте (шунт из медной проволоки 2мм диаметром .. надо фиксировать токи до 150А
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения