CS_DDR、CS_PORT、RESET_DDR 和 RESET_PORT Mega2560

CS_DDR, CS_PORT, RESET_DDR, and RESET_PORT Mega2560

我正在尝试将 c 库用于以太网屏蔽,但它是为 ATMega644p 编程的,但我使用的是 ATMega2560。我在弄清楚我需要使用哪些端口时遇到了一些问题。

图书馆可以在这里看到:http://www.seanet.com/~karllunt/w5100_library.html

我遇到问题的具体地方是:

#define CS_DDR        DDRD                /* target-specific DDR for chip-select */
#define CS_PORT     PORTD                /* target-specific port used as chip-select */
#define CS_BIT        2                    /* target-specific port line used as chip-select */
#define RESET_DDR   DDRD                /* target-specific DDR for reset */
#define RESET_PORT    PORTD                /* target-specific port used for reset */
#define RESET_BIT    3                    /* target-specific port line used as reset */

我尝试了下一页 https://github.com/Seeed-Studio/ArduinoPhone/blob/master/Libraries/TFT/TFT.h 中的端口,但仍然无法正常工作。

似乎CS在引脚D2上,RESET在引脚D3上。

DDRx寄存器用于设置管脚的方向(1表示该管脚是输出,0表示它是输入)。

PORTx 是引脚在输出模式下应具有的值。

我认为您可以这样离开库,只需将 CS 引脚连接到 D2(这是 Arduino mega 2560 上的数字引脚 19),然后将 RESET 连接到 D3(Arduino Mega 2560 上的数字引脚 18)。毕竟,arduino IDE 使用 avr-gcc 进行编译,所以使用 avr-gcc 的代码也适用于 arduino..

Here 您可以找到 Atmega2560 的引脚映射。