Power down mode in atmega2560

Hello, I am using the atmega2560 in a prototyping board. The voltage regulator is a mcp1700-33 and the clk frequency is 8Mhz. My code is the following:

#include<avr/interrupt.h> 
#include <avr/sleep.h>
#include <avr/power.h>
#include<avr/wdt.h>;
int cont=0;
const int wakeUpPin = 2;
boolean wake=false;
void wakeUp()
{
  wake=true;
}

void setup()
{
pinMode(wakeUpPin, INPUT);
digitalWrite(wakeUpPin,HIGH);
Serial.begin(9600);
Serial.println("start");   
attachInterrupt(0, wakeUp, FALLING);
wdt_disable();
pinMode(wakeUpPin, INPUT);
digitalWrite(wakeUpPin,HIGH);
}

void loop() 
{
 if(wake)
 {
 wake=false;
 cont++;
 Serial.println(cont);
 delay(100);
 }
hibernate();
}

static void  hibernate(void)
{
       volatile uint8_t                    mcutmp, prr0tmp, prr1tmp;
     
       prr0tmp=PRR0;
       prr1tmp=PRR1;
       

        cli();                                  
        ShutOffADC();                             
        power_all_disable();
        PRR0 = 0xFF;//(1<<PRTWI) | (1<<PRTIM0) | (1<<PRTIM1) | (1<<PRTIM2) | (1<<PRSPI) | (1<<PRADC) | (1<<PRUSART0);
        PRR1=0xFF;//(1<<PRTIM5)| (1<<PRTIM4) | (1<<PRTIM3) | (1<<PRUSART3) | (1<<PRUSART2) | (1<<PRUSART1);
        set_sleep_mode(SLEEP_MODE_PWR_DOWN);      
        sleep_enable();                           
        sei();                                    
        sleep_cpu();

        sleep_disable();         
        power_all_enable();
        PRR0=prr0tmp;
        PRR1=prr1tmp;
       
    
}

void  ShutOffADC(void)
{
    ACSR = (1<<ACD);                        // disable A/D comparator
    ADCSRA = (0<<ADEN);                     // disable A/D converter
    DIDR0 = 0x3f;                           // disable all A/D inputs (ADC0-ADC5)
    DIDR1 = 0x03;                           // disable AIN0 and AIN1
}

With this code, the consumption is 20uA. In the datasheet, the consumption is less than 1uA.
Also, I used the lowpowermaster library and I obtain the same results.

Is the code wrong?
Thanks,
Regards.