embedded相关内容

将浮点序列化为 32 位整数的便携式方法

我一直在努力寻找一种可移植的方法来序列化 C 和 C++ 中的 32 位浮点变量,以便发送到微控制器和从微控制器发送.我希望格式足够明确,以便序列化/反序列化也可以从其他语言完成,而无需太多努力.相关问题是: double/float类型二进制序列化的可移植性在 C++ 中 用C序列化double和float c++ long to double的可移植转换 我知道在大多数 ..
发布时间:2022-01-25 12:34:17 C/C++开发

我应该更喜欢在 C++ 代码中使用小类型的 int(int8 和 int16)吗?

我在嵌入式 Linux 的 C++/Qt 项目中工作,在该项目中,我们不断“对抗"处理器的限制,特别是在更新用户界面中的图形时.由于这些限制(特别是我们前段时间情况更糟的情况),我总是尽可能地优化代码,并且优化成本最低.我正在做的其中一项优化是始终针对我正在处理的情况使用正确的整数值:qint8、qint16 和 qint32,具体取决于我需要的值有多大. 但前段时间我在某处读到,与其尽可能 ..
发布时间:2022-01-25 12:33:50 C/C++开发

FreeRTOS:osDelay 与 HAL_delay

在使用 STM32CubeMx 创建 FreeRTOS 应用项目时,您可以使用两种方法来引入延迟,即 osDelay 和 HAL_Delay. 它们之间有什么区别,应该首选哪一个? osDelay代码: /*********************** 通用等待函数 *******************************//*** @brief 等待超时(时间延迟)* @pa ..
发布时间:2022-01-25 12:33:42 其他开发

您将如何在嵌入式实时环境中使用 D?

对于所有熟悉 D 编程语言的人,如何在嵌入式中使用它实时环境?我知道它的原始设计并非针对实时嵌入式环境,但这个问题更多的是关于如何实现实时功能. 该语言的哪些结构是必不可少的? 您认为哪些构造会成为问题? 有人在嵌入式系统中成功使用过吗? 任何其他想法或建议都会很棒. 解决方案 D 并不是真正的用于实时应用程序,主要是因为 D 的某些语言特性依赖于它的垃圾收集器,而 ..
发布时间:2022-01-25 12:33:31 其他开发

为 C/FFI 库调用分配对象

我有一个 C 库,它具有 gpio 实现.有特定于目标的 gpio_type,每个 MCU 对 gpio_type 有不同的定义.库中的函数之一: void gpio_init(gpio_type *object, int32_t pin); 我想使用 C 库函数在 Rust 中编写 Gpio 对象的抽象.因此需要类似不透明指针类型的东西(在 C++ 中,我只需创建一个类型为:gpio_typ ..
发布时间:2022-01-25 12:33:20 其他开发

如何使用 putchar 打印浮点值?

我正在开发一个嵌入式应用程序,需要打印浮点值.由于空间和其他限制,我只能使用 putchar() 进行输出. 我正在尝试创建一个将浮点数作为参数并使用 putchar() 打印它的函数.我有一个适用于整数值的类似函数. void putLong(long x){如果(x = 10){放长(x/10);}putchar(x % 10+'0');} 如何为浮点数创建类似的功能? 解决方 ..
发布时间:2022-01-25 12:32:44 其他开发

UART 接收中断在成功接收数小时后停止触发

我正在使用与 xbee 连接的 STM32f4 发现板来接收来自远程温度传感器的温度数据.使用的代码是 CMIS UART 示例代码.我将接收数据包数据,一次 1 个字节.换句话说,只要接收到每个字节,就会调用 UART 接收中断.一旦我得到完整的数据包,我将复制温度数据.我的 UART 回调函数可以正常工作.但是几个小时后,UART接收中断停止工作,UART无法接收任何东西.但是 UART 传输 ..
发布时间:2022-01-25 12:32:30 其他开发

Symbian/嵌入式编程学习的起点

我精通 C++(不是 C),最近购买了一部基于 Symbian 的手机.这让我有理由开始学习如何为这只野兽编程. 我搜索过 Symbian 编程教程,但知识太多,很难选择最适合启动的. 所以我想请教一些关于从哪里开始嵌入式/Symbian 编程学习的提示,这些提示可以让我在这个主题中快速开始;尤其是如果你自己有这方面的知识. 谢谢. 解决方案 我将仅指出我在踏上成为 Sy ..
发布时间:2022-01-25 12:31:55 其他开发

无法使用内置的 BrokerService.stop 调用关闭嵌入式 ActiveMQ 服务

我一直在使用嵌入式 ActiveMQ 服务器配置(配置与说明嵌入式 ActiveMQ 服务器/侦听器概念的示例非常相似).作为应用程序的一部分,我有一个监视目录的监视线程.我不必终止进程来关闭 activeMQ 服务器,而是引入了对“STOP"文件的检查,如果该文件存在,则服务器将关闭.我试图通过调用代理上的停止函数来完成关闭: (broker.stop()) 这似乎关闭了服务.但是, ..
发布时间:2022-01-25 12:31:21 Java开发

什么 dbus 性能问题会阻止它进入嵌入式系统?

根据我的阅读,dbus 性能应该比其他消息传递 ipc 机制慢两倍,因为存在守护程序. 在讨论so问题使用哪种Linux IPC技术有人提到性能问题.除了两倍慢的因素之外,您还看到性能问题吗?您是否看到阻止 dbus 在嵌入式系统中使用的问题? 据我了解,dbus 是否适用于小消息.如果需要传递大量数据,一种解决方法是把数据放到共享内存或者堆里,然后用dbus通知.根据讨论的其他 ip ..
发布时间:2022-01-25 12:30:57 其他开发

是否有 std::function 的独立实现?

我正在开发嵌入式系统,因此代码大小是一个问题.使用标准库将我的二进制大小增加了大约 60k,从 40k 增加到 100k.我想使用 std::function,但我不能证明它是 60k 的.是否有我可以使用的独立实现,或类似的东西?我正在使用它在 c++ 11 中使用绑定变量在成员函数中隐式转换 lambda. 解决方案 60k 来自编译器添加的异常处理,因为 std::function ..
发布时间:2022-01-25 12:30:11 C/C++开发

PIC16 C 编译器

我正在为 PIC 16 系列寻找一个好的 C 编译器,在 Windows 上工作. 一些同事使用 bknudc,但有些人似乎不喜欢它.显然你不能有效地使用链接器,事实证明最好的方法是将所有代码设置在包含文件中. SDCC 看起来不错,但看起来仍处于测试阶段,而且不容易设置或必须处理. 还有很多其他的选择,根据自己的情况,都是最好的.我发现一些论坛讨论这个话题,似乎没有人同意彼此. ..
发布时间:2022-01-25 12:29:30 其他开发