之前就知道有这个功能,因为看到了有这个库。当时没有看芯片手册,感觉这个SPI的实现也有可能是直接拿GPIO来模拟的,毕竟AVR单片机在我之前的人之中就是简单的小芯片。
后来看了下芯片手册,首先便是确认了这个SPI功能的存在。
从手册看,芯片有2路SPI。值得注意的一个参数是双倍速度,主模式可以达到8MHZ(一半的时钟速度,最大16M)。不知道这个理解是否正确,因为其他时候看到的SPI的介绍应该是指能够达到系统时钟的1/4速度。
接下来,寻找Arduino的针脚映射图。
从中可以看出,对应的几个针脚如下:
时钟信号:数字13
MISO: 数字12
MOSI:数字11
片选:数字10
至于芯片手册中提到的量一个SPI模块,这个针脚映射图上倒是没有看到。可能是为了兼容另一个低端一点的芯片168而考虑的设计?
现在已经明确了芯片资源,接下来可以尝试做一下具体的驱动实现或者是库的使用了。