打印
[软件资料]

cw32f003的spi参考初始化程序

[复制链接]
346|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LOVEEVER|  楼主 | 2024-11-14 17:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 LOVEEVER 于 2024-11-14 17:23 编辑

芯源cw32f003的spi参考初始化程序

void SPI_FLASH_Init(void)
{
  SPI_InitTypeDef  SPI_InitStructure;
  GPIO_InitTypeDef GPIO_InitStructure;
       
/************************GPIO Configuration***********************/
  RCC_AHBPeriphClk_Enable(FLASH_SPI_SCK_GPIO_CLK | FLASH_SPI_MISO_GPIO_CLK | FLASH_SPI_MOSI_GPIO_CLK | FLASH_SPI_CS_GPIO_CLK, ENABLE);
  RCC_APBPeriphClk_Enable2(RCC_APB2_PERIPH_SPI, ENABLE);

  //SPI SCK MOSI MISO 复用
  FLASH_SPI_AF_SCK;
  FLASH_SPI_AF_MISO;  
  FLASH_SPI_AF_MOSI;     

  //CS
  GPIO_InitStructure.Pins = FLASH_SPI_CS_GPIO_PIN;
  GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_Init(FLASH_SPI_CS_GPIO_PORT, &GPIO_InitStructure);

  //SCK   
  GPIO_InitStructure.Pins = FLASH_SPI_SCK_GPIO_PIN;
  GPIO_Init(FLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure);

  //MOSI
  GPIO_InitStructure.Pins = FLASH_SPI_MOSI_GPIO_PIN;
  GPIO_Init(FLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure);

  //MISO
  GPIO_InitStructure.Pins = FLASH_SPI_MISO_GPIO_PIN;
  GPIO_InitStructure.Mode = GPIO_MODE_INPUT;
  GPIO_Init(FLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure);

  //拉高CS
  FLASH_SPI_CS_HIGH();

  /************************SPI Configuration***********************/
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;    // 双线全双工
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;                         // 主机模式
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;                     // 帧数据长度为8bit
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;                           // 时钟空闲电平为高
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;                          // 第二个边沿采样
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;                             // 片选信号由SSI寄存器控制
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;    // 波特率为PCLK的8分频
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;                    // 最高有效位 MSB 收发在前
  SPI_InitStructure.SPI_Speed = SPI_Speed_Low;                          // 低速SPI
  
  SPI_Init(&SPI_InitStructure);
  SPI_Cmd(ENABLE);
}

使用特权

评论回复
沙发
小小蚂蚁举千斤| | 2024-11-22 09:31 | 只看该作者
SPI参考程序学习

使用特权

评论回复
板凳
中国龙芯CDX| | 2024-11-24 19:25 | 只看该作者
SPI通讯了解一下

使用特权

评论回复
地板
tpgf| | 2024-12-4 08:56 | 只看该作者
SPI采用主从模式架构,通常有一个主器件和一个或多个从器件,需要至少4根线:MISO、MOSI、SCK、CS

使用特权

评论回复
5
晓伍| | 2024-12-7 09:22 | 只看该作者
首先需要配置相关的IO口以及SPI的初始化,包括使能A端口时钟、设置GPIOA3,4,5为推挽输出模式、高速度输出,并初始化这些IO口

使用特权

评论回复
6
八层楼| | 2024-12-7 14:18 | 只看该作者
可以通过读取SPI的状态寄存器来监控通信状态,确保数据传输的正确性

使用特权

评论回复
7
观海| | 2024-12-7 18:29 | 只看该作者
SPI可用于连接外部存储器,如FLASH存储芯片,通过SPI接口进行数据的读写操作

使用特权

评论回复
8
guanjiaer| | 2024-12-7 20:45 | 只看该作者
在工业自动化领域,SPI常用于连接各种传感器,实现高速数据采集和传输

使用特权

评论回复
9
heimaojingzhang| | 2024-12-7 23:03 | 只看该作者
在复杂的嵌入式系统中,不同模块之间可以通过SPI接口进行高效的数据交换

使用特权

评论回复
10
AdaMaYun| | 2024-12-10 08:56 | 只看该作者
芯源的芯片SPI接口还是听普遍的,速率还是很快的

使用特权

评论回复
11
LOVEEVER|  楼主 | 2024-12-12 08:55 | 只看该作者
SPI的应用还是非常广泛的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

297

主题

2027

帖子

4

粉丝