Arduino使用所有端口ATMega2560

Arduino使用所有端口ATMega2560,arduino,atmega,Arduino,Atmega,我用Atmega2560制作了自己的PCB。由于错误,我在Arduino不使用的引脚上组装了一些输入和输出。虽然我仍然可以在端口操作中使用它们,但我想手动将它们添加到pins_arduino.h中,以便使用数组完成更好的操作 我试过这么做,但没用。有人能在这方面指导我吗 非常感谢 我试过这么做,但没用。有人能在这方面指导我吗 实际上,您需要创建自己的Arduino目标。我们将考虑$ARDUNO是您的ARDUINO安装/ Urs/Stuts/ARDUIO,或/Apvest/Addio.App/Co

我用Atmega2560制作了自己的PCB。由于错误,我在Arduino不使用的引脚上组装了一些输入和输出。虽然我仍然可以在端口操作中使用它们,但我想手动将它们添加到pins_arduino.h中,以便使用数组完成更好的操作

我试过这么做,但没用。有人能在这方面指导我吗

非常感谢

我试过这么做,但没用。有人能在这方面指导我吗

实际上,您需要创建自己的Arduino目标。我们将考虑$ARDUNO是您的ARDUINO安装/ Urs/Stuts/ARDUIO,或/Apvest/Addio.App/Cordss/RealsCs/Java/或Windows上的任何……/P> 因此,请执行以下步骤:

在$ARDUINO/hardware中,将完整的ARDUINO目录复制到一个新目录中,您可以自由调用该目录。通常使用贵公司或集团的名称,我们称之为示例; 在$ARDUINO/hardware/example/variants目录中,您需要复制mega目录,并用您的董事会名称重命名它,将其命名为thing。出于示例的目的,您可以安全地删除所有其他变体,因为它们仍然在ARDUINO variant目录中; 现在您可以编辑$ARDUINO/hardware/example/variants/thing/pins_ARDUINO.h,其中ARDUINO管脚编号是每个数组的索引,每个数组中的每个索引都定义了管脚的参数。在我的帖子末尾,我粘贴了标题的相关部分。 现在您可以编辑$ARDUINO/hardware/boards.txt 并进行单个条目:

###########################################################################
thing.name=Your full product name

thing.upload.protocol=wiring
thing.upload.maximum_size=258048
thing.upload.speed=115200

thing.bootloader.low_fuses=0xFF      // double check that those values are the one you need for the fuses
thing.bootloader.high_fuses=0xD8
thing.bootloader.extended_fuses=0xFD
thing.bootloader.path=stk500v2
thing.bootloader.file=stk500boot_v2_mega2560.hex
thing.bootloader.unlock_bits=0x3F
thing.bootloader.lock_bits=0x0F

thing.build.mcu=atmega2560
thing.build.f_cpu=16000000L
thing.build.core=arduino
thing.build.variant=thing
###########################################################################
现在你应该准备好了!如果我没有忘记什么:-s

以下是pins_arduino.h的相关部分:

