Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Should SPI `attachInterrupt()` and `detachInterrupt()` be removed?

Ouverte
#183 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
30/100
Type d'issue
Refactorisation
Clarté
À clarifier
Activité
À l'abandon
Stack technique
cpp
Domaine
api, embedded-iot

Piste de recherche

Comparez les déclarations et implémentations SPI liées pour ArduinoCore-avr, megaavr, samd, mbed, arc32 et sam. Commencez par vérifier comment attachInterrupt() et detachInterrupt() sont définies ou omises dans ces cores et si le contrat de l’API explique leur rôle. Le travail est terminé lorsqu’une décision documentée a été prise concernant leur statut de prise en charge et que les fichiers des cores concernés ont été identifiés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

It looks like these methos are only used in the AVR ports, and even then they indicate that they should not be used.

ArduinoCore-avr/libraries/SPI/src/SPI.h#L306-L310
ArduinoCore-megaavr/libraries/SPI/src/SPI.h#L183-L187

  // These undocumented functions should not be used.  SPI.transfer()
  // polls the hardware flag which is automatically cleared as the
  // AVR responds to SPI's interrupt
  inline static void attachInterrupt() { SPCR |= _BV(SPIE); }
  inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }

Other cores do nothing or even do not implement it:

When are these methods meant to be used by Arduino users or ArduinoCore developers?

Langage dominant
C++
Étoiles
306
Forks
150
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de arduino/ArduinoCore-API

Toutes les issues de arduino/ArduinoCore-API

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.