通过SPI总线TMC262的读写
头文件如下:
#ifndef __SPI_TMC26x_H
#define __SPI_TMC26x_H
void InitSPI(void);
UCHAR ReadWriteSPI(UCHAR DeviceNumber, UCHAR Data, UCHAR LastTransfer);
#endif
里面初始化SPI总线以及读写SPI。
初始化SPI函数如下:
void InitSPI(void)
{
//Clock f黵 SPI einschalten
AT91C_BASE_PMC->PMC_PCER=1 <
先看定义:
基址定义:
#defineAT91C_BASE_PMC((AT91PS_PMC) 0xFFFFFC00) // (PMC) Base Address
_AT91S_PMC为一个结构体,定义了如下一系列的寄存器
其中类型为:
typedef volatile unsigned int AT91_REG;// Hardware register definition
再看赋值:#define AT91C_ID_SPI0 ((unsigned int) 4) // Serial Peripheral Interface 0
再看 AT91C_BASE_PMC->PMC_PCER=1 <
可以知道,此句的意思就是以AT91C_BASE_PMC为基址有一系列的空间,放置东东类型为一个结构体,里面的成员有{……PMC_PCER,……}。整条语句所干的