In file included from D:DocumentsArduinolibrariesEasyHID-mainusbdrvasm_includer.S:2:0:
D:DocumentsArduinolibrariesEasyHID-mainusbdrv/usbdrvasm.S:386:35: fatal error: usbdrvasm165.inc: No such file or directory
# include "usbdrvasm165.inc"
^
compilation terminated.
exit status 1
Ошибка компиляции для платы Digispark (Default - 16.5mhz).
.
Еще у Вас в описании есть пример, в этом примере не указан #include.
Внимательнее к Readme, библиотека работает только на 16 МГц платах. Примеры дополнил, спасибо
А зачем на дигиспарк, если не секрет? Там своя юсб либа же
Я добавил файлик под 16.5 МГц, но нужно в usbconfig.h вбить другой порт (B, на тиньке85) и нужный пин. Возможно заведётся
Я просто зашел на Али, и купил самую дешевую Ардуинку с USB. Просто ее позиционировали как Аналог.
А получается что и не совсем аналог.
#define USB_CFG_IOPORTNAME B
#define USB_CFG_DMINUS_BIT 4
#define USB_CFG_DPLUS_BIT 3
эти параметры?
Компиляция, и прошивка прошла успешно.
.
Но виртуальная клава с примером из репозитория текст Keyboard.println(" Hello world!");
Не печатает.
в конструктор добавил pinMode(1, OUTPUT);
А в конец тела функции добавил
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
В результате модифицированный ваш пример 3 раза моргнул светодиодом. и больше ни чего не происходило. Соответственно тексты не пишет.
Вообще считаю Digispark должен стать более популярным чем Arduino, из-за цены.
Проблема Digispark это отсутствие нативной поддержки у ArduinoIDE.
Думаю что кто нибудь сделает клон ArduinoIDE со встроенными примерами и драйверами Digispark для пиара своего сайта/форума.
Абсолютно не согласен. Дигиспарк сейчас сильно подорожал и стоит не сильно дешевле чем та же Nano, а в ней простите возможностей на порядок больше. Если уж говорить о цене, то жалкий Дигиспарк стоит почти столько же, сколько esp8266, где жира ещё больше.
Arduino ide поддерживает Дигиспарк, достаточно вставить ссылку и установить ядро, как и для всех остальных ардуино-совместимых плат. Делать новую ide и поддерживать её актуальную версию ради предустановленной одной платы (!) Это совсем бред)
Я Digispark купил за 140р. А Arduino Nano стоит более 270р. А esp8266 нашел за 210р.
С IDE я наверно многого нафантазировал. Изменения наверно излишне.
.
Подскажите я правильные изменения внес в usbconfig.h?
Посоветуйте пожалуйста что может быть причиной не работы Gigispark у меня с Вашим примером работы клавиатуры.
Раньше 80р он стоил, а есп не подорожала. Если сравнить такие базовые параметры как объем памяти, скорость работы, количество ног… Дигиспарк стоит дороже, чем он должен стоить.
По usbconfig — подключу автора либы, пусть помогает.
И всё же, зачем это все если у диги есть своя родная либа для юсб?
И всё же, зачем это все если у диги есть своя родная либа для юсб?
@GyverLibs я уже 3тью либу скачиваю и родную пробывал. кроме родной ни одна не заработала.
Я через либу не могу отправить сигнал Гибернации либо Сна на ПК.
Так как задача в том чтобы при отсутсвии питания в сети выключить ПК. А ИБП сам по себе не имеет интерфейсов в принципе. Он был куплен самый дешовый.
Быть може конечно было бы уже задуматся о смене бесперибойника. Денег жалко, да и уже дело на принцип пошёл.
А у Диджи конечно себестоимость ниже. Но половину суммы съедается на доставку.
Если взять аналогичные товары, например контроллер зарядки для 16850 microUSB. То там видно что 3 устройства стоит 50 рублей, а 6 устройств стоят 70р (или типа в таком смысле.) В любом случае у всех контроллеров доставка предположим одинаковая. А если цена дешевле, то сильно в ущерб самого устройства. С другой стороны, если задачи простые, то зачем переплачивать, разве что только время сэкономить. В одном из роликов сказали что Digi вроде такой же, но везде есть свои особенности, тонкости и пока в каждой тонкости не разберешься хрен что заработает. Но я не знал что могут быть проблемы.
.
У программного usb есть ограничения, многие кнопки могут не работать. Лучше взять ту же 32u4 и не мучиться, у нее аппаратная поддержка
До момента доставки Диджи, я представлял как запускаю Диджи с прошивкой под HID UPS. Чтобы Диджи определялся как реальный UPS. Когда скачал либу под Ардуино, и посмотрел примеры, я просто офигел и понял что не осилю в принципе.. Тем более как бы разобраться с самим конроллером, а потом уже переходить к переделкам либы под свой дижи. И пришел к тому что ограничусь просто прошивкой от клавы с сигналом гибернации.
.
У 32u4 аппаратная поддержка USB? А у нее USB как последовательный порт работает или может работать как что угодно, претворяясь любым устройстом?
32u4 (Arduino micro) притворяется хидом и чем угодно
Подключите пожалуйста автора либы.
Он пока не у компьютера, как придет так придёт
Подскажите пожалуйста. Если я подключаю две клавы к ПК, то нажав на одной из них CapsLock, то он же загорается и на другой клаве.
А либа эта так же получает сигнал о CapsLock’е?
Я не знаю, не тестировал библиотеку, её сделал мой коллега
Только что нашел, модифицированный Arduino IDE со встроенной поддержкой Digispark.
Правда версия старая. Так как поддержка загрузки либ в IDE появилась недавно. Поэтому наверно ктото модифицировал версию IDE. А возможно производители Digispark это и сделали.
Зачем? Задача решается в три клика мышкой….
Зачем? Задача решается в три клика мышкой….
Ну да теперь, да. Но чтобы это сделать надо инструкцию посмотреть. Я вот посмотрел кучу инструкций где это рассказывалось. кое в чем разобрался. А без инструкций не чего не получится. Я работаю UX разработчиком.
Стараемся делать софт интуитивно понятный. Пример хорошей адаптивности. Например как в онлайн сбербанке в поле пароля программа удаляла пробелы за звездочками. Или у них пароли были одинаково восприимчивы к обоим регистрам. Фишка в том что на клавиатуре написаны буквы в большом регистре, но когда человек пишет, то почему то буквы пишутся в маленьком регистре. А за звездочками вообще не видно. Это для программистов и компьютерных аналитиков и дизайнеров все очевидно, а для всех остальных пенсионеров и просто других людей некоторые вещи вообще не очевидны и не понятны.
Я вот после первой прошивки Диджи 2 часа потратил на выяснение почему Диджи перестал прошиваться. Оказывается во всех инструкциях написано и звучит один в один фраза «Ардуино Digispark не нужно заранее подключать к компьютеру.» или
Как это нужно понимать? слово «не нужно» воспринимается как не обязательно (типа можно делать а можно и не делать).
Просто иногда оцениваю простоту экслуатации интерфейсов и иногда надуманно преувеличиваю проблему.
Каких кучу инструкций, зачем?? На официальной Вики дигистамп всё написано по пунктам
На офицальной Вики все на английском, русского нет.
Я пользовался инструкциями из яндекса и из ютюба.
Жалко что ArduinoIDE v2 не поддерживает Digi.
Инструкции на русском часто нерабочие, или работают только у автора
Вы поддержку Диджи добавляли, это Вы добавили usbdrvasm165.inc. А этот файлик является копией usbdrvasm16.inc?
Я сравнил эти 2 файла, они очень сильно отличаются.
Вы наверно его из другого проекта скопировали?. Просто Вы его очень быстро внесли в репозиторий.
является копией usbdrvasm16.inc?
Не знаю, автор либы скинул
Вы пробовали Platformio?
Да, ужасно неудобная и кривая IDE
Дешёвый аналог на STM32 нашёл. Стоит 160р. И работает на 72МГц и памяти всех видов больше .
Аппара ный USB есть.
Осталось научиться с ним работать)
Digi выдает ошибку
Очевидно, библиотека под 32U4
#define USB_CFG_IOPORTNAME B #define USB_CFG_DMINUS_BIT 4 #define USB_CFG_DPLUS_BIT 3
эти параметры?
Как минимум из того что я могу сказать, в библиотеке используется INT0 прерывание, а вы используете пины B3 и B4 которые не являются прерываниями, вот оно и не работает.
По зависанию тоже есть предположение, библиотека инициализацирует INT0 прерывание на спад а из-за того что пин INT0 весит в воздухе и ловит помехи прерывание срабатывает каждую секунду чем не даёт выполнятся основному коду
Как минимум из того что я могу сказать, в библиотеке используется INT0 прерывание, а вы используете пины B3 и B4 которые не являются прерываниями, вот оно и не работает.
По зависанию тоже есть предположение, библиотека инициализирует INT0 прерывание на спад а из-за того что пин INT0 весит в воздухе и ловит помехи прерывание срабатывает каждую секунду чем не даёт выполнятся основному коду
Посоветуйте пожалуйста, какие именно параметры можно поменять. Примерное наименование параметров в либе скажите, буду очень признателен.
INT0 у меня подключен к резистору на плюс. Как его програмно отключить? Метод pinMode();
отключит прерывание на нем?
PS интересно то что изначально припаяв на P5 сигнал от внешнего БП о наличии питания в сети. Диджи постоянно глючил. Потом понял что P5 работает как сброс. Думается что этот пин переназначить.
Как минимум из того что я могу сказать, в библиотеке используется INT0 прерывание, а вы используете пины B3 и B4 которые не являются прерываниями, вот оно и не работает.
По зависанию тоже есть предположение, библиотека инициализирует INT0 прерывание на спад а из-за того что пин INT0 весит в воздухе и ловит помехи прерывание срабатывает каждую секунду чем не даёт выполнятся основному кодуПосоветуйте пожалуйста, какие именно параметры можно поменять. Примерное наименование параметров в либе скажите, буду очень признателен. INT0 у меня подключен к резистору на плюс. Как его програмно отключить? Метод
pinMode();
отключит прерывание на нем? PS интересно то что изначально припаяв на P5 сигнал от внешнего БП о наличии питания в сети. Диджи постоянно глючил. Потом понял что P5 работает как сброс. Думается что этот пин переназначить.
Без прерывания либа не будет работать, прерывание сделанно для получения данных по usb так что без него hid работать не будет
Из того что могу посоветовать это перекинуть Data- на PB2. И ещё важно что бы pull-up резистор(1.5k/2.2K) подключались программно (у дигиспарк припаян резистор между d- и 5V из-за чего даже без запуска библиотеки хост(ПК/ноут и т.д) начинает опрашивать Hid, а библиотека не отвечает)
Но что бы не парится этим всем лучше использовать либу которая создана специально для digispark
Как минимум из того что я могу сказать, в библиотеке используется INT0 прерывание, а вы используете пины B3 и B4 которые не являются прерываниями, вот оно и не работает.
По зависанию тоже есть предположение, библиотека инициализирует INT0 прерывание на спад а из-за того что пин INT0 весит в воздухе и ловит помехи прерывание срабатывает каждую секунду чем не даёт выполнятся основному кодуПосоветуйте пожалуйста, какие именно параметры можно поменять. Примерное наименование параметров в либе скажите, буду очень признателен. INT0 у меня подключен к резистору на плюс. Как его програмно отключить? Метод
pinMode();
отключит прерывание на нем? PS интересно то что изначально припаяв на P5 сигнал от внешнего БП о наличии питания в сети. Диджи постоянно глючил. Потом понял что P5 работает как сброс. Думается что этот пин переназначить.Без прерывания либа не будет работать, прерывание сделанно для получения данных по usb так что без него hid работать не будет
Из того что могу посоветовать это перекинуть Data- на PB2. И ещё важно что бы pull-up резистор(1.5k/2.2K) подключались программно (у дигиспарк припаян резистор между d- и 5V из-за чего даже без запуска библиотеки хост(ПК/ноут и т.д) начинает опрашивать Hid, а библиотека не отвечает)
Но что бы не парится этим всем лучше использовать либу которая создана специально для digispark
Конечно, я бы с радостью бы ее использовал, но там нет поддержки клавиши Сна. Конечно там есть печать символа по коду, но я не нашёл код клавиши сна. Я пробовал , не получалось. Быть может я пытался печатать правильный код, но делал это не в той кодировке.
Offline
Зарегистрирован: 09.02.2019
Здравствуйте подскажите собрал код в ардуино термометра на ds18b20, проверил на Arduino Nano все работает, хотел залить в Digispark attiny 85 и Arduino IDE выдало ошибку компиляции для платы
#include <OneWire.h> #include <SPI.h> // провод CS подсоединяем к 8-му пину Arduino enum { reg = 8 }; OneWire ds(7); // Объект OneWire int temperature = 0; // Глобальная переменная для хранения значение температуры с датчика DS18B20 long lastUpdateTime = 0; // Переменная для хранения времени последнего считывания с датчика const int TEMP_UPDATE_TIME = 400; // Определяем периодичность проверок void setup() { // инициализируем SPI SPI.begin(); // определяем 8-й пин Arduino как выход pinMode(reg, OUTPUT); //Serial.begin(9600); } //мы разобъем число на сотни, десятки и единицы, объявляем их здесь int hundreds=0, tens=0, ones=0; //время отображения каждой цифры int delayTime=5; //коды цифр на семисегментнике (0-9 и пустота) static uint8_t digit[31] = {0x08,0x18,0x88,0x98,0x48,0x58,0xC8,0xD8,0x28,0x38,0xFF, 0x04,0x14,0x84,0x94,0x44,0x54,0xC4,0xD4,0x24,0x34,0x02,0x12,0x82,0x92,0x42,0x52,0xC2,0xD2,0x22,0x32}; // коды позиций зажигаемого семисегментника (левый, центральный, правый) //static uint8_t pos[3]= {0xE7,0xEB,0xF3}; void loop() { detectTemperature(); // Определяем температуру от датчика DS18b20 //Serial.println(temperature); // Выводим полученное значение температуры // Т.к. переменная temperature имеет тип int, дробная часть будет просто отбрасываться } int detectTemperature(){ byte data[2]; ds.reset(); ds.write(0xCC); ds.write(0x44); if (millis() - lastUpdateTime > TEMP_UPDATE_TIME) { lastUpdateTime = millis(); ds.reset(); ds.write(0xCC); ds.write(0xBE); data[0] = ds.read(); data[1] = ds.read(); // Формируем значение temperature = (data[1] << 8) + data[0]; temperature = temperature >> 4; } //число, которое будем выводить int f = temperature; //выделяем сотни hundreds=(f/100) ; //выделяем десятки tens=((f-hundreds*100)/10); //выделяем единицы ones=f-hundreds*100-tens*10; //если сотен нет, не отображаем ничего в 3м разряде if (hundreds==0) hundreds=10; //если сотен и десятков нет, не отображаем ничего во 2м разряде if (hundreds==10 && tens==0)tens=10; //начинаем передачу по SPI digitalWrite(reg, LOW); //передаем код цифры, соответствующей разряду сотен SPI.transfer(digit[hundreds+21]); //выбираем левый 7-сегментник //SPI.transfer(pos[0]); //заканчиваем передачу digitalWrite(reg, HIGH); //пауза, равная delayTime delay(delayTime); //передаем код цифры, соответствующей разряду десятков digitalWrite(reg, LOW); SPI.transfer(digit[tens+11]); //выбираем центральный 7-сегментник //SPI.transfer(pos[1]); digitalWrite(reg, HIGH); delay(delayTime); //передаем код цифры, соответствующей разряду единиц digitalWrite(reg, LOW); SPI.transfer(digit[ones]); //выбираем правый 7-сегментник //SPI.transfer(pos[2]); digitalWrite(reg, HIGH); delay(delayTime); }
Друг попросил меня найти проблему с компиляцией для его DigiSpark НА плате Tiny85.
Мы пытаемся составить скетч отсюда:
https://forum.arduino.cc/index.php?topic=314773.0
Но не повезло — что-то смешалось в заголовках или конфигурации, и я не знаю, что именно.
Этот ISR не компилируется:
ISR(TIMER1_OVF_vect) { //переполнение timer1
Сначала были некоторые ошибки, такие как TCR1 = 0; не определено в этом скетче, затем после игры с #define __ AVR_ATtiny85__, #undef _AVR_IOXXX_H_ и замены avr/io.h на iotn85.h пришли ошибки, такие как множественное определение __vector_x (?). Закомментируйте эту строку:
//attachInterrupt(0,zeroCrossingInterrupt, ПАДЕНИЕ)
помогло, но теперь даже это работает, а ИСР-нет.
Я знаю, что там много тайников и вы не видите, что происходит за занавесками, но я еще совсем потерялся…
Может быть, есть также проблема, у меня есть несколько установок в разных dirs, но я не знаю, как очистить старые (1.6.5-r2), и в конце концов оба работают одинаково, моя последняя свежая установка-1.8.9.
Есть ли у кого-нибудь опыт работы с демо-скетчом или какой-нибудь рабочий демо-скетч, использующий как compare match, так и overflow ISR ?
Редактировать
Информация о настройке
Эта плата выбрала (…AppDataRoamingArduino15packagesdigistumphardwareavr1.6.7boards.txt):
digispark-tiny.name=Digispark (Default - 16.5mhz)
digispark-tiny.upload.using=micronucleusprog
digispark-tiny.upload.protocol=usb
digispark-tiny.upload.tool=micronucleus
digispark-tiny.upload.maximum_size=6012
digispark-tiny.build.mcu=attiny85
digispark-tiny.build.f_cpu=16500000L
digispark-tiny.build.board=AVR_DIGISPARK
digispark-tiny.build.core=tiny
digispark-tiny.build.variant=digispark
digispark-tiny.upload.wait_for_upload_port = false
digispark-tiny.upload.use_1200bps_touch = false
digispark-tiny.upload.disable_flushing = false
И они доступны:
(...AppDataRoamingArduino15package_digistump_index.json)
...
"boards": [
{
"name": "Digispark (Default - 16.5mhz)"
},
{
"name": "Digispark Pro (Default 16 Mhz)"
},
{
"name": "Digispark Pro (16 Mhz) (32 byte buffer)"
},
{
"name": "Digispark Pro (16 Mhz) (64 byte buffer)"
},
{
"name": "Digispark (16mhz - No USB)"
},
{
"name": "Digispark (8mhz - No USB)"
},
{
"name": "Digispark (1mhz - No USB)"
}
],
...
Правка 2
Новая попытка установки на W10
Еще несколько ссылок — 2-е руководство здесь:
https://www.electronicshub.org/getting-started-with-attiny85/
http://digistump.com/package_digistump_index.json
должны быть переведены на
https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
https://downloads.arduino.cc/arduino-1.8.9-windows.zip
W10
При установке отображается ошибка загрузки (тайм-аут?):
http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-i686-mingw32.zip
Скачал вручную (там был пустой файл с таким именем):
…AppDataLocalArduino15stagingpackages
avr-gcc-4.8.1-arduino5-i686-mingw32.zip
…AppDataLocalTemparduino_build_139604corecore.a(wiring.c.o): В функции `__vector_4′:
…AppDataLocalArduino15packagesdigistumphardwareavr1.6.7coretiny/wiring.c:93: множественное определение `__vector_4′
…AppDataLocalTemparduino_build_139604sketchsketch_jun28a.ino.cpp.o:…arduino-1.8.9SketchBooksketch_jun28a/sketch_jun28a.ino:60: впервые определено здесь
collect2.exe: ошибка: ld вернул 1 статус выхода
статус выхода 1
Ошибка компиляции для платы Digispark (по умолчанию — 16,5 МГц).
…AppDataLocalArduino15packagesdigistumphardwareavr1.6.7coretinycore_build_options.h (не нашел этот файл в arduino dir):
/*=============================================================================
Build options for the ATtiny85 processor
=============================================================================*/
#if defined( __AVR_ATtiny25__ ) || defined( __AVR_ATtiny45__ ) || defined( __AVR_ATtiny85__ )
#define __AVR_ATtinyX5__
#endif
#if defined( __AVR_ATtinyX5__ )
/*
For various reasons, Timer 1 is a better choice for the millis timer on the
'85 processor.
*/
#define TIMER_TO_USE_FOR_MILLIS 1
Еще один простой вариант — переписать или удалить ISR в проводке.:
…AppDataLocalArduino15packages digistumphardwareavr1.6.7coretinywiring.c
Например, после такого изменения удалось скомпилировать без проблем.
Самым простым решением было бы поместить этот код в мой ISR или вызвать его из другого.
#ifdef nothing
// bluebie изменил isr на noblock, чтобы он не испортил USB-библиотеки
ISR(MILLISTIMER_OVF_vect, ISR_NOBLOCK)
{
// скопируйте их в локальные переменные, чтобы они могли храниться в регистрах
// (изменчивые переменные должны считываться из памяти при каждом обращении)
unsigned long m = millis_timer_millis;
unsigned char f = millis_timer_fract;
/* rmv: The code below generates considerably less code (emtpy Sketch is 326 versus 304)...
m += MILLIS_INC;
f += FRACT_INC;
if (f >= FRACT_MAX) {
f -= FRACT_MAX;
m += 1;
}
...rmv */
f += FRACT_INC;
if (f >= FRACT_MAX)
{
f -= FRACT_MAX;
m = m + MILLIS_INC + 1;
}
else
{
m += MILLIS_INC;
}
millis_timer_fract = f;
millis_timer_millis = m;
millis_timer_overflow_count++;
}
#endif
Если вы переименуете wiring.c и перезапустите редактор, вы получите main.cpp:5: неопределенная ссылка на ошибку `init’, есть это «дерьмовое» сердце arduino:
#include <WProgram.h>
int main(void)
{
init();
setup();
for (;;)
loop();
return 0;
}
WProgram.h начинается с:
#ifndef WProgram_h
#define WProgram_h
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <avr/interrupt.h>
#include "core_build_options.h"
#include "core_pins.h"
#include "wiring.h"
...
И init этого ATtiny85 (внутренняя проводка.c) evn выглядит так:
void init(void)
{
// калибровка часов
// перекалибровать часы, если они были откалиброваны загрузчиком (например, micronucleus)
#if F_CPU != 16500000L
if (OSCCAL != read_factory_calibration()) {
// отрегулируйте калибровку с 16,5 МГц до 16,0 МГц
if (OSCCAL >= 128) {
// может быть, 8 лучше? ну да ладно - в любом случае только около 0,3%
OSCCAL -= 7;
} else {
OSCCAL -= 5;
}
}
#endif
// TODO: определите, установлены ли предохранители на PLL, обычный внутренний генератор или внешний, и измените поведение в следующем разделе...
#if F_CPU < 16000000L
cli();
CLKPR = 0b10000000;
#if F_CPU == 8000000L
CLKPR = 1; // div 2
#elif F_CPU == 4000000L
CLKPR = 2 // div 4
#elif F_CPU == 2000000L
CLKPR = 3; // div 8
#elif F_CPU == 1000000L
CLKPR = 4; // div 16
#elif F_CPU == 500000L
CLKPR = 5; // div 32 = 500khz
#elif F_CPU == 250000L
CLKPR = 6; // div 64 = 250 кГц
#elif F_CPU == 125000L
CLKPR = 7; // div 128 = 125 кГц тактовая частота процессора
#else
#warning "Cannot prescale chip to specified F_CPU speed"
#endif
#endif
// это нужно вызвать перед setup (), иначе некоторые функции там не будут работать
sei();
// На случай, если загрузчик плохо оставил наш миллисекундный таймер
#if defined( HAVE_BOOTLOADER ) && HAVE_BOOTLOADER
MillisTimer_SetToPowerup();
#endif
// Используйте таймер Millis для быстрого ШИМ
MillisTimer_SetWaveformGenerationMode( MillisTimer_(Fast_PWM_FF) );
// Millis timer-это всегда часы процессора, разделенные на MillisTimer_Prescale_Value (64)
MillisTimer_ClockSelect( MillisTimer_Prescale_Index );
// Включить прерывание overlow (это базовый системный tic-toc для millis)
MillisTimer_EnableOverflowInterrupt();
// Инициализация таймера, используемого для тонального сигнала
#if defined( INITIALIZE_SECONDARY_TIMERS ) && INITIALIZE_SECONDARY_TIMERS
initToneTimerInternal();
#endif
// Инициализация АЦП
#if defined( INITIALIZE_ANALOG_TO_DIGITAL_CONVERTER ) && INITIALIZE_ANALOG_TO_DIGITAL_CONVERTER
ADC_PrescalerSelect( ADC_ARDUINO_PRESCALER );
ADC_Enable();
#endif
}
2 июл 19,
@Tom
When i was compiling the code of sketch.ino I was receiving lot issues like
Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: «Digispark (Default — 16.5mhz)»
In file included from C:UserssayedDesktopArduino Project WorksDigiSparkStealer-masterarduino_sourcesketchsketch.ino:1:0:
C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wttlibrariesKeyboardsrc/Keyboard.h:25:17: fatal error: HID.h: No such file or directory
#include «HID.h»
compilation terminated.
exit status 1
Error compiling for board Digispark (Default — 16.5mhz).
This report would have more information with
«Show verbose output during compilation»
option enabled in File -> Preferences.
plz tell me if I am doing something wrong.
waiting for your reply
Loading