linxi6414 发表于 2023-6-17 15:51

51单片机如何处理64位的数据?

控制一个电路,需要用到64位的数据除以一个32位的数据,该如何处理。

lisn3188 发表于 2023-6-17 17:51

C代码写好,其他的交给编译器。

gxs64 发表于 2023-6-17 20:28

多字节除法

地瓜patch 发表于 2023-6-17 21:20

八字节凑一个64字节,除以四个字节凑一个32字节

icecut 发表于 2023-6-18 15:54

想想小学数学. 列个竖式不就行了

田舍郎 发表于 2023-6-18 16:19

用移位实现除法

coody 发表于 2023-6-18 20:28

用汇编写一个,给C调用,移位减,64位除以32位,做32次移位减即可。

linxi6414 发表于 2023-6-18 20:48

除了运算,还要把这个值通过液晶屏显示出来,这个是用来控制一个40G的信号发生器,输出频率精确到HZ位,例如,输出频率为40,000,000,000Hz,根据这个值,自动计算出送给PLL电路的分频比,程序把计算出来的分频比送给PLL电路,使PLL电路自动把VCO的频率锁定在设置的频点上。

一叶倾城wwq 发表于 2023-6-19 10:25

linxi6414 发表于 2023-6-18 20:48
除了运算,还要把这个值通过液晶屏显示出来,这个是用来控制一个40G的信号发生器,输出频率精确到HZ位,例 ...

先声明变量,直接计算一下看看编译器和MCU行不行,比如:long long a;或者long int a;注意+-*/数字要加UL,比如:a=a*1000UL;先试试,不行再按楼上的想办法搞算法。

linxi6414 发表于 2023-6-19 20:43

一叶倾城wwq 发表于 2023-6-19 10:25
先声明变量,直接计算一下看看编译器和MCU行不行,比如:long long a;或者long int a;注意+-*/数字要加UL ...
定义long long 编译无法通过,定义long int 可以编译通过,但是输出结果是错误的。

linxi6414 发表于 2023-6-19 20:47

coody 发表于 2023-6-18 20:28
用汇编写一个,给C调用,移位减,64位除以32位,做32次移位减即可。

请教一下具体怎么写?

英雄本色2022 发表于 2023-6-19 21:43

linxi6414 发表于 2023-6-18 20:48
除了运算,还要把这个值通过液晶屏显示出来,这个是用来控制一个40G的信号发生器,输出频率精确到HZ位,例 ...

什么晶振也达不到这个精度,能达到1ppm都很难得了,这也才百万分之一,用单精度浮点数运算足够了

hahajing27 发表于 2023-6-19 21:48

楼主在做毕业设计么,如果是做产品还是算了,要知道淘宝上大把卖这个开发板的,一年到头没卖几个

linxi6414 发表于 2023-6-20 09:30

hahajing27 发表于 2023-6-19 21:48
楼主在做毕业设计么,如果是做产品还是算了,要知道淘宝上大把卖这个开发板的,一年到头没卖几个 ...

给朋友做一个维修小工具,个人使用,没有打算卖的东西。

linxi6414 发表于 2023-6-20 09:31

英雄本色2022 发表于 2023-6-19 21:43
什么晶振也达不到这个精度,能达到1ppm都很难得了,这也才百万分之一,用单精度浮点数运算足够了 ...

但是你输入进去的值是要这么输入的,实际输出的值,会根据实际情况而改变,实际的电路输出肯定是达不到这个精度的,这点是肯定的。

ayb_ice 发表于 2023-6-20 13:14

用浮点吧,可能达不到LZ要求

linxi6414 发表于 2023-6-20 16:22

hahajing27 发表于 2023-6-19 21:48
楼主在做毕业设计么,如果是做产品还是算了,要知道淘宝上大把卖这个开发板的,一年到头没卖几个 ...

我儿子都已经初中毕业了。{:lol:}

hahajing27 发表于 2023-6-20 17:26

你连写程序都这么吃力,更不用说作频率处理了,adi有现成的,就是指标很烂

linxi6414 发表于 2023-6-20 19:21

hahajing27 发表于 2023-6-20 17:26
你连写程序都这么吃力,更不用说作频率处理了,adi有现成的,就是指标很烂

这个是给朋友做的小维修工具,频率处理部分是现成的,只需要往芯片里送串行指令就行了,也就是分频系数。

hahajing27 发表于 2023-6-20 21:59

你做吧,以后就明白什么回事了
页: [1] 2
查看完整版本: 51单片机如何处理64位的数据?