40得票6回答
用于嵌入式设备的好的串行通信协议/协议栈是什么?

在为各种项目编写了几种不同的自定义串行协议后,我开始对每次重新发明轮子感到沮丧。为了避免为每个项目继续开发自定义解决方案,我一直在寻找更通用的解决方案。我想知道是否有人知道一个串行协议(最好是实现)符合以下要求: 支持多个设备。我们希望能够支持RS485总线。 保证传输。某种确认机制和一些...

39得票13回答
在比特流中查找比特模式的最快方法

我需要在位流中扫描一个16位的字。不能保证对齐在字节或字边界上。 实现这个最快的方式是什么?有各种各样的暴力方法;使用表格和/或移位,但是否有任何"位操作快捷方式"可以通过为每个字节或字到达时给出包含标志的yes/no/maybe结果来减少计算次数? C代码、指令、x86机器码均有意义。

39得票10回答
一行中的多重赋值

我刚刚在嵌入式C(dsPIC33)中遇到了这个语句。 sample1 = sample2 = 0; 这是否意味着? sample1 = 0; sample2 = 0; 为什么他们这样输入呢?这是好的还是坏的编码方式?

39得票9回答
如何在gdb中使用'target remote'重新运行程序?

当您在同一台计算机上对可执行文件进行常规gdb会话时,可以输入run命令来重新启动程序。 当您在嵌入式系统上运行gdb时,例如使用命令target localhost:3210,如何重新启动程序而不退出并重新启动gdb会话?

38得票14回答
在单线程、非操作系统、嵌入式应用中,为什么全局变量不好?

我看到大多数反对使用全局变量的意见都是因为涉及多线程、线程安全等问题,这是有道理的。 但在小型、单线程、非操作系统情况下,你有什么反对意见呢?我正在用C语言编写嵌入式系统,如果有必要的话。而且我是该产品唯一的开发人员。 消除全局变量会使我的代码更好的原因是什么呢? (阅读了几个回复后,我...

37得票6回答
在家学习内核黑客和嵌入式开发?

我一直对内核编程和嵌入式系统领域很感兴趣。 有没有好的教程(加上易于获取的硬件),可以帮助我开始涉足这方面的内容? 类似编写驱动程序的套件,其配有良好的文档且价格实惠? 谢谢!

37得票6回答
设备驱动单元测试

我有这样一种情况,需要为嵌入式硬件的一些设备驱动程序编写一些单元测试。代码相当老且庞大,不幸的是没有太多的测试。目前,唯一可能的测试方式是完全编译操作系统,将其加载到设备上,在实际使用场景中使用并说“它可以工作”。没有办法测试单个组件。 我找到了这里的一个很好的帖子讨论了嵌入式设备的单元测试...

37得票20回答
使用AVR或PIC开始编程微控制器?

我应该从哪个系列开始学习呢?(从未在微控制器上进行过任何编程)

37得票2回答
当ISR正在运行时,另一个中断发生会发生什么?

如果ISR正在运行,另一个中断会发生什么?第一个中断会被中断吗?第二个中断会被忽略吗?还是在第一个ISR完成后触发第二个中断? 编辑 我忘记在问题中加入了(但是我在标签中加入了),我想问的是Atmel AVR的工作原理。

37得票2回答
一个双发射处理器到底是什么?

我见过几个有关“双发射”处理器的概念的参考资料(我希望这在句子中甚至是有意义的)。 我找不到任何关于双发射究竟是什么的解释。 Google给我提供了微控制器规格的链接,但这个概念没有在任何地方得到解释。 这里有一个这样的参考示例。 我找错地方了吗?简短的段落说明它是什么将非常有帮助。