使用SPI_Controller实现之前的实验
spi_ i2c_ adc文件夹下,创建s3c2440_ spi.c和s3c2440_ spi.h文件(替代之前的gpio_ spi.c和gpio_spi.h),并添加到si工程中。
复制gpio_ spi.c文件中的代码到s3c2440_spi.c,在此基础上进行修改。
修改代码
3.1 初始化GPIO;
3.2 在SPIInit函数中增加对SPI控制器的初始化;
a. 初始化前,在s3c24xx.h中添加SPI寄存器的宏
b. SPI控制器的初始化(设置波特率,设置控制器)
—设置波特率依据
—设置spi控制器依据
—SPI控制器初始化函数
3.3 写发送数据函数和接收数据函数;
a. 删除之前函数:SPI_Set_CLK、SPI_Set_DO、SPI_Get_DI b. 发送数据函数SPI_SendByte c. 接收数据函数SPI_RecvByte
—发送、接收数据函数依据
—函数
写头文件s3c2440_ spi.h(和gpio_ spi.h完全一样),并将之前文件(main.c、oled.c、spi_flash.c)中包含gpio_ spi.h替换成s3c2440_spi.h
修改Makefile,将gpio_ spi.o替换为s3c2440_spi.o后,重新编译
—修改Makefile
—编译成功
烧写新的bin文件,OLED屏幕打印与之前实验相同(如图),表明成功使用SPI控制器。
1/2/2018 12:51:36 PM