Содержание

Чтение и запись fuses для мк Atmel

Чтение fuses из мк

readfuses.ino
#include <avr/boot.h>;
 
void setup()
{
    Serial.begin(57600);
 
    cli();
    uint8_t lowBits      = boot_lock_fuse_bits_get(GET_LOW_FUSE_BITS);
    uint8_t highBits     = boot_lock_fuse_bits_get(GET_HIGH_FUSE_BITS);
    uint8_t extendedBits = boot_lock_fuse_bits_get(GET_EXTENDED_FUSE_BITS);
    uint8_t lockBits     = boot_lock_fuse_bits_get(GET_LOCK_BITS);
    sei();
 
    Serial.print("Low:  0x");
    Serial.println(lowBits, HEX);
    Serial.print("High: 0x");
    Serial.println(highBits, HEX);
    Serial.print("Ext:  0x");
    Serial.println(extendedBits, HEX);
    Serial.print("Lock: 0x");
    Serial.println(lockBits, HEX);
}
 
void loop() 
{
}

Чтение fuses через avrdude

avrdude -P /dev/ttyACM0 -b 19200 -c avrisp -p m328p -v

Запись fuses через avrdude

<color #FF0000>Не используйте изменение fuses если не уверены в том что вы делаете!</color>

avrdude -P /dev/ttyACM0 -b 19200 -c avrisp -p m328p -U lfuse:w:0x00:m -U hfuse:w:0x00:m -U efuse:w:0x06:m