const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
    // PORTLIST             
    // -------------------------------------------          
    PE  , // PE 0 ** 0 ** USART0_RX     
    PE  , // PE 1 ** 1 ** USART0_TX     
    PE  , // PE 4 ** 2 ** PWM2  
    PE  , // PE 5 ** 3 ** PWM3  
    PG  , // PG 5 ** 4 ** PWM4  
    PE  , // PE 3 ** 5 ** PWM5  
    PH  , // PH 3 ** 6 ** PWM6  
    PH  , // PH 4 ** 7 ** PWM7  
    PH  , // PH 5 ** 8 ** PWM8  
    PH  , // PH 6 ** 9 ** PWM9  
    PB  , // PB 4 ** 10 ** PWM10        
    PB  , // PB 5 ** 11 ** PWM11        
    PB  , // PB 6 ** 12 ** PWM12        
    PB  , // PB 7 ** 13 ** PWM13        
    PJ  , // PJ 1 ** 14 ** USART3_TX    
    PJ  , // PJ 0 ** 15 ** USART3_RX    
    PH  , // PH 1 ** 16 ** USART2_TX    
    PH  , // PH 0 ** 17 ** USART2_RX    
    PD  , // PD 3 ** 18 ** USART1_TX    
    PD  , // PD 2 ** 19 ** USART1_RX    
    PD  , // PD 1 ** 20 ** I2C_SDA      
    PD  , // PD 0 ** 21 ** I2C_SCL      
    PA  , // PA 0 ** 22 ** D22  
    PA  , // PA 1 ** 23 ** D23  
    PA  , // PA 2 ** 24 ** D24  
    PA  , // PA 3 ** 25 ** D25  
    PA  , // PA 4 ** 26 ** D26  
    PA  , // PA 5 ** 27 ** D27  
    PA  , // PA 6 ** 28 ** D28  
    PA  , // PA 7 ** 29 ** D29  
    PC  , // PC 7 ** 30 ** D30  
    PC  , // PC 6 ** 31 ** D31  
    PC  , // PC 5 ** 32 ** D32  
    PC  , // PC 4 ** 33 ** D33  
    PC  , // PC 3 ** 34 ** D34  
    PC  , // PC 2 ** 35 ** D35  
    PC  , // PC 1 ** 36 ** D36  
    PC  , // PC 0 ** 37 ** D37  
    PD  , // PD 7 ** 38 ** D38  
    PG  , // PG 2 ** 39 ** D39  
    PG  , // PG 1 ** 40 ** D40  
    PG  , // PG 0 ** 41 ** D41  
    PL  , // PL 7 ** 42 ** D42  
    PL  , // PL 6 ** 43 ** D43  
    PL  , // PL 5 ** 44 ** D44  
    PL  , // PL 4 ** 45 ** D45  
    PL  , // PL 3 ** 46 ** D46  
    PL  , // PL 2 ** 47 ** D47  
    PL  , // PL 1 ** 48 ** D48  
    PL  , // PL 0 ** 49 ** D49  
    PB  , // PB 3 ** 50 ** SPI_MISO     
    PB  , // PB 2 ** 51 ** SPI_MOSI     
    PB  , // PB 1 ** 52 ** SPI_SCK      
    PB  , // PB 0 ** 53 ** SPI_SS       
    PF  , // PF 0 ** 54 ** A0   
    PF  , // PF 1 ** 55 ** A1   
    PF  , // PF 2 ** 56 ** A2   
    PF  , // PF 3 ** 57 ** A3   
    PF  , // PF 4 ** 58 ** A4   
    PF  , // PF 5 ** 59 ** A5   
    PF  , // PF 6 ** 60 ** A6   
    PF  , // PF 7 ** 61 ** A7   
    PK  , // PK 0 ** 62 ** A8   
    PK  , // PK 1 ** 63 ** A9   
    PK  , // PK 2 ** 64 ** A10  
    PK  , // PK 3 ** 65 ** A11  
    PK  , // PK 4 ** 66 ** A12  
    PK  , // PK 5 ** 67 ** A13  
    PK  , // PK 6 ** 68 ** A14  
    PK  , // PK 7 ** 69 ** A15  
    // added stuff
    PD  , // PD 4 ** 70 ** D70
    PD  , // PD 5 ** 71 ** D71
    PD  , // PD 6 ** 72 ** D72
    PG  , // PG 3 ** 73 ** D73
    PG  , // PG 4 ** 74 ** D74
    PH  , // PH 2 ** 75 ** D75
    PH  , // PH 7 ** 76 ** D76
    PJ  , // PJ 2 ** 77 ** D77
    PJ  , // PJ 3 ** 78 ** D78
    PJ  , // PJ 4 ** 79 ** D79
    PJ  , // PJ 5 ** 80 ** D80
    PJ  , // PJ 6 ** 81 ** D81
    PJ  , // PJ 7 ** 82 ** D82
    PE  , // PE 6 ** 83 ** D83
    PE  , // PE 7 ** 84 ** D84
};

