问题标签 [fmodf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - fmodf() 是否会导致 stm32 出现硬故障?
我正在尝试用 2 个正弦波创建调制波形。为此,我需要模(fmodf)来知道具有特定频率(lo_frequency)的正弦在那个时间(t)的幅度。但是当执行以下行时,我遇到了一个硬故障:
你知道为什么这给了我一个硬故障吗?
编辑1:
我用 my_fmodf 交换了 fmodf:
但是仍然发生硬故障,当我调试它时,它甚至没有跳转到这个函数(my_fmodf)。
这是发生此错误的整个函数:
编辑2:
我修复了警告:函数以“chux - Reinstate Monica”建议的方式返回局部变量 [-Wreturn-local-addr] 的地址。
但现在我在这条线上遇到了硬故障:
编辑 3:
因为之前的代码包含一个非常大的缓冲区阵列,不适合 STM32F303K8 的 16KB SRAM,我需要对其进行更改。
现在我使用一个“乒乓”缓冲区,其中我使用 DMA 的回调进行“前半传输”和“完全传输”:
但是创建的正弦频率太低了。我的上限在 20kHz 左右,但我需要 40kHz。我已经将时钟增加了 8 倍,以使时钟达到最大值: . 我仍然可以减少计数器周期(目前是 50),但是当我这样做时,中断回调似乎需要比下一个周期更长的时间。至少看起来如此,因为当我这样做时输出变得非常失真。
我还尝试通过只取每 8 个正弦值来降低精度,但我不能再这样做了,因为这样输出看起来不再像正弦波了。
有什么想法可以优化回调以减少时间吗?还有其他想法吗?
c - 我可以将 NULL 传递给 modf/modff 吗?
modf()
函数族都带有一个指针参数:
用于返回其输入的整数部分arg
(小数部分是实际返回值)。
如果我只需要小数部分,我可以通过传递“跳过”积分部分的计算NULL
吗?
我喜欢的 cppreference 页面都没有,也没有说明传递forman modff
时会发生什么,而其他一些标准库函数将 NULL 作为“忽略此参数”的指示。NULL
iptr
c++ - C++11 标准在哪里声明了 std::fmodf?
根据cppref page,在 C++11 中将 std::fmodf 添加到 cmath 。这怎么可能,因为这不意味着 cmath 会破坏与 C++11 之前的 math.h 的兼容性吗?我找不到任何说 std::fmodf 是在 C++11 中添加的引用,并且想知道这是在哪里说明的。
谢谢
c - 这是在 C 中执行此操作的正确方法吗?
我应该更改书面代码中的某些内容吗?编译器说一切都是正确的——没有错误或警告。
- 您正在建造一个新家,并且您已经准确计算了地基所需的水泥量。
- 理想情况下,您想购买确切数量的水泥,但商店只出售 120 磅袋装的水泥。
- 这些袋子每个售价 45 美元。
请编写一个 C 程序,计算您为建造地基而必须购买的水泥成本。
- 您的程序应首先读取一个十进制数字,该数字表示新家地基所需的水泥量(以磅为单位)。
- 然后,您的程序应该显示您必须购买的水泥袋的总成本,以便有足够的水泥来建造您的地基。
- 为了使您的程序更简单,您可以保证所需的水泥量永远不会是 120 的倍数。
到目前为止我的代码: