2015-11-04 26 views
1

我想使用以太网盾的c库,但它是为ATMega644p编程的,但我使用ATMega2560。我遇到一些问题,找出我需要使用哪些端口。CS_DDR,CS_PORT,RESET_DDR和RESET_PORT Mega2560

库可以在这里看到: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的端口,但它仍然无法正常工作。

回答

0

看来,CS是在D2引脚上,而RESET在D3引脚上。

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

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

我认为你可以以这种方式离开库,并简单地将CS引脚连接到D2(Arduino mega 2560上的数字引脚19)和RESET到D3(Arduino Mega 2560上的数字引脚18)。毕竟,arduino IDE使用avr-gcc进行编译,所以使用avr-gcc的代码也适用于arduino。

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