const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
    // PIN IN PORT          
    // -------------------------------------------          
    _BV( 0 )    , // PE 0 ** 0 ** USART0_RX     
    _BV( 1 )    , // PE 1 ** 1 ** USART0_TX     
    _BV( 4 )    , // PE 4 ** 2 ** PWM2  
    _BV( 5 )    , // PE 5 ** 3 ** PWM3  
    _BV( 5 )    , // PG 5 ** 4 ** PWM4  
    _BV( 3 )    , // PE 3 ** 5 ** PWM5  
    _BV( 3 )    , // PH 3 ** 6 ** PWM6  
    _BV( 4 )    , // PH 4 ** 7 ** PWM7  
    _BV( 5 )    , // PH 5 ** 8 ** PWM8  
    _BV( 6 )    , // PH 6 ** 9 ** PWM9  
    _BV( 4 )    , // PB 4 ** 10 ** PWM10        
    _BV( 5 )    , // PB 5 ** 11 ** PWM11        
    _BV( 6 )    , // PB 6 ** 12 ** PWM12        
    _BV( 7 )    , // PB 7 ** 13 ** PWM13        
    _BV( 1 )    , // PJ 1 ** 14 ** USART3_TX    
    _BV( 0 )    , // PJ 0 ** 15 ** USART3_RX    
    _BV( 1 )    , // PH 1 ** 16 ** USART2_TX    
    _BV( 0 )    , // PH 0 ** 17 ** USART2_RX    
    _BV( 3 )    , // PD 3 ** 18 ** USART1_TX    
    _BV( 2 )    , // PD 2 ** 19 ** USART1_RX    
    _BV( 1 )    , // PD 1 ** 20 ** I2C_SDA      
    _BV( 0 )    , // PD 0 ** 21 ** I2C_SCL      
    _BV( 0 )    , // PA 0 ** 22 ** D22  
    _BV( 1 )    , // PA 1 ** 23 ** D23  
    _BV( 2 )    , // PA 2 ** 24 ** D24  
    _BV( 3 )    , // PA 3 ** 25 ** D25  
    _BV( 4 )    , // PA 4 ** 26 ** D26  
    _BV( 5 )    , // PA 5 ** 27 ** D27  
    _BV( 6 )    , // PA 6 ** 28 ** D28  
    _BV( 7 )    , // PA 7 ** 29 ** D29  
    _BV( 7 )    , // PC 7 ** 30 ** D30  
    _BV( 6 )    , // PC 6 ** 31 ** D31  
    _BV( 5 )    , // PC 5 ** 32 ** D32  
    _BV( 4 )    , // PC 4 ** 33 ** D33  
    _BV( 3 )    , // PC 3 ** 34 ** D34  
    _BV( 2 )    , // PC 2 ** 35 ** D35  
    _BV( 1 )    , // PC 1 ** 36 ** D36  
    _BV( 0 )    , // PC 0 ** 37 ** D37  
    _BV( 7 )    , // PD 7 ** 38 ** D38  
    _BV( 2 )    , // PG 2 ** 39 ** D39  
    _BV( 1 )    , // PG 1 ** 40 ** D40  
    _BV( 0 )    , // PG 0 ** 41 ** D41  
    _BV( 7 )    , // PL 7 ** 42 ** D42  
    _BV( 6 )    , // PL 6 ** 43 ** D43  
    _BV( 5 )    , // PL 5 ** 44 ** D44  
    _BV( 4 )    , // PL 4 ** 45 ** D45
    _BV( 3 )    , // PL 3 ** 46 ** D46  
    _BV( 2 )    , // PL 2 ** 47 ** D47  
    _BV( 1 )    , // PL 1 ** 48 ** D48  
    _BV( 0 )    , // PL 0 ** 49 ** D49  
    _BV( 3 )    , // PB 3 ** 50 ** SPI_MISO     
    _BV( 2 )    , // PB 2 ** 51 ** SPI_MOSI     
    _BV( 1 )    , // PB 1 ** 52 ** SPI_SCK      
    _BV( 0 )    , // PB 0 ** 53 ** SPI_SS       
    _BV( 0 )    , // PF 0 ** 54 ** A0   
    _BV( 1 )    , // PF 1 ** 55 ** A1   
    _BV( 2 )    , // PF 2 ** 56 ** A2   
    _BV( 3 )    , // PF 3 ** 57 ** A3   
    _BV( 4 )    , // PF 4 ** 58 ** A4   
    _BV( 5 )    , // PF 5 ** 59 ** A5   
    _BV( 6 )    , // PF 6 ** 60 ** A6   
    _BV( 7 )    , // PF 7 ** 61 ** A7   
    _BV( 0 )    , // PK 0 ** 62 ** A8   
    _BV( 1 )    , // PK 1 ** 63 ** A9   
    _BV( 2 )    , // PK 2 ** 64 ** A10  
    _BV( 3 )    , // PK 3 ** 65 ** A11  
    _BV( 4 )    , // PK 4 ** 66 ** A12  
    _BV( 5 )    , // PK 5 ** 67 ** A13  
    _BV( 6 )    , // PK 6 ** 68 ** A14  
    _BV( 7 )    , // PK 7 ** 69 ** A15  
    // added stuff
    _BV( 4 )    , // PD 4 ** 70 ** D70
    _BV( 5 )    , // PD 5 ** 71 ** D71
    _BV( 6 )    , // PD 6 ** 72 ** D72
    _BV( 3 )    , // PG 3 ** 73 ** D73
    _BV( 4 )    , // PG 4 ** 74 ** D74
    _BV( 2 )    , // PH 2 ** 75 ** D75
    _BV( 7 )    , // PH 7 ** 76 ** D76
    _BV( 2 )    , // PJ 2 ** 77 ** D77
    _BV( 3 )    , // PJ 3 ** 78 ** D78
    _BV( 4 )    , // PJ 4 ** 79 ** D79
    _BV( 5 )    , // PJ 5 ** 80 ** D80
    _BV( 6 )    , // PJ 6 ** 81 ** D81
    _BV( 7 )    , // PJ 7 ** 82 ** D82
    _BV( 6 )    , // PE 6 ** 83 ** D83
    _BV( 7 )    , // PE 7 ** 84 ** D84
};

