新答案标记为嵌入式
2
想象一下,我是这个程序,我想把我的杯子存放在我的房间里。为什么我会在彼此之上存储它们,而不是将它们放在我房间的随机位置?你不会。但是,你可以把你的外包,连帽衫和T恤放在堆栈中,因为你只需要其中一个,并利用底部,......
0.
使用堆栈,因为它在硬件中实现它比软件中的变量跟踪更快
1
当你进入你的房间,你分配三个盒子。你堆叠在两侧,以便你可以看到每个盒子的开放结束。你把你的帽子,手表和杯子放在盒子里,每个项目都是一个项目。这是堆栈对于通用计算有用的关键。您可以随时访问您分配的堆栈的时间......
5.
想象一下,我是这个程序,我想把我的杯子存放在我的房间里。为什么我会在彼此之上存储它们,而不是将它们放在我房间的随机位置?你以错误的方式看待这个:想象自己不是整个程序,而是作为一个可以置于各种程序中的任何一个方案的子程序。任何......
6.
你给了我们一个类比,现在我会给你另一个。如果你是在进行访问的每个人的建立和收集外套和帽子的大门的人,那么怎么办?如果您确定最后一个访问的人是第一个离开的人,您可以将帽子和外套存放在堆叠结构中。然后按照每个人离开,......
27.
结论是,您希望嵌入式编程中的堆栈。这是一个从长期经验中出现的好主意。短期历史我已经老了,足以在没有拥有硬件堆栈支持的计算机上工作。(如果您对某种间接内存有必要的说明,您可以始终在软件中制造自己的堆栈......
5.
为什么在所有堆栈中都存在此概念是一个非常简单的临时存储机制。要扩展你的类比,这是你房间的入口表(你从墙上拉出)。它已经在那里,你知道它在哪里以及如何引用它。所以你在那里堆叠你的物品。当你完成时,你把你的东西放在桌子上,给你...
4.
但是,如果堆栈指针将x放在顶部y上。它将如何达到y而不会删除x?所以我堆栈必须使事情(数据访问)更加困难。它不一定。这些变量以确切的顺序(按钮)临时存储在堆栈上,然后以相反的顺序重回它们。在每个函数调用,中断,...处理器推动...
11.
当前的执行位置在启动子程序时存储到堆栈中,以便当子例程结束时,可以从堆栈中弹出它。这使得能够将程序存储的方法存储在将上下文更改为另一个子程序之前,甚至使子程序可以递归调用自身,因此它只能升级一个级别......
6.
如果您有一个USB串行端口,那么到您的程序,它是一个串行端口。而且您不需要知道或关心它是标准串行端口,USB串口,虚拟串行端口,在LAN中扩展,或者其他一些,只要您的程序看到串行端口。
16.
与任何协议栈一样,USB包含代表各个层的组件。高级驱动程序和库在下层顶部提供更高层次的功能,有效地向下层抽象,远离视线。在USB的情况下,有许多所谓的设备类,可在USB的顶部提供标准化接口,...
5.
它已经是函数的名称:serialport.readline。此功能在串行端口上运行,而不是原始USB端点。您的微控制器“假装”是通过USB连接到您的计算机的串口。系统上的串行端口驱动程序会处理从程序将数据转换为USB数据包(反之亦然)。......
1
陀螺仪具有漂移和误差,以避免此问题将它们与另一个传感器(如磁力计并将数据馈送到Kalman滤波器中),以避免漂移的错误。或通过传感器融合获得9dof传感器。
2
经过大量挖掘之后,我发现赢取输出仅受TCA0.Split.lcmpn的影响,以及tca0.split.hcmpn的wo [3 + n]输出。通过将tca0.split.lcmp1设置为所需值,而tca0.split.lcmp0至0,我可以自由地将输出引脚从PB0转换为PB1。我希望这有助于在未来有这个问题的帮助:)一些代码:int ...
0.
取决于用户与计时器的意图是什么。如果用户的意图是实现16位计时器,只需从0x0到0xffff,溢出,然后再次循环(例如,要做一些定期任务):是的,他不必在后面停止计时器溢出,然后用0x0重新加载。由于TR1仍然设置,溢出后的定时器,...
1
我没有评价评论。不回答但命题。我有类似的问题。在我的情况下,问题在于看门狗。它搞砸了我的中断,所以我不得不禁用看门狗。也许类似于你的东西。你没有循环的代码,只睡觉!你的代码是在ISR的?将ISR代码移动到循环。正常的事情是继续......
0.
对于Arduino IDE,您可以从PINS_ARDUINO中更改引脚。请确保您将其更改为右侧。下面是我的路径c:\用户\ user \ appdata \ local \ arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.6 \ variants \ doitesp32devkitv1
7.
没有MCU可以直接检测浮动引脚,它需要外部组件,巧妙的软件技巧,或者至少正确设置GPIO引脚,这就是为什么使用电阻向上拉出信号,所以它不会浮动,可以读取,并且可以像高一样录制。上拉电阻可以是外部物理电阻,或者您可能还可以使用INVEL UPS中内置的MCU
10.
当开关未使用上拉电阻关闭时,您可以略微拉出信号。大多数微控制器上的GPIO端口都有内置的上拉电阻,您可以从软件中控制。
-1
根据我的知识,我不认为你的代码或方法有问题,深度睡眠不会从睡眠中继续,它再次开始设置。它基本上是一个重置。如果您有要持续的数据,那么您需要使用RTC内存或闪存。是的,它应该以这种方式工作
1
好的,我找到了一个解决方案。它真的很神奇地发布您自己的问题立即让您对某个问题的看法不同。在配置预分频器和ARR之后,我决定尝试在启用中断之前生成事件。然后我立即清除那个事件,在启用中断之前:main.cpp:basic_timer t7(basictimer :: tim7,basic_timer :: ...
6.
如果我们查看针对ARM平台的GCC(因为“裸机”和Linux构建),主要差异是运行时环境。在裸机构建(ARM-None-EABI)中,C运行时必须提供启动代码来设置中断向量,堆栈,堆等。也是C库必须处理低级细节本身。。
1
NDTR == 0表示DMA传输完成。我不知道如何处理usart接收缓冲区,但ndtr == 0案例可能表示错误。如果在处理它们之前,如果在您的USART接收器中最终预期的更多字节,可能会发生这种情况。在这种情况下,DMA停止(其实际上是一个好事,因为它可以防止DMA溢出数据......
1
我不认为你已经考虑过你的要求。如果您有4“直径滑轮,而200步/ Rev步进和1/256微管圈,则每个MicroStep的皮带运动将是(2 x 6.28)/(200 x 256),或约0245英寸/微电量。允许“几个Microsteps”(让我们称之为两种)对原始位置的容忍度,您需要一个传感器...
1
如果您绘制高对比度线的能力大于角度分辨率,则必须选择插槽型光学检测器。这允许产出的高度较高,并且具有较大的抗脱离脱光和更大的能力,使尖锐的边缘进行尖锐的光。由于这些原因,它是家中选择的传感器......
最近的50名答案包括在内