Как использовать обозначения MEGA pin number вместо номеров RAMPS pin в marlin

Я разрабатываю свой собственный щит для MEGA2650, который буду использовать для управления своим принтером.

При определении контактов в прошивке marlin номера контактов-это номера контактов RAMPS shield, а не самого Arduino MEGA.

Как определить контакты, чтобы я мог написать #define HEATER1PIN 5, и это сделает heater1pin на выводе Arduino MEGA 5, а НЕ на выводе RAMPS 5

, 👍3


1 ответ


Лучший ответ:

3

Сопоставление контактов, которое использует Marlin, определено в файле fastio_1280.h:

/**
 * Pin mapping for the 1280 and 2560
 *
 *   1280     22 23 24 25 26 27 28 29 53 52 51 50 10 11 12 13 37 36 35 34 33 32 31 30 21 20 19 18 81 82 83 38 00 01 78 05 02 03 79 80 54 55 56 57 58 59 60 61 41 40 39 71 70 04 17 16 84 06 07 08 09 85 15 14 72 73 75 76 77 74 62 63 64 65 66 67 68 69 49 48 47 46 45 44 43 42
 *   Port     A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7 G0 G1 G2 G3 G4 G5 H0 H1 H2 H3 H4 H5 H6 H7 J0 J1 J2 J3 J4 J5 J6 J7 K0 K1 K2 K3 K4 K5 K6 K7 L0 L1 L2 L3 L4 L5 L6 L7
 *   Marlin   00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
*/

Сбивающая с толку строка с надписью "1280" относится к выходам, используемым Марлином. Строка с надписью "порт" дает соответствующую комбинацию порт/ПИН, поскольку она применяется к самому чипу ATmega2560. Чтобы перевести между номерами портов, приведенными выше, и номерами контактов Arduino Mega, вы можете использовать следующую схему распиновки:

Arduino Mega Pinout Лицензия CC-BY-SA, www.bq.com

Например, согласно отображению контактов в fastio_1280.h, вывод Marlin 34 является "портом" C3. Это соответствует PC3 на диаграмме распиновки, которая является Arduino Mega A11. И наоборот, если мы хотим выяснить, что такое ШИМ-вывод 9 в Marlin, мы можем посмотреть на диаграмму, чтобы выяснить, что она соответствует PH6, то есть контакту Marlin 09.

Если вы хотите изменить эту нумерацию, то, к сожалению, вам придется внести довольно много изменений в fastio_1280.h. Например, "причина" pin 5 соответствует контакту, который он делает, - это следующий набор определений:

#define DIO5_PIN    PINE3
#define DIO5_RPORT  PINE
#define DIO5_WPORT  PORTE
#define DIO5_DDR    DDRE
#define DIO5_PWM    &OCR3AL

Если вы хотите указать вывод 5 на другой вывод, вам нужно будет изменить все эти строки, чтобы указать правильные регистры и номера выводов.


,