const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
    // TIMERS               
    // -------------------------------------------          
    NOT_ON_TIMER    , // PE 0 ** 0 ** USART0_RX     
    NOT_ON_TIMER    , // PE 1 ** 1 ** USART0_TX     
    TIMER3B , // PE 4 ** 2 ** PWM2  
    TIMER3C , // PE 5 ** 3 ** PWM3  
    TIMER0B , // PG 5 ** 4 ** PWM4  
    TIMER3A , // PE 3 ** 5 ** PWM5  
    TIMER4A , // PH 3 ** 6 ** PWM6  
    TIMER4B , // PH 4 ** 7 ** PWM7  
    TIMER4C , // PH 5 ** 8 ** PWM8  
    TIMER2B , // PH 6 ** 9 ** PWM9  
    TIMER2A , // PB 4 ** 10 ** PWM10        
    TIMER1A , // PB 5 ** 11 ** PWM11        
    TIMER1B , // PB 6 ** 12 ** PWM12        
    TIMER0A , // PB 7 ** 13 ** PWM13        
    NOT_ON_TIMER    , // PJ 1 ** 14 ** USART3_TX    
    NOT_ON_TIMER    , // PJ 0 ** 15 ** USART3_RX    
    NOT_ON_TIMER    , // PH 1 ** 16 ** USART2_TX    
    NOT_ON_TIMER    , // PH 0 ** 17 ** USART2_RX    
    NOT_ON_TIMER    , // PD 3 ** 18 ** USART1_TX    
    NOT_ON_TIMER    , // PD 2 ** 19 ** USART1_RX    
    NOT_ON_TIMER    , // PD 1 ** 20 ** I2C_SDA      
    NOT_ON_TIMER    , // PD 0 ** 21 ** I2C_SCL      
    NOT_ON_TIMER    , // PA 0 ** 22 ** D22  
    NOT_ON_TIMER    , // PA 1 ** 23 ** D23  
    NOT_ON_TIMER    , // PA 2 ** 24 ** D24  
    NOT_ON_TIMER    , // PA 3 ** 25 ** D25  
    NOT_ON_TIMER    , // PA 4 ** 26 ** D26  
    NOT_ON_TIMER    , // PA 5 ** 27 ** D27  
    NOT_ON_TIMER    , // PA 6 ** 28 ** D28  
    NOT_ON_TIMER    , // PA 7 ** 29 ** D29  
    NOT_ON_TIMER    , // PC 7 ** 30 ** D30  
    NOT_ON_TIMER    , // PC 6 ** 31 ** D31  
    NOT_ON_TIMER    , // PC 5 ** 32 ** D32  
    NOT_ON_TIMER    , // PC 4 ** 33 ** D33  
    NOT_ON_TIMER    , // PC 3 ** 34 ** D34  
    NOT_ON_TIMER    , // PC 2 ** 35 ** D35  
    NOT_ON_TIMER    , // PC 1 ** 36 ** D36  
    NOT_ON_TIMER    , // PC 0 ** 37 ** D37  
    NOT_ON_TIMER    , // PD 7 ** 38 ** D38  
    NOT_ON_TIMER    , // PG 2 ** 39 ** D39  
    NOT_ON_TIMER    , // PG 1 ** 40 ** D40  
    NOT_ON_TIMER    , // PG 0 ** 41 ** D41  
    NOT_ON_TIMER    , // PL 7 ** 42 ** D42  
    NOT_ON_TIMER    , // PL 6 ** 43 ** D43  
    TIMER5C , // PL 5 ** 44 ** D44  
    TIMER5B , // PL 4 ** 45 ** D45  
    TIMER5A , // PL 3 ** 46 ** D46  
    NOT_ON_TIMER    , // PL 2 ** 47 ** D47  
    NOT_ON_TIMER    , // PL 1 ** 48 ** D48  
    NOT_ON_TIMER    , // PL 0 ** 49 ** D49  
    NOT_ON_TIMER    , // PB 3 ** 50 ** SPI_MISO     
    NOT_ON_TIMER    , // PB 2 ** 51 ** SPI_MOSI     
    NOT_ON_TIMER    , // PB 1 ** 52 ** SPI_SCK      
    NOT_ON_TIMER    , // PB 0 ** 53 ** SPI_SS       
    NOT_ON_TIMER    , // PF 0 ** 54 ** A0   
    NOT_ON_TIMER    , // PF 1 ** 55 ** A1   
    NOT_ON_TIMER    , // PF 2 ** 56 ** A2   
    NOT_ON_TIMER    , // PF 3 ** 57 ** A3   
    NOT_ON_TIMER    , // PF 4 ** 58 ** A4   
    NOT_ON_TIMER    , // PF 5 ** 59 ** A5   
    NOT_ON_TIMER    , // PF 6 ** 60 ** A6   
    NOT_ON_TIMER    , // PF 7 ** 61 ** A7   
    NOT_ON_TIMER    , // PK 0 ** 62 ** A8   
    NOT_ON_TIMER    , // PK 1 ** 63 ** A9   
    NOT_ON_TIMER    , // PK 2 ** 64 ** A10  
    NOT_ON_TIMER    , // PK 3 ** 65 ** A11  
    NOT_ON_TIMER    , // PK 4 ** 66 ** A12  
    NOT_ON_TIMER    , // PK 5 ** 67 ** A13  
    NOT_ON_TIMER    , // PK 6 ** 68 ** A14  
    NOT_ON_TIMER    , // PK 7 ** 69 ** A15  
    // added stuff
    NOT_ON_TIMER        , // PD 4 ** 70 ** D70
    NOT_ON_TIMER        , // PD 5 ** 71 ** D71
    NOT_ON_TIMER        , // PD 6 ** 72 ** D72
    NOT_ON_TIMER        , // PG 3 ** 73 ** D73
    NOT_ON_TIMER        , // PG 4 ** 74 ** D74
    NOT_ON_TIMER        , // PH 2 ** 75 ** D75
    NOT_ON_TIMER        , // PH 7 ** 76 ** D76
    NOT_ON_TIMER        , // PJ 2 ** 77 ** D77   // PCINT 11
    NOT_ON_TIMER        , // PJ 3 ** 78 ** D78   // PCINT 12
    NOT_ON_TIMER        , // PJ 4 ** 79 ** D79   // PCINT 13
    NOT_ON_TIMER        , // PJ 5 ** 80 ** D80   // PCINT 14
    NOT_ON_TIMER        , // PJ 6 ** 81 ** D81   // PCINT 15
    NOT_ON_TIMER        , // PJ 7 ** 82 ** D82
    NOT_ON_TIMER        , // PE 6 ** 83 ** D83
    NOT_ON_TIMER        , // PE 7 ** 84 ** D84
};
我试过这么做,但没用。有人能在这方面指导我吗

实际上,您需要创建自己的Arduino目标。我们将考虑$ARDUNO是您的ARDUINO安装/ Urs/Stuts/ARDUIO,或/Apvest/Addio.App/Cordss/RealsCs/Java/或Windows上的任何……/P> 因此,请执行以下步骤:

