https://gitee.com/riscv-mcu/hbird-sdk/blob/master/SoC/hbirdv2/Common/Source/Drivers/hbirdv2_spi.c。其内容是操作E203手册中所提及的寄存器 。如下:
但是这里SPI寄存器的定义和我近日接触到的其他SPI master大相迥异。比如芯来姐的RVStar教程,SPI篇 中所提到的SPI功能有这么老些:
对比下来的话,E203的SPI寄存器和GD32VF103的完全不一样,而且不太明白SPI一个串行总线为啥有command、address之类的说法(第一张图标红的寄存器)。并且GD32VF103在github上能看到一个更为完整的驱动支持。
所以我的问题就是,
1、E203中SPI寄存器定义和常见的SPI控制器为何有如此大的差异?E203手册中并未详细说明这些寄存器的意义,请问我应该从哪获取这些信息?
2、E203能否基于开头提到的 hbirdv2_spi.c函数来做SPI通信功能的开发?无论能还是不能,在寄存器定义有差异的情况下,应该遵循一个怎样的初始化流程和数据传输流程?
(再次希望能得到胡灿老师的垂青,谢谢您!!