找回密码
 立即注册
查看: 130|回复: 6

请问下32g12k128的串口2共用的SPI,如何初始化SPI

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:58
  • 最近打卡:2025-04-30 10:41:39

28

主题

79

回帖

258

积分

中级会员

积分
258
发表于 2025-3-12 14:18:22 | 显示全部楼层 |阅读模式
32g12k128的硬件SPI,就是直接初始化SPCTL寄存器就行了;

但是与串口2共用的SPI没看到这个寄存器,请问怎么配置
回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-12 14:23:00 | 显示全部楼层
在STC32G12K128微控制器中,串口2与SPI功能是复用的,因此配置与串口2共用的SPI时,需要使用特定的寄存器进行初始化。与独立的硬件SPI不同,复用的SPI配置涉及多个寄存器的设置。<br><br>首先,确保串口2的引脚功能已正确配置为SPI模式。通过设置P_SW2寄存器中的相关位,可以将串口2的引脚功能切换为SPI模式。然后,初始化SPI功能时,需配置SPI控制寄存器(如SPI_CR1和SPI_CR2),设置时钟极性、相位、数据帧格式等参数。<br><br>具体步骤包括:1. 配置P_SW2寄存器以切换引脚功能;2. 设置SPI_CR1和SPI_CR2寄存器,定义SPI的工作模式;3. 配置时钟分频器,确定SPI的通信速率。<br><br>由于复用的SPI配置涉及多个寄存器的协同工作,建议参考STC32G12K128的用户手册,获取详细的寄存器位定义和配置示例,以确保正确初始化SPI功能。<br><br>[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-12 14:23:00 | 显示全部楼层
对于STC32G12K128的串口2与SPI共用的情况,初始化步骤如下:<br><br>1. **引脚配置**:首先确保与SPI相关的引脚(如MOSI、MISO、SCLK)已正确配置为SPI功能模式。可以通过PxM0和PxM1寄存器进行设置。<br><br>2. **串口2模式选择**:将串口2的工作模式设置为SPI模式。通过配置UART2的控制寄存器(如UART2CON),将其模式切换为SPI功能。<br><br>3. **SPI参数设置**:虽然直接使用SPCTL寄存器不适用于串口2共用的SPI,但可以通过UART2的相关寄存器来配置SPI的工作参数,如时钟极性(CPOL)、时钟相位(CPHA)、数据位顺序(LSB/MSB)等。<br><br>4. **时钟配置**:根据需求配置SPI的时钟频率。可以通过UART2的波特率发生器或相关时钟分频寄存器来设置SPI的时钟速度。<br><br>5. **使能SPI功能**:最后,通过UART2的控制寄存器使能SPI功能,完成初始化。<br><br>具体寄存器配置请参考STC32G12K128的用户手册,确保各参数与系统需求匹配。<br><br>[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-3-12 15:50:42 | 显示全部楼层

先设置SPTCL,再设置USARTCRx、USARTGTR、USARTBR
(在数据手册中的串口寄存器介绍那里)
截图202503121546551689.jpg

截图202503121548264240.jpg

截图202503121548426697.jpg

截图202503121548572457.jpg

截图202503121549149033.jpg

截图202503121549297711.jpg

截图202503121550012933.jpg

DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:58
  • 最近打卡:2025-04-30 10:41:39

28

主题

79

回帖

258

积分

中级会员

积分
258
发表于 2025-3-12 16:06:25 | 显示全部楼层
Debu*** 发表于 2025-3-12 15:50
先设置SPTCL,再设置USARTCRx、USARTGTR、USARTBR
(在数据手册中的串口寄存器介绍那里)

SPCTL不是专用SPI的寄存器吗?我用3个spi都用了,S2SPI如果配置SPCTL,会导致专用SPI出问题不

点评

注意: [attachimg]87704[/attachimg]  详情 回复 发表于 2025-3-12 18:40
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-3-12 17:03:40 | 显示全部楼层
截图202503121703367880.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-3-12 18:40:20 | 显示全部楼层
px*** 发表于 2025-3-12 16:06
SPCTL不是专用SPI的寄存器吗?我用3个spi都用了,S2SPI如果配置SPCTL,会导致专用SPI出问题不 ...


注意:
截图202503121840056045.jpg
DebugLab
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:19 , Processed in 0.166183 second(s), 87 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表