在$ARDUINO/hardware中,将完整的ARDUINO目录复制到一个新目录中,您可以自由调用该目录。通常使用贵公司或集团的名称,我们称之为示例; 在$ARDUINO/hardware/example/variants目录中,您需要复制mega目录,并用您的董事会名称重命名它,将其命名为thing。出于示例的目的,您可以安全地删除所有其他变体,因为它们仍然在ARDUINO variant目录中; 现在您可以编辑$ARDUINO/hardware/example/variants/thing/pins_ARDUINO.h,其中ARDUINO管脚编号是每个数组的索引,每个数组中的每个索引都定义了管脚的参数。在我的帖子末尾,我粘贴了标题的相关部分。 现在您可以编辑$ARDUINO/hardware/boards.txt 并进行单个条目:

###########################################################################
thing.name=Your full product name

thing.upload.protocol=wiring
thing.upload.maximum_size=258048
thing.upload.speed=115200

thing.bootloader.low_fuses=0xFF      // double check that those values are the one you need for the fuses
thing.bootloader.high_fuses=0xD8
thing.bootloader.extended_fuses=0xFD
thing.bootloader.path=stk500v2
thing.bootloader.file=stk500boot_v2_mega2560.hex
thing.bootloader.unlock_bits=0x3F
thing.bootloader.lock_bits=0x0F

thing.build.mcu=atmega2560
thing.build.f_cpu=16000000L
thing.build.core=arduino
thing.build.variant=thing
###########################################################################
现在你应该准备好了!如果我没有忘记什么:-s

以下是pins_arduino.h的相关部分:

const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
    // PORTLIST             
    // -------------------------------------------          
    PE  , // PE 0 ** 0 ** USART0_RX     
    PE  , // PE 1 ** 1 ** USART0_TX     
    PE  , // PE 4 ** 2 ** PWM2  
    PE  , // PE 5 ** 3 ** PWM3  
    PG  , // PG 5 ** 4 ** PWM4  
    PE  , // PE 3 ** 5 ** PWM5  
    PH  , // PH 3 ** 6 ** PWM6  
    PH  , // PH 4 ** 7 ** PWM7  
    PH  , // PH 5 ** 8 ** PWM8  
    PH  , // PH 6 ** 9 ** PWM9  
    PB  , // PB 4 ** 10 ** PWM10        
    PB  , // PB 5 ** 11 ** PWM11        
    PB  , // PB 6 ** 12 ** PWM12        
    PB  , // PB 7 ** 13 ** PWM13        
    PJ  , // PJ 1 ** 14 ** USART3_TX    
    PJ  , // PJ 0 ** 15 ** USART3_RX    
    PH  , // PH 1 ** 16 ** USART2_TX    
    PH  , // PH 0 ** 17 ** USART2_RX    
    PD  , // PD 3 ** 18 ** USART1_TX    
    PD  , // PD 2 ** 19 ** USART1_RX    
    PD  , // PD 1 ** 20 ** I2C_SDA      
    PD  , // PD 0 ** 21 ** I2C_SCL      
    PA  , // PA 0 ** 22 ** D22  
    PA  , // PA 1 ** 23 ** D23  
    PA  , // PA 2 ** 24 ** D24  
    PA  , // PA 3 ** 25 ** D25  
    PA  , // PA 4 ** 26 ** D26  
    PA  , // PA 5 ** 27 ** D27  
    PA  , // PA 6 ** 28 ** D28  
    PA  , // PA 7 ** 29 ** D29  
    PC  , // PC 7 ** 30 ** D30  
    PC  , // PC 6 ** 31 ** D31  
    PC  , // PC 5 ** 32 ** D32  
    PC  , // PC 4 ** 33 ** D33  
    PC  , // PC 3 ** 34 ** D34  
    PC  , // PC 2 ** 35 ** D35  
    PC  , // PC 1 ** 36 ** D36  
    PC  , // PC 0 ** 37 ** D37  
    PD  , // PD 7 ** 38 ** D38  
    PG  , // PG 2 ** 39 ** D39  
    PG  , // PG 1 ** 40 ** D40  
    PG  , // PG 0 ** 41 ** D41  
    PL  , // PL 7 ** 42 ** D42  
    PL  , // PL 6 ** 43 ** D43  
    PL  , // PL 5 ** 44 ** D44  
    PL  , // PL 4 ** 45 ** D45  
    PL  , // PL 3 ** 46 ** D46  
    PL  , // PL 2 ** 47 ** D47  
    PL  , // PL 1 ** 48 ** D48  
    PL  , // PL 0 ** 49 ** D49  
    PB  , // PB 3 ** 50 ** SPI_MISO     
    PB  , // PB 2 ** 51 ** SPI_MOSI     
    PB  , // PB 1 ** 52 ** SPI_SCK      
    PB  , // PB 0 ** 53 ** SPI_SS       
    PF  , // PF 0 ** 54 ** A0   
    PF  , // PF 1 ** 55 ** A1   
    PF  , // PF 2 ** 56 ** A2   
    PF  , // PF 3 ** 57 ** A3   
    PF  , // PF 4 ** 58 ** A4   
    PF  , // PF 5 ** 59 ** A5   
    PF  , // PF 6 ** 60 ** A6   
    PF  , // PF 7 ** 61 ** A7   
    PK  , // PK 0 ** 62 ** A8   
    PK  , // PK 1 ** 63 ** A9   
    PK  , // PK 2 ** 64 ** A10  
    PK  , // PK 3 ** 65 ** A11  
    PK  , // PK 4 ** 66 ** A12  
    PK  , // PK 5 ** 67 ** A13  
    PK  , // PK 6 ** 68 ** A14  
    PK  , // PK 7 ** 69 ** A15  
    // added stuff
    PD  , // PD 4 ** 70 ** D70
    PD  , // PD 5 ** 71 ** D71
    PD  , // PD 6 ** 72 ** D72
    PG  , // PG 3 ** 73 ** D73
    PG  , // PG 4 ** 74 ** D74
    PH  , // PH 2 ** 75 ** D75
    PH  , // PH 7 ** 76 ** D76
    PJ  , // PJ 2 ** 77 ** D77
    PJ  , // PJ 3 ** 78 ** D78
    PJ  , // PJ 4 ** 79 ** D79
    PJ  , // PJ 5 ** 80 ** D80
    PJ  , // PJ 6 ** 81 ** D81
    PJ  , // PJ 7 ** 82 ** D82
    PE  , // PE 6 ** 83 ** D83
    PE  , // PE 7 ** 84 ** D84
};

