DSP28335 SPI 收发配置
时间: 2023-10-24 09:30:47 浏览: 298
DSP28335的SPI收发配置可以通过以下代码实现:
```c
void SPI_Init() {
SpiaRegs.SPICCR.all = 0x0007; // Reset off, rising edge, 8-bit char bits
SpiaRegs.SPICTL.all = 0x000e; // Enable master mode, delayed phase, enable talk, SPI int disabled
SpiaRegs.SPIBRR = 0x0063; // 波特率设置为375000
SpiaRegs.SPISTS.all = 0x0000; // 清标志
SpiaRegs.SPICCR.all = 0x0087; // Relinquish SPI from Reset
SpiaRegs.SPIPRI.bit.FREE = 0x0001; // Transmission not affected by emulator
SpiaRegs.SPICCR.bit.SPISWRESET = 1; // SPI软复位
}
```
这段代码配置了DSP28335的McBsp为SPI接口,并通过DMA实现数据的收发操作。具体配置了SPI控制器的相关寄存器,包括控制寄存器(`SPICCR`)、控制寄存器(`SPICTL`)、波特率分频寄存器(`SPIBRR`)和状态寄存器(`SPISTS`)。其中,控制寄存器和状态寄存器的设置主要是根据需求进行配置。SPI的波特率设置为375000。
需要注意的是,虽然SPI配置为8位收发,但是DSP的收发数据为16位,且在发送数据时高位有效,在接收数据时低位有效。因此,在使用SPI进行数据收发时,需要根据芯片的要求进行相应的位操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [DSP28335的McBsp配置为SPI接口的DMA的收发配置程序.docx](https://download.csdn.net/download/u010457177/12846223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [DSP28335中spi的配置------mcbsp配置&自带的spi配置](https://blog.csdn.net/kunkliu/article/details/114136552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文