找回密码
 立即注册

关于硬件乘除法的问题。

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-09-13 09:56:50
已绑定手机

82

主题

3111

回帖

6879

积分

荣誉版主

无情的代码机器

积分
6879
发表于 2025-9-3 15:52:47 | 显示全部楼层
水水水*** 发表于 2025-9-3 14:44
找到问题点了。
1.MDU16操作必须是无符号整数。
2.必须是16位乘法。

当然优先使用32位

做了个简单测试参考:

        //1us @8bit@32.768
        half_cmd = ((uint16_t)a* (uint16_t)b) >> 15;

        //8.25us @8bit@32.768
        half_cmd = ((uint32_t)SWING_HW * (uint32_t)M_q15) >> 15;




        //70ns @32bit@32.768
        half_cmd = ((uint16_t)SWING_HW * (uint16_t)M_q15) >> 15;

        //70ns @32bit@32.768
        half_cmd = ((uint32_t)SWING_HW * (uint32_t)M_q15) >> 15;



截图202509031552426235.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:182
  • 最近打卡:2025-09-14 09:47:40

778

主题

1万

回帖

1万

积分

管理员

积分
19093
发表于 2025-9-3 16:28:03 | 显示全部楼层
STC8H8K64U 可以直接换成管脚兼容的
STC32G12K128, 32位8051,支持16位的运算指令是完整的
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:182
  • 最近打卡:2025-09-14 09:47:40

778

主题

1万

回帖

1万

积分

管理员

积分
19093
发表于 2025-9-3 16:31:12 | 显示全部楼层
STC8H8K64U 可以直接换成管脚兼容的
STC32G12K128, 32位8051,支持16位的运算指令是完整的
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-09-08 10:24:44

6

主题

37

回帖

134

积分

注册会员

积分
134
发表于 2025-9-3 17:41:16 | 显示全部楼层
erci*** 发表于 2025-9-3 15:52
当然优先使用32位

做了个简单测试参考:

好的。非常感谢!那看来文档介绍AI8051比传统的8051单片机强70倍是指32位。读写数据和指令带宽确实成倍的提升。从您测试来看这个性能是杠杠的。那我换AI8051U做吧。
AI8051U支持的时钟频率最大能到多少?像STC8H8K64U这种单片机文档中,在时钟章节中明确提出IRC时钟不能高于40MHz,因为FLASH不支持,一般建议为35MHz以下。而AI8051U的IRC时钟章节中删除了这段话,这是不是代表AI8051U支持40MHz以上的频率?只要ISP软件支持的频率,例如44.2368MHz都是支持的,且稳定运行?

点评

这个型号建议跑40M  详情 回复 发表于 2025-9-3 17:45
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-09-08 10:24:44

6

主题

37

回帖

134

积分

注册会员

积分
134
发表于 2025-9-3 17:41:45 | 显示全部楼层
神*** 发表于 2025-9-3 16:31
STC8H8K64U 可以直接换成管脚兼容的
STC32G12K128, 32位8051,支持16位的运算指令是完整的 ...

好。谢谢。我换个AI8051U试试。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-09-13 09:56:50
已绑定手机

82

主题

3111

回帖

6879

积分

荣誉版主

无情的代码机器

积分
6879
发表于 2025-9-3 17:45:54 | 显示全部楼层
水水水*** 发表于 2025-9-3 17:41
好的。非常感谢!那看来文档介绍AI8051比传统的8051单片机强70倍是指32位。读写数据和指令带宽确实成倍的 ...

这个型号建议跑40M
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-09-08 10:24:44

6

主题

37

回帖

134

积分

注册会员

积分
134
发表于 2025-9-4 09:54:39 | 显示全部楼层
erci*** 发表于 2025-9-3 17:45
这个型号建议跑40M

好的。谢谢。那我就跑整数40M吧。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-09-08 10:24:44

6

主题

37

回帖

134

积分

注册会员

积分
134
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-9-3 17:45
这个型号建议跑40M

再次请教下。AI8051U用32bit模式,变量类型和传统的8bit模式一样吗?char是1字节,int是2字节,long是4字节。float是4字节,double是8字节?longlong是8字节?因为STM32这种32位的单片机和8051单片机字节类型是不一样的。最大的区别是int类型。传统的8051单片机int是2字节,而STM32是4字节。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-9-14 11:14 , Processed in 0.171427 second(s), 86 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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