const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
    // PIN IN PORT          
    // -------------------------------------------          
    _BV( 0 )    , // PE 0 ** 0 ** USART0_RX     
    _BV( 1 )    , // PE 1 ** 1 ** USART0_TX     
    _BV( 4 )    , // PE 4 ** 2 ** PWM2  
    _BV( 5 )    , // PE 5 ** 3 ** PWM3  
    _BV( 5 )    , // PG 5 ** 4 ** PWM4  
    _BV( 3 )    , // PE 3 ** 5 ** PWM5  
    _BV( 3 )    , // PH 3 ** 6 ** PWM6  
    _BV( 4 )    , // PH 4 ** 7 ** PWM7  
    _BV( 5 )    , // PH 5 ** 8 ** PWM8  
    _BV( 6 )    , // PH 6 ** 9 ** PWM9  
    _BV( 4 )    , // PB 4 ** 10 ** PWM10        
    _BV( 5 )    , // PB 5 ** 11 ** PWM11        
    _BV( 6 )    , // PB 6 ** 12 ** PWM12        
    _BV( 7 )    , // PB 7 ** 13 ** PWM13        
    _BV( 1 )    , // PJ 1 ** 14 ** USART3_TX    
    _BV( 0 )    , // PJ 0 ** 15 ** USART3_RX    
    _BV( 1 )    , // PH 1 ** 16 ** USART2_TX    
    _BV( 0 )    , // PH 0 ** 17 ** USART2_RX    
    _BV( 3 )    , // PD 3 ** 18 ** USART1_TX    
    _BV( 2 )    , // PD 2 ** 19 ** USART1_RX    
    _BV( 1 )    , // PD 1 ** 20 ** I2C_SDA      
    _BV( 0 )    , // PD 0 ** 21 ** I2C_SCL      
    _BV( 0 )    , // PA 0 ** 22 ** D22  
    _BV( 1 )    , // PA 1 ** 23 ** D23  
    _BV( 2 )    , // PA 2 ** 24 ** D24  
    _BV( 3 )    , // PA 3 ** 25 ** D25  
    _BV( 4 )    , // PA 4 ** 26 ** D26  
    _BV( 5 )    , // PA 5 ** 27 ** D27  
    _BV( 6 )    , // PA 6 ** 28 ** D28  
    _BV( 7 )    , // PA 7 ** 29 ** D29  
    _BV( 7 )    , // PC 7 ** 30 ** D30  
    _BV( 6 )    , // PC 6 ** 31 ** D31  
    _BV( 5 )    , // PC 5 ** 32 ** D32  
    _BV( 4 )    , // PC 4 ** 33 ** D33  
    _BV( 3 )    , // PC 3 ** 34 ** D34  
    _BV( 2 )    , // PC 2 ** 35 ** D35  
    _BV( 1 )    , // PC 1 ** 36 ** D36  
    _BV( 0 )    , // PC 0 ** 37 ** D37  
    _BV( 7 )    , // PD 7 ** 38 ** D38  
    _BV( 2 )    , // PG 2 ** 39 ** D39  
    _BV( 1 )    , // PG 1 ** 40 ** D40  
    _BV( 0 )    , // PG 0 ** 41 ** D41  
    _BV( 7 )    , // PL 7 ** 42 ** D42  
    _BV( 6 )    , // PL 6 ** 43 ** D43  
    _BV( 5 )    , // PL 5 ** 44 ** D44  
    _BV( 4 )    , // PL 4 ** 45 ** D45
    _BV( 3 )    , // PL 3 ** 46 ** D46  
    _BV( 2 )    , // PL 2 ** 47 ** D47  
    _BV( 1 )    , // PL 1 ** 48 ** D48  
    _BV( 0 )    , // PL 0 ** 49 ** D49  
    _BV( 3 )    , // PB 3 ** 50 ** SPI_MISO     
    _BV( 2 )    , // PB 2 ** 51 ** SPI_MOSI     
    _BV( 1 )    , // PB 1 ** 52 ** SPI_SCK      
    _BV( 0 )    , // PB 0 ** 53 ** SPI_SS       
    _BV( 0 )    , // PF 0 ** 54 ** A0   
    _BV( 1 )    , // PF 1 ** 55 ** A1   
    _BV( 2 )    , // PF 2 ** 56 ** A2   
    _BV( 3 )    , // PF 3 ** 57 ** A3   
    _BV( 4 )    , // PF 4 ** 58 ** A4   
    _BV( 5 )    , // PF 5 ** 59 ** A5   
    _BV( 6 )    , // PF 6 ** 60 ** A6   
    _BV( 7 )    , // PF 7 ** 61 ** A7   
    _BV( 0 )    , // PK 0 ** 62 ** A8   
    _BV( 1 )    , // PK 1 ** 63 ** A9   
    _BV( 2 )    , // PK 2 ** 64 ** A10  
    _BV( 3 )    , // PK 3 ** 65 ** A11  
    _BV( 4 )    , // PK 4 ** 66 ** A12  
    _BV( 5 )    , // PK 5 ** 67 ** A13  
    _BV( 6 )    , // PK 6 ** 68 ** A14  
    _BV( 7 )    , // PK 7 ** 69 ** A15  
    // added stuff
    _BV( 4 )    , // PD 4 ** 70 ** D70
    _BV( 5 )    , // PD 5 ** 71 ** D71
    _BV( 6 )    , // PD 6 ** 72 ** D72
    _BV( 3 )    , // PG 3 ** 73 ** D73
    _BV( 4 )    , // PG 4 ** 74 ** D74
    _BV( 2 )    , // PH 2 ** 75 ** D75
    _BV( 7 )    , // PH 7 ** 76 ** D76
    _BV( 2 )    , // PJ 2 ** 77 ** D77
    _BV( 3 )    , // PJ 3 ** 78 ** D78
    _BV( 4 )    , // PJ 4 ** 79 ** D79
    _BV( 5 )    , // PJ 5 ** 80 ** D80
    _BV( 6 )    , // PJ 6 ** 81 ** D81
    _BV( 7 )    , // PJ 7 ** 82 ** D82
    _BV( 6 )    , // PE 6 ** 83 ** D83
    _BV( 7 )    , // PE 7 ** 84 ** D84
};

