attiny13 ругается на прикрепление прерывания
- Войдите на сайт для отправки комментариев
Втр, 01/02/2022 - 14:04
volatile int state = LOW;
volatile int s=0;
void setup() {
pinMode(0, OUTPUT);
pinMode(1, INPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
digitalWrite(0, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
attachInterrupt(0, comp, RISING);
}
void comp() {
digitalWrite(2, HIGH);
//delayMicroseconds( 100);
state=digitalRead(1);
digitalWrite(2, LOW);
if(state==HIGH)
{
digitalWrite(4, HIGH);
digitalWrite(3, HIGH);
}
else
{
digitalWrite(4, LOW);
digitalWrite(3, LOW);
}
}
void loop() {
while (s < 2)
{
digitalWrite(0, HIGH);
digitalWrite(0, LOW);
digitalWrite(3, HIGH);
delay (500);
digitalWrite(3, LOW);
delay (500);
s++;
}
digitalWrite(0, HIGH);
digitalWrite(0, LOW);
s=0;
}
добрый день специалисты. подскажите почему ide ругается для attiny13?
Ну а текст ругани предлагается угадать? )
Мой хрустальный шар говорит что это скорее всего, что при аттачивании прерывание comp оно о нем ничего не знает, т.к. оно находится ниже. Угадал мой шар?
__Alexander В Arduino IDE это не важно.
'attachInterrupt' was not declared in this scope
Сменить аддон.
Сменить аддон.
поставить другую библиотеку для attiny13?
Сменить аддон.
на microCore, там всё пучком:
ISR(PCINT0_vect){ // тут, что нужно сделать в прерывании }// ISR(INT0_vect) // где-нибудь в setup GIMSK |= (1 << PCIE); // включаем прерывания по кнопке sei(); // разрешаем глобально прерыванияТак делал обработку кнопки - все работает. Только в регистре MCUCR нужно настроить от чего срабатывать
Сменить аддон.
на microCore, там всё пучком:
как это поставить? скинь пожалуйста ссылку на эту инфу, спасибо!!!
ISR(PCINT0_vect){ // тут, что нужно сделать в прерывании }// ISR(INT0_vect) // где-нибудь в setup GIMSK |= (1 << PCIE); // включаем прерывания по кнопке sei(); // разрешаем глобально прерыванияТак делал обработку кнопки - все работает. Только в регистре MCUCR нужно настроить от чего срабатывать
жаль, но я не силен в обращениях к регистрам((
Попробуй тогда перенести обработчик comp() выше setup или ниже loop, у меня было, что IDE ругалась на отсутствующую функцию.
Ну и Arduino IDE не полностью дружит с 13 тинькой.
Попробуй тогда перенести обработчик comp() выше setup или ниже loop, у меня было, что IDE ругалась на отсутствующую функцию.
Ну и Arduino IDE не полностью дружит с 13 тинькой.
все так же
https://github.com/MCUdude/MicroCore#how-to-install
https://github.com/MCUdude/MicroCore#how-to-install
Это точно, а microCore установлен вообще?
Сменить аддон.
на microCore, там всё пучком:
как это поставить? скинь пожалуйста ссылку на эту инфу, спасибо!!!
вот так
Заходишь в "Файл-> Настройки-> Дополнительные ссылки для Менеджера плат"
Вбиваешь туда: https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
Дальше - инструменты -> менеджер плат. В поиске вбиваешь tiny13 и устанавливаешь.
Сменить аддон.
Спасибо, заменил и все ок. Поставил MicroCore
Заходишь в "Файл-> Настройки-> Дополнительные ссылки для Менеджера плат"
Вбиваешь туда: https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
Дальше - инструменты -> менеджер плат. В поиске вбиваешь tiny13 и устанавливаешь.
Спасибо!!!
А как удалить старый Аддон?
А как удалить старый Аддон?
удалить папку с аддоном
удалил старый,установил новых парочку (MicroCore и DIY Attiny), но как то странно. Новых аддонов там же не появилось. Хотя в IDE в перечне плат появились новые. Прочесал все пути и не смог найти новых. Подскажите куда они могли установиться?
В папке packages
В папке packages
спасибо, нашел