Traduit de English par IA ·
La question de Daniel est la bonne première étape. Sous macOS, aucun pilote n’est nécessaire : avrdude communique avec l’USBasp via libusb, installé avec Homebrew. Si Informations système > USB ne liste pas « USBasp » du tout, le problème vient de l’adaptateur, pas d’avrdude. J’ai eu exactement ce problème avec deux adaptateurs USB-C bon marché dans notre usine : l’USBasp est un périphérique USB bas débit dont le firmware fait du bit-banging USB, et certains adaptateurs et hubs USB-C ne le détectent pas de façon fiable. Un hub USB-A alimenté placé entre l’adaptateur et l’USBasp a réglé le problème, tout comme un autre adaptateur (Apple).Une fois le périphérique trouvé, l’erreur suivante que vous rencontrerez probablement sur des puces neuves est celle-ci :
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target does not answer (0x01)
Un 328P neuf fonctionne à 1 MHz avec l’oscillateur interne, et l’horloge ISP par défaut est trop rapide pour lui. Ralentissez-la :
avrdude -c usbasp -p m328p -B 32 -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m
avrdude -c usbasp -p m328p -B 4 -U flash:w:rs485node.hex:i
(ces fusibles sont prévus pour un quartz externe de 16 MHz ; vérifiez le vôtre avant de les écrire). L’avertissement « cannot set sck period » provient de l’ancien firmware USBasp et est sans gravité tant que -B fonctionne ; sur les anciennes versions, le cavalier de bas débit d’horloge fait la même chose.
Daniel’s question is the right first step. No driver is needed on macOS, avrdude talks to the USBasp through libusb, which Homebrew installs with it. If System Information > USB doesn’t list « USBasp » at all, it’s the adapter, not avrdude. I had exactly this with two cheap USB-C adapters at our plant: the USBasp is a low-speed USB device with the firmware bit-banging USB, and some USB-C adapters and hubs don’t enumerate those reliably. A powered USB-A hub between the adapter and the USBasp fixed it for me, so did a different (Apple) adapter.
Once it’s found, the next error you’ll probably meet on fresh chips is this:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target does not answer (0x01)
A new 328P runs at 1 MHz from the internal oscillator, and the default ISP clock is too fast for it. Slow it down:
avrdude -c usbasp -p m328p -B 32 -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m
avrdude -c usbasp -p m328p -B 4 -U flash:w:rs485node.hex:i
(those fuses are for an external 16 MHz crystal, check yours before you write them). The « cannot set sck period » warning is the old USBasp firmware talking, harmless as long as -B works; on older ones the slow-clock jumper does the same.