const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
    // TIMERS               
    // -------------------------------------------          
    NOT_ON_TIMER    , // PE 0 ** 0 ** USART0_RX     
    NOT_ON_TIMER    , // PE 1 ** 1 ** USART0_TX     
    TIMER3B , // PE 4 ** 2 ** PWM2  
    TIMER3C , // PE 5 ** 3 ** PWM3  
    TIMER0B , // PG 5 ** 4 ** PWM4  
    TIMER3A , // PE 3 ** 5 ** PWM5  
    TIMER4A , // PH 3 ** 6 ** PWM6  
    TIMER4B , // PH 4 ** 7 ** PWM7  
    TIMER4C , // PH 5 ** 8 ** PWM8  
    TIMER2B , // PH 6 ** 9 ** PWM9  
    TIMER2A , // PB 4 ** 10 ** PWM10        
    TIMER1A , // PB 5 ** 11 ** PWM11        
    TIMER1B , // PB 6 ** 12 ** PWM12        
    TIMER0A , // PB 7 ** 13 ** PWM13        
    NOT_ON_TIMER    , // PJ 1 ** 14 ** USART3_TX    
    NOT_ON_TIMER    , // PJ 0 ** 15 ** USART3_RX    
    NOT_ON_TIMER    , // PH 1 ** 16 ** USART2_TX    
    NOT_ON_TIMER    , // PH 0 ** 17 ** USART2_RX    
    NOT_ON_TIMER    , // PD 3 ** 18 ** USART1_TX    
    NOT_ON_TIMER    , // PD 2 ** 19 ** USART1_RX    
    NOT_ON_TIMER    , // PD 1 ** 20 ** I2C_SDA      
    NOT_ON_TIMER    , // PD 0 ** 21 ** I2C_SCL      
    NOT_ON_TIMER    , // PA 0 ** 22 ** D22  
    NOT_ON_TIMER    , // PA 1 ** 23 ** D23  
    NOT_ON_TIMER    , // PA 2 ** 24 ** D24  
    NOT_ON_TIMER    , // PA 3 ** 25 ** D25  
    NOT_ON_TIMER    , // PA 4 ** 26 ** D26  
    NOT_ON_TIMER    , // PA 5 ** 27 ** D27  
    NOT_ON_TIMER    , // PA 6 ** 28 ** D28  
    NOT_ON_TIMER    , // PA 7 ** 29 ** D29  
    NOT_ON_TIMER    , // PC 7 ** 30 ** D30  
    NOT_ON_TIMER    , // PC 6 ** 31 ** D31  
    NOT_ON_TIMER    , // PC 5 ** 32 ** D32  
    NOT_ON_TIMER    , // PC 4 ** 33 ** D33  
    NOT_ON_TIMER    , // PC 3 ** 34 ** D34  
    NOT_ON_TIMER    , // PC 2 ** 35 ** D35  
    NOT_ON_TIMER    , // PC 1 ** 36 ** D36  
    NOT_ON_TIMER    , // PC 0 ** 37 ** D37  
    NOT_ON_TIMER    , // PD 7 ** 38 ** D38  
    NOT_ON_TIMER    , // PG 2 ** 39 ** D39  
    NOT_ON_TIMER    , // PG 1 ** 40 ** D40  
    NOT_ON_TIMER    , // PG 0 ** 41 ** D41  
    NOT_ON_TIMER    , // PL 7 ** 42 ** D42  
    NOT_ON_TIMER    , // PL 6 ** 43 ** D43  
    TIMER5C , // PL 5 ** 44 ** D44  
    TIMER5B , // PL 4 ** 45 ** D45  
    TIMER5A , // PL 3 ** 46 ** D46  
    NOT_ON_TIMER    , // PL 2 ** 47 ** D47  
    NOT_ON_TIMER    , // PL 1 ** 48 ** D48  
    NOT_ON_TIMER    , // PL 0 ** 49 ** D49  
    NOT_ON_TIMER    , // PB 3 ** 50 ** SPI_MISO     
    NOT_ON_TIMER    , // PB 2 ** 51 ** SPI_MOSI     
    NOT_ON_TIMER    , // PB 1 ** 52 ** SPI_SCK      
    NOT_ON_TIMER    , // PB 0 ** 53 ** SPI_SS       
    NOT_ON_TIMER    , // PF 0 ** 54 ** A0   
    NOT_ON_TIMER    , // PF 1 ** 55 ** A1   
    NOT_ON_TIMER    , // PF 2 ** 56 ** A2   
    NOT_ON_TIMER    , // PF 3 ** 57 ** A3   
    NOT_ON_TIMER    , // PF 4 ** 58 ** A4   
    NOT_ON_TIMER    , // PF 5 ** 59 ** A5   
    NOT_ON_TIMER    , // PF 6 ** 60 ** A6   
    NOT_ON_TIMER    , // PF 7 ** 61 ** A7   
    NOT_ON_TIMER    , // PK 0 ** 62 ** A8   
    NOT_ON_TIMER    , // PK 1 ** 63 ** A9   
    NOT_ON_TIMER    , // PK 2 ** 64 ** A10  
    NOT_ON_TIMER    , // PK 3 ** 65 ** A11  
    NOT_ON_TIMER    , // PK 4 ** 66 ** A12  
    NOT_ON_TIMER    , // PK 5 ** 67 ** A13  
    NOT_ON_TIMER    , // PK 6 ** 68 ** A14  
    NOT_ON_TIMER    , // PK 7 ** 69 ** A15  
    // added stuff
    NOT_ON_TIMER        , // PD 4 ** 70 ** D70
    NOT_ON_TIMER        , // PD 5 ** 71 ** D71
    NOT_ON_TIMER        , // PD 6 ** 72 ** D72
    NOT_ON_TIMER        , // PG 3 ** 73 ** D73
    NOT_ON_TIMER        , // PG 4 ** 74 ** D74
    NOT_ON_TIMER        , // PH 2 ** 75 ** D75
    NOT_ON_TIMER        , // PH 7 ** 76 ** D76
    NOT_ON_TIMER        , // PJ 2 ** 77 ** D77   // PCINT 11
    NOT_ON_TIMER        , // PJ 3 ** 78 ** D78   // PCINT 12
    NOT_ON_TIMER        , // PJ 4 ** 79 ** D79   // PCINT 13
    NOT_ON_TIMER        , // PJ 5 ** 80 ** D80   // PCINT 14
    NOT_ON_TIMER        , // PJ 6 ** 81 ** D81   // PCINT 15
    NOT_ON_TIMER        , // PJ 7 ** 82 ** D82
    NOT_ON_TIMER        , // PE 6 ** 83 ** D83
    NOT_ON_TIMER        , // PE 7 ** 84 ** D84
};

