【MCAL】CCFC3008PC-EB配置之SPI

一、反序列化串行外设接口(DSPI)

​​​​​​​​​​​​​​​​​​​​

二、EB配置

2.1、SpiGeneral

2.2、SpiDriver

共有7个DSPI模块,我们只使用到了DSPI1和DSPI2。

由下图可知一个Job 代表了一次完整的SPI通信,一个Job可以由一个或者多个Channel组成;Channel用来装载SPI的发送与接收数据一个Sequence可以由一个或者多个Job组成,可以将一个操作序列抽象成一个Sequence。SPI传输的最小单元是由连续的Job组成的Sequence,依据Job的优先级将Job 依次发送出去。

2.2.1、SpiChannel

配置两个spi通道

2.2.2、SpiJob

2.2.3、SpiSequence

2.2.4、SpiHardWare

2.2.5、SpiExternalDevice

2.3、PortContainer

2.3.1、PortPin

三、工程测试

3.1、代码添加

添加预驱模块的主函数

3.2、测试结果

粉色为片选信号,蓝色为时钟信号

蓝色为MOSI,粉色为MISO

### EB MCAL SPI端口配置指南 #### 配置SPI模块的基本参数设置 在EB MCAL框架下,为了初始化和配置SPI外设,通常需要定义一系列基本参数。这些参数包括但不限于波特率、数据位长度以及工作模式等[^1]。 ```c // 定义SPI配置结构体 EbmSpi_ConfigType SpiConfig = { .baudRate = 1000000, // 设置波特率为1MHz .dataLength = EbmSpi_Data8Bit,// 数据帧长度为8比特 .mode = EbmSpi_ModeMaster // 工作于主模式 }; ``` #### 初始化函数调用方式 完成上述配置之后,通过调用特定的API来启动并使能该SPI接口。此过程涉及到向MCU发送指令以激活相应的硬件资源,并确保其按照预设条件运行[^2]。 ```c // 调用初始化函数 void InitSpi(void){ EbmSpi_Init(&SpiConfig); // 使用之前设定好的配置项进行初始化操作 } ``` #### 实现全双工通信的数据传输方法 当SPI处于正常运作状态时,可以利用专门设计的功能实现高效可靠的数据交换流程。这其中包括读写缓冲区管理机制的设计与优化措施的应用[^3]。 ```c uint8_t SendData(uint8_t dataToSend){ uint8_t receivedData; while(!EbmSpi_IsTxReady()); // 等待直到发送寄存器为空闲 EbmSpi_SendByte(dataToSend); // 发送单字节数据至目标设备 while(!EbmSpi_IsRxReady()); // 等待接收完毕标志位置位 receivedData = EbmSpi_ReceiveByte(); // 获取来自对方节点的信息 return receivedData; // 返回接收到的内容给上层应用处理 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值