找回密码
 立即注册
楼主: 乘风飞扬

CAN-FD,2组, 有 DMA支持;STC32G144K246 的 2组 独立 CAN-FD 功能测试通过

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2026-02-18 00:06:43

0

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2026-2-12 13:28:19 | 显示全部楼层
我执行测试程序的时候,中断函数没执行?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:671
  • 最近打卡:2026-04-30 08:59:31
已绑定手机

52

主题

2608

回帖

9093

积分

论坛元老

积分
9093
发表于 2026-2-12 17:22:10 | 显示全部楼层
zjge*** 发表于 2026-2-12 13:28
我执行测试程序的时候,中断函数没执行?

你是怎么测试的?
建议先用例子测试,最多根据自身需要修改引脚通道,跟对应的IO口模式配置。
其它先不改,然后烧录到芯片里测试。CAN引脚外接好收发器,总线上需要至少2个节点相互通讯。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2026-02-18 00:06:43

0

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2026-2-12 20:19:52 | 显示全部楼层
乘风*** 发表于 2026-2-12 17:22
你是怎么测试的?
建议先用例子测试,最多根据自身需要修改引脚通道,跟对应的IO口模式配置。
其它先不改 ...

好,谢谢
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2026-02-18 00:06:43

0

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2026-2-16 00:34:07 | 显示全部楼层
乘风*** 发表于 2026-2-12 17:22
你是怎么测试的?
建议先用例子测试,最多根据自身需要修改引脚通道,跟对应的IO口模式配置。
其它先不改 ...

折磨了好几天,终于知道原因了,程序稍微大一点就不行了,
有时候好,有时候不好,写每个代码都小心翼翼的,搞得不敢写,

后来发现是超频所致。

去掉HPLL_config();
就一切稳定了。

点评

使用 CAN-FD时,CPU只能以 90MHz 附近或以下的频率工作, CPU才能访问正确 CAN-FD 的寄存器, 其他外设工作时,CPU可以工作在 100MHz ~ 120MHz ===内部正在研究,如何让慢速的 CAN-FD 和 高速 CPU 高频无关  详情 回复 发表于 2026-2-16 09:01
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:393
  • 最近打卡:2026-04-30 08:56:47

849

主题

1万

回帖

2万

积分

管理员

积分
23131
发表于 2026-2-16 09:01:31 | 显示全部楼层
zjge*** 发表于 2026-2-16 00:34
折磨了好几天,终于知道原因了,程序稍微大一点就不行了,
有时候好,有时候不好,写每个代码都小心翼翼的 ...


使用 CAN-FD时,CPU只能以 90MHz 附近或以下的频率工作,
CPU才能访问正确 CAN-FD 的寄存器,
其他外设工作时,CPU可以工作在 100MHz ~ 120MHz
===内部正在研究,
        如何让 高速CPU 正确访问慢速的 CAN-FD 寄存器

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2026-02-18 00:06:43

0

主题

5

回帖

24

积分

新手上路

积分
24
发表于 2026-2-16 12:11:11 | 显示全部楼层
内部RTC电路用两个引脚独立供电就好了,这样在单片机断电的时候,RTC可以继续计时。因为单片机控制的设备总归有停机的时候,但是RTC不能停。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:428
  • 最近打卡:2026-04-30 11:07:34
已绑定手机

6

主题

364

回帖

1879

积分

金牌会员

积分
1879
发表于 2026-3-13 09:27:09 | 显示全部楼层
这主频可以了
学习
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2026-03-19 14:03:04

3

主题

30

回帖

155

积分

注册会员

积分
155
发表于 2026-3-19 14:13:39 | 显示全部楼层
乘风*** 发表于 2025-10-16 15:40
CAN-FD的DMA支持在缓冲区里存放多个不同ID,不同长度的CAN数据,并可以设置DMA传输的间隔时间。 ...

你好,有单独的CAN2.0的程序吗?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2026-04-30 02:02:25

16

主题

65

回帖

1023

积分

金牌会员

积分
1023
发表于 2026-4-14 14:44:33 | 显示全部楼层
pyx*** 发表于 2026-3-19 14:13
你好,有单独的CAN2.0的程序吗?

如果是使用的STC32G144K246 ,
那么CAN FD是兼容了CAN2.0的,
初始化的时候,仲裁域的波特率就是CAN2.0的通讯波特率,
然后通过stc_can_tx_t结构体(该结构体是配置CAN帧格式参数的),
修改.TxCtrl.tx_ctrl.FDF=0,就配置了发送为CAN2.0帧 。   
你可以先看一下1楼提供的两个Demo程序,试着跑一下,应该就明白了。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-5-1 10:32 , Processed in 0.133941 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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