我只是为了一个项目才这样做的。您可以为variant、board和pins_arduino.h文件提取我的GITHUB。它基本上做了zmo所说的。也就是说,它适用于IDE1.5.0,其中1.5.5为平台AVR/SAM添加了一个目录

你会想了解和

在我的新项目中,我使用了1.5.5,其中boards.txt支持uno.build.board=AVR_uno标记,这使得编译器的自动识别非常容易


例如,请参见我为一个项目所做的工作。您可以为variant、board和pins_arduino.h文件提取我的GITHUB。它基本上做了zmo所说的。也就是说,它适用于IDE1.5.0,其中1.5.5为平台AVR/SAM添加了一个目录

你会想了解和

在我的新项目中,我使用了1.5.5,其中boards.txt支持uno.build.board=AVR_uno标记,这使得编译器的自动识别非常容易


例如,请参见

谢谢,我在发帖后两小时才上班,但谢谢你的帮助!事实上,如果你解决了所有的引脚,它不再是一个大的,所以你应该给你的董事会一个不同的变种名称!否则,您指出的1.5.5是正确的,但在库的设计中还有其他更重要的修改,但我不想谈这个话题。虽然,我们可以考虑为2560标准的完整的引脚,所以我们可以缓解未来项目的发展。谢谢,我实际上让它工作2小时后,我的帖子,但谢谢帮助!事实上,如果你解决了所有的引脚,它不再是一个大的,所以你应该给你的董事会一个不同的变种名称!否则,您指出的1.5.5是正确的,但在库的设计中还有其他更重要的修改,但我不想谈这个话题。但是,我们可以考虑使用标准的完整引脚2560,这样我们就可以简化未来项目的开发。事实上,在我提问两个小时后,我设法让它起作用,但这正是我所做的。谢谢Thanbks!我真的成功了 我问了两个小时,但那正是我所做的。谢谢