51单片机如何处理64位的数据?
控制一个电路,需要用到64位的数据除以一个32位的数据,该如何处理。C代码写好,其他的交给编译器。 多字节除法
八字节凑一个64字节,除以四个字节凑一个32字节 想想小学数学. 列个竖式不就行了 用移位实现除法 用汇编写一个,给C调用,移位减,64位除以32位,做32次移位减即可。 除了运算,还要把这个值通过液晶屏显示出来,这个是用来控制一个40G的信号发生器,输出频率精确到HZ位,例如,输出频率为40,000,000,000Hz,根据这个值,自动计算出送给PLL电路的分频比,程序把计算出来的分频比送给PLL电路,使PLL电路自动把VCO的频率锁定在设置的频点上。 linxi6414 发表于 2023-6-18 20:48
除了运算,还要把这个值通过液晶屏显示出来,这个是用来控制一个40G的信号发生器,输出频率精确到HZ位,例 ...
先声明变量,直接计算一下看看编译器和MCU行不行,比如:long long a;或者long int a;注意+-*/数字要加UL,比如:a=a*1000UL;先试试,不行再按楼上的想办法搞算法。 一叶倾城wwq 发表于 2023-6-19 10:25
先声明变量,直接计算一下看看编译器和MCU行不行,比如:long long a;或者long int a;注意+-*/数字要加UL ...
定义long long 编译无法通过,定义long int 可以编译通过,但是输出结果是错误的。
coody 发表于 2023-6-18 20:28
用汇编写一个,给C调用,移位减,64位除以32位,做32次移位减即可。
请教一下具体怎么写? linxi6414 发表于 2023-6-18 20:48
除了运算,还要把这个值通过液晶屏显示出来,这个是用来控制一个40G的信号发生器,输出频率精确到HZ位,例 ...
什么晶振也达不到这个精度,能达到1ppm都很难得了,这也才百万分之一,用单精度浮点数运算足够了 楼主在做毕业设计么,如果是做产品还是算了,要知道淘宝上大把卖这个开发板的,一年到头没卖几个 hahajing27 发表于 2023-6-19 21:48
楼主在做毕业设计么,如果是做产品还是算了,要知道淘宝上大把卖这个开发板的,一年到头没卖几个 ...
给朋友做一个维修小工具,个人使用,没有打算卖的东西。 英雄本色2022 发表于 2023-6-19 21:43
什么晶振也达不到这个精度,能达到1ppm都很难得了,这也才百万分之一,用单精度浮点数运算足够了 ...
但是你输入进去的值是要这么输入的,实际输出的值,会根据实际情况而改变,实际的电路输出肯定是达不到这个精度的,这点是肯定的。 用浮点吧,可能达不到LZ要求 hahajing27 发表于 2023-6-19 21:48
楼主在做毕业设计么,如果是做产品还是算了,要知道淘宝上大把卖这个开发板的,一年到头没卖几个 ...
我儿子都已经初中毕业了。{:lol:} 你连写程序都这么吃力,更不用说作频率处理了,adi有现成的,就是指标很烂 hahajing27 发表于 2023-6-20 17:26
你连写程序都这么吃力,更不用说作频率处理了,adi有现成的,就是指标很烂
这个是给朋友做的小维修工具,频率处理部分是现成的,只需要往芯片里送串行指令就行了,也就是分频系数。 你做吧,以后就明白什么回事了
页:
[1]
2