Questions tagged «microcontroller»

紧密耦合的独立设备中包括中央处理器(CPU),内存和(通常)各种I / O外设(UART,ADC,DAC,通用I / O,I2C等)的设备包。

2
TTL串行如何工作?
我一直在尝试寻找TTL串行“标准”的良好描述,但运气不佳。我了解串行发送(TX)和接收(RX)线处于高电平空闲状态(在VCC处),并且当发送一位时它们会掉到地上。因此,它们与规范相反,“ 1”为高,“ 0”为低。 我不明白是谁负责保持高电平以及如何传输零。发送者是否将线路驱动到高电平和低电平?还是接收器将线拉高,发送器将线拉低(集电极开路)?

12
在开发和调试阶段禁用优化真的是一个好习惯吗?
我已经阅读了C语言中的《编程16位PIC单片机》,书中有这样的肯定: 但是,在项目的开发和调试阶段,最好禁用所有优化,因为它们可能会修改所分析代码的结构,并使单步执行和断点放置成为问题。 我承认我有些困惑。我不知道作者是因为C30评估期而这么说还是真的是一个好习惯。 我想知道您是否实际使用此做法,为什么?

2
将设备推向市场
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我设法设法做了一个小发明,主要由一个MCU,一些传感器和无线连接组成。我经历了制作初始原型的过程,然后设计了电路板并制作了SMD版本。它很小,效果很好。它还有一个很好的案例,我设法进行3D打印,然后盖上一个自制的硅胶套。我为自己制作了一个有趣的游戏,但它确实运行良好,每个人似乎都想要一个。我可以手工制作几十个,然后将它们卖给遇到的那个想要的人,但是如果我很快用完了怎么办?似乎有可能让我对这个想法感到有些恐慌,仅仅是因为我不知道从哪里开始。 我什至在哪里开始弄清楚如何将某物推向市场?是否有用于此类事情的标准资源库?我在EE SE上没有看到其他问题,完全可以问我要问的问题(大多数人都在寻找设计或产品建议,很遗憾,但是我已经做到了),所以也许这是完全错误的论坛(另一个提示:我不知道该如何标记),在这种情况下,我很乐意将其移动到更合适的位置。 其他相关信息:我在美国(NYC地区),可能对将产品运输到其他市场(欧洲,可能是亚洲市场)感兴趣。 我希望为以下问题寻求建议: 如何找到不同组件(PCB,将其焊接在一起,外壳等)的制造商?或者也许最好说我正在尝试寻找制造商的商店。 我应该拆分生产以防止IP盗窃吗? 组装电路板的商店也对它们进行编程了吗? 认证??? 市场营销和分销... ??? (我对如何开始这里有个不错的主意,但是总是欢迎您提供资源) 我完全想念的东西吗? 我觉得我知道如何找到需要做的事情以及在哪里可以找到一般的商业建议,但是两者之间的鸿沟对我来说似乎是一片沼泽和神秘。


5
如何实现自调节类PID控制器
我正在尝试编写一个用于控制具有以下特征的系统中的温度的微控制器程序: 输出只能是开或关,具有固定的循环频率(每小时约2-10) 工厂的响应速度很慢(可测量的温度变化需要10分钟以上的长时间)。 该工厂会根据环境条件降低温度。 设定点可以根据用户需求大步变化。 我正在编写一个控制器,旨在最大程度地减少错误,并坚持提供作为输入的循环速率。 使用PI控制器可以轻松完成此操作,并将其输出转换为占空比。问题在于程序需要自动调整并选择正确的Kp,Ki常数,并适应变化的环境条件和加热能力的变化。因此,预先调整PI控制器不是很有用。 不需要使用实际的PI或PID。如果有帮助,我愿意使用Fuzzy-Logic,也可以在芯片上使用机器学习算法来对系统响应和热损耗(线性近似)建模,该算法可提供有关所测阶跃响应的信息。只是不知道该怎么办。 有几篇文章建议我可以使用建模数据来在线调整PI,还可以通过实验室查看手册来建议我可以使用Fuzzy-Logic来调整PI。 我的问题是,对于这种情况(例如PID,模糊PID,卷积等),最好的方法是什么?我将如何在软件/实践中实际实现它? 我不是EE,因此不胜感激。


3
建议使用STM32(ARM Cortex M3)上未使用的引脚的默认设置-上拉/下拉?
我们目前正在使用STM32微控制器系列的各种变体。我想知道以下内容: 如果可以选择同时选择上拉或下拉,则一般建议微控制器引脚的默认设置是什么?彼此搭配的利弊是什么?(假设您默认将它们设置为输入) 我特别想知道如何处理STM32微控制器系列中未使用的引脚。对我来说很明显,我们不应该让引脚悬空(数据表说的就是:(),但是我应该将它们设置为上拉输入还是下拉输入吗?特别是,我想选择最不易受到ESD影响的设置,如果可能的话,也要消耗最少的功率。 对于关键引脚,我们应该依靠固件将引脚正确设置为正确的默认状态,还是应该由外部硬件负责(连接外部上拉或下拉)?如果为外部电阻器选择的值大于内部上拉或下拉电阻,则固件中的设置无关紧要。 我可以看到,这样做的好处是,如果微型计算机由于某种原因(有故障的硬件等)未正确初始化,则我们将不依靠固件来正确设置引脚。 我看到的缺点是,硬件成本更高。 您能从上面得到的任何启示将不胜感激。 谢谢..

10
电气工程师是否使用微控制器?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我一直很喜欢编程,最近才对电子和微控制器编程产生兴趣。这很有趣,但是我想知道我是否在学习一些有用的东西,这些东西可以在我长大后找到工作。我想知道电气工程师是否使用微控制器。 我知道您需要为房屋的不同部分通电的工作可能不会,但是也许是这样的工作: 您的职责: 设计和开发新的除颤器产品。主要重点将放在模拟和数字设计领域的新产品设计和当前产品支持上。 使用各种仿真工具(例如PSPICE和MATLAB)对模拟电路进行建模。 建立原型并证明设计可行性,功能和性能。 记录设计的所有阶段,包括需求,规格,计划,评审,测试程序和测试报告。 支持现有产品。调查并确定在制造和现场发现产品问题的根本原因。对系统,PCB,电缆和固件进行故障排除。使用测试设备来分析和解决问题。 根据电气技术能力,经验,历史和认证来确定,评估和推荐主要供应商。 在项目开发过程中,促进并保持与关键供应商和内部利益相关者的持续沟通。 代表EE开发小组作为项目的技术团队负责人。这将包括提供技术解决方案以及项目计划和项目跟踪。 记录制造设计(即图纸,示意图,实验,变更,测试结果,数据,PCB布局等)。 与跨职能团队合作,包括:机械工程师,软件工程师,临床应用程序,学习产品,营销,支持工程,质量和法规以及供应链。团队经验丰富,但规模相对较小,成员担任许多开发角色。 这样做的人会使用微控制器或类似的东西吗?

6
微控制器-输出状态是恒定的还是多路复用的?
PWM显然需要计算资源(因此不能与其他进程同时完成),但是如果我将一个引脚设置为5V或0V输出,这些状态是否保持不变,或者在微控制器进行其他处理时会反复刷新? ? 这很难用文字解释,所以我想到了一个比喻。想象一下我手里拿着杯子,并被指示将其放在桌上。然后指示我坐在椅子上。 桌上的杯子是一种状态。我是将玻璃杯放在桌子上,还是将它捡起来并坐下,然后快速重复,以至于您不知道玻璃杯是否已从桌子上移开? 或更简单地说,除非您明确编程状态改变,否则,微控制器是否会“忘记”其引脚的状态? 希望我尽量避免混淆。

7
Windows 8中的超级终端等效项
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为电气工程堆栈交换的主题。 4年前关闭。 我需要在8051微控制器和PC之间进行一些通信。在Windows XP中曾经有一个超级终端用于此目的。我现在正在使用Windows 8。因此,任何人都可以出于串行​​通信的目的向我建议Windows 8中的一些超级终端。在微控制器和PC之间。

3
在模型铁路中检测距离和速度的好方法是什么?
首先,我必须承认对现代微控制器及其软件的基本了解-我知道动力工程和大型电机要好得多(已有45年的历史了)。 现在,我的问题是:试图让子孙们对电子产品充满热情。他们喜欢模型铁路,因此我们正在逐步建立火车监控系统。 当前的问题:在不影响轨道功率的情况下,检测机车距特定轨道位置的距离(可选地为速度)。 控制平台:Stellaris Launchpad 考虑的选项: * TSOPxxxx,带有“哑”固定频率振荡器和机车上的RF LED-如何获取速度信息? * TSOPxxxx和发射器位于轨道旁,来自机车的反射-可以通过飞行时间来提高速度,也许 * 5伏红色激光,并通过红色LED作为传感器来检测中断(孩子们喜欢激光,所以...)-没有速度无需在每个检测位置使用多个设备即可进行检测 * RFID标签和位于轨道旁的线圈(将识别出特定的机车是一个加号)-没有速度信息 *超声波距离传感器-普遍存在且受到网民的良好支持,但覆盖范围太广我怀疑 *许多现成的模型铁路产品之一-与本练习的目的相反 那么,这些方法中的哪一个或任何其他方法,在软件方面给我的痛苦最少,却又有足够的机会让8到12岁的孩子从事电子设计并获得可以体验的结果?有什么陷阱要注意(除了可乐洒了)? 火车为N比例(1:160比例)。

1
如何使用8位PIC测量IR信号的脉冲宽度?
我和我的朋友想设计一个通用的学习型遥控器,像这样,用于学习。我们基本上要做的是存储和重放红外脉冲。 我们要检测36kHz,38kHz和40kHz信号。40kHz信号的周期为25。μμ\mu 我们想使用一个8位PIC单片机,现在我们选择了PIC16F616,它将以20MHz的高速晶体振荡器运行。我们有两种选择: 使用Interrupt On Change模块。 使用CCP模块的捕获模式。 第一种选择如下: 假设寄存器设置为:unsigned char _10_us = 0;。该寄存器将保留时间。带有周期寄存器的TMR2模块被设置为每产生一个中断。发生中断时,它将增加寄存器并退出。这将使最大时间为2.55毫秒。如果需要更多的时间测量,则可以定义其他寄存器,并根据需要递增。μμ\mu_10_us_1_ms _10_us_10_usμμ\mu 这个选择使我挠头。TMR2中断大约每50条指令发生一次。中断处理大约需要20条指令。我剩下30条指令来计算周期并将其保存到数组中。这种方法行得通吗? 第二种选择如下: 设置CCP模块的捕获模式,以便当CCP1引脚上发生事件(从高到低)时,它将产生中断。在中断程序中,它将设置一个标志,以便程序中的任务可以计算(如果需要)并保存CCPR1H(可能不需要)和CCPR1L的值。然后,我们将更改捕获模式的配置,以便在发生低到高沿时触发中断。然后它将等待下一个事件。由于从未使用过,因此无法估算此方法的性能。 另外的选择? 我们可以使用红外解调器IC,例如TSOP17xx系列。那将完全解决我们的问题。但是,有些问题浮现在脑海。 我们的阅读距离要求不高;1米(约3英尺)。如果我们选择一个,就是在38kHz的可正常工作的TSOP1738,如何以及将与36kHz和40kHz的信号,这项工作? TSOP17xx系列数据表的第4页显示“响应频率相关性”图。据我们了解; 40kHz,即38kHz的〜1.053,将给出〜0.6的相对响应度。 36kHz,即38kHz的〜0.95,将给出〜0.65的相对响应度。 这些值是什么意思?我们可以使用TSOP1738罚款吗?

4
将微控制器插入120V的最便宜方法(无壁wall或电池)
我需要能够通过将Atmega168插入墙壁来为其供电。电路稍微复杂一点,但不过分。在200mA电流下,Atmega168需要在1.8V至5V之间。理想的解决方案必须全部包含在PCB板上。没有壁疣或电池。 有什么好的策略或组件集可以安全且廉价地完成此任务?我是该地区的新手,但我听说过有关开关电源的知识。同样,只要效率不高,效率就不是很重要。

3
8位MCU的C整数提升
以avr-gcc为例,将int类型指定为16位宽。在C中对8位操作数执行运算会导致由于C中的整数提升而将这些操作数转换为16位int类型。这是否意味着如果用C编写,则AVR上的所有8位算术运算都将比在C中编写的时间长得多。是否由于C的整数提升而以汇编形式编写?
14 microcontroller  avr  c 

2
闪存和EEPROM
Atmega16数据表说它有 a)16 KB的系统内自编程闪存程序存储器,以及b)512字节的EEPROM。 微控制器能否有两个单独的ROM,可以通过EEPROM技术和闪存技术进行编程? 还是我从数据表中得出的推论是错误的? 我知道我们的程序存储在闪存中,为什么没有人需要EEPROM?如果我们有程序的闪存,它有什么用? 也有人可以解释什么是“系统内自编程” 我所知道的是:闪存技术可以按数据块编写程序,而EEPROM可以按字节写数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.