Atmega328p中的SPI COMM

问题描述 投票:0回答:1

[我正在使用Arduino Uno开发板在Atmega328p上工作,我的任务是使用寄存器级的SPI通信,谁能解释DD_MOSI的含义是左移“ 1 <

c atmega atmega32
1个回答
0
投票

我假设您正在参考ATmega328p数据表(http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf)第172页的代码示例。在该示例中,它们使用DD_MOSI作为与MOSI信号关联的引脚的控制位的位位置的代表,该引脚在所讨论的MCU上是PortB [3]。因此,当他们有一行时:

DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK);

您可以翻译它以填写相关的端口和位移:

DDRB = (1<<DDB3)|(1<<DDB5); // Since SPI in on Port B, MOSI is the third pin and SCK is the 5th pin, see page 91-92
© www.soinside.com 2019 - 2024. All rights reserved.