CS_DDR,CS_PORT,RESET_DDR和RESET_PORT Mega2560
问题描述:
我想使用以太网盾的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的端口,但它仍然无法正常工作。
答
看来,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的引脚映射。