CS_DDR,CS_PORT,RESET_DDR和RESET_PORT Mega2560

时间:2015-11-04 14:21:03

标签: arduino avr ethernet low-level atmega

我正在尝试使用c libary作为以太网屏蔽,但它是为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中的端口,但它仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

似乎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的引脚映射。