找回密码
 立即注册
查看: 117|回复: 3

STC32G12k128 库函数SPI分频速率疑问

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2026-07-21 09:27:56

5

主题

29

回帖

59

积分

注册会员

积分
59
发表于 2026-5-31 23:21:57 | 显示全部楼层 |阅读模式
我有一个疑问,这个是spi的c文件,我的晶振是35m,4分频应该是8.75m,但是我实际测试是4m多,刚好是8分频左右。所以我想一步一步往下翻,看是不是有库内部设计导致频率受影响。
现在CPU以35MHz运行的时钟源,和供给外设的SYSCLK可能不是同一个值。有可能你设置了IRC=35MHz,但CLKDIV被置为2,导致SYSCLK = 35MHz / 2 = 17.5MHz。SPI拿到的源时钟是17.5MHz,再经过你设置的4分频,自然就得到4.375MHz
然后我查了整个库CLKDIV没有被赋值和调用。我的35M是在stc-isp下载软件内调整的。

我想知道默认CLKDIV是不是为2
芯片是stc32g12k128



截图202605312321513072.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2026-07-21 09:27:56

5

主题

29

回帖

59

积分

注册会员

积分
59
发表于 2026-6-1 10:03:31 | 显示全部楼层
解决方法,我在别的论坛上找到的。
#include"STC32G.h"
在初始化SPI之前
HSCLKDIV = 0;  // 高速时钟不分频
就能实现准确的分频
和我前面说的CLKDIV无关
这里我使用stc32g12k128,35M,4分频,设置HSCLKDIV = 0;  测试结果无误
(这里尽可能的回答更详细,问起AI就不容易胡说八道)
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:740
  • 最近打卡:2026-07-22 07:46:19

3

主题

57

回帖

2265

积分

金牌会员

积分
2265
发表于 2026-6-3 17:53:05 | 显示全部楼层
@*** 发表于 2026-6-1 10:03
解决方法,我在别的论坛上找到的。
#include"STC32G.h"
在初始化SPI之前

不要太相信AI了,我问过比较简单的问题也会搞错,AI的答案只能作为参考。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2026-07-21 09:27:56

5

主题

29

回帖

59

积分

注册会员

积分
59
发表于 2026-6-4 10:06:39 | 显示全部楼层
tianx*** 发表于 2026-6-3 17:53
不要太相信AI了,我问过比较简单的问题也会搞错,AI的答案只能作为参考。 ...

AI做不了stc的,但是ai会扒stc论坛,你现在问deep,spi速率不一致,它会帮你添加我这个代码
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-22 10:31 , Processed in 0.083174 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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