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 的引脚映射。
我正在尝试将 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 的引脚映射。