一、问题描述:
这个问题来源于使用YL-KL26Z学习SPI接口的问题。
YL-KL26Z的SPI接W25Q32的电路如下:
可以看出CS引脚使用的时PTB0,而非SPI模块的PTC4。
那如何使用KSDK库编程,使用I/O口模拟CS引脚呢?
二、解决办法:
1、在使用KSDK库中的SPI功能的driver库函数时,没有发现配置SPI的CS引脚使用模拟I/O引脚来代替。
经分析,发现driver库使用的时SPI模块的CS0,自动片选模式:
2、这就是说,KSDK的driver库本身不支持CS的I/O模拟来实现,需要自己从新写SPI驱动函数。
3、本人比较懒,还是在KSDK库的基础上修改一下吧。站在巨人的肩上
4、首先,在pin_mux.c中去掉cs的引脚配置:
5、在gpio_pins.h中添加CS的说明:
6、在gpio_pins.c中添加CS的结构体变量:
7、在board.h中宏定义CS的操作:
|