Questions tagged «pic»

PIC是Microchip生产的8位,16位和32位RISC微控制器品牌。“ PIC”最初是“ Peripheral Interface Controller”的缩写。

6
DSP和标准微控制器之间有什么区别?
我了解DSP已针对数字信号处理进行了优化,但是我不确定这对选择IC的任务有何影响。我使用微控制器所做的几乎所有事情都涉及数字信号的处理! 例如,让我们比较流行的Microchip dsPIC30或33 DSP及其其他16位产品PIC24通用微控制器。dsPIC和PIC可以配置为具有相同的内存和速度,它们具有相似的外围设备,相似的A / D功能,引脚数,电流消耗等。Digikey列表中唯一出现的主要区别是其位置。振荡器。我无法通过查看价格(或其他任何字段)来区分差异。 如果我想使用使用各种协议(I2C,SPI等)的几个外部传感器,请进行一些A / D转换,将一些数据存储在串行闪存中,响应一些按钮,然后将数据推出一个字符LCD和FT232(相当通用的嵌入式系统),我应该使用哪个芯片?看来DSP不会以任何方式落后于PIC,它提供了这种神秘的“ DSP引擎”。我的代码总是做数学运算,偶尔我需要浮点数或小数,但是我不知道使用DSP是否会受益。 在另一个供应商的DSP和微控制器之间进行更一般的比较同样有用。我只是将这些用作讨论的起点。


9
嵌入式系统的实时操作系统
我看过很多文章,告诉我应该将RTOS用于时间管理和资源管理。我的时间不允许进行自己的研究,因此我向Chiphacker寻求建议。 我使用低资源微控制器(MSP430,PIC),并正在寻找可以使用的RTOS。 要点: 系统资源成本 系统优势 系统的缺点 实施技巧 不应/不应使用RTOS的情况。 我没有使用像arduino这样的系统,我从事的项目无法支持这种系统的成本。

7
如何使用ADC测量负电压?
我正在使用带有内置10位ADC的PIC微控制器,希望测量-1至-3V范围内的电压。 我曾想过要在反相模式下使用运算放大器,以使电压为正,然后将其馈送到微控制器的ADC,但是在这里,我必须使用负电源为运算放大器供电,对吗?我现在不想使用负电源,并且想知道是否有可能实现这种配置?你能帮忙吗?

7
微控制器的最小AES实现?
谁能为微控制器推荐一个免费的小型AES-128 Rijndael实现。理想情况下,对于PIC18,尽管使用C进行通用实现是有用的。 为PIC18 编译axTLS实现并加密/解密模块需要6KB ROM和750b RAM。 为PIC18 编译rijndael-alg-fst.c并对块进行加密/解密需要28KB ROM和0.5KB RAM。 编译用于PIC18的Brian Gladman的8位AES并对模块进行加密/解密需要19KB的ROM和190字节的RAM。 是否有更好的优化的PIC特定变体可用? (更新了axTLS版本的RAM要求)
38 pic  encryption 

14
如何测量飞盘的RPM?
我想制作一个可以贴在飞盘上的小设备,它可以测量诸如RPM /飞盘投掷时的速度之类的统计数据。现实可行吗? 我一直在研究近场通信,以将数据从飞盘传输到智能手机,但这只是一个主意。看起来很难做得足够小而不影响飞盘本身的飞行。谁能想到这个主意吗?

9
快速且高效存储的移动平均值计算
我正在寻找一种节省时间和内存的解决方案来计算C中的移动平均值。我需要避免除法,因为我使用的是没有专用除法单元的PIC 16。 此刻,我只是将所有值存储在环形缓冲区中,并在每次新值到达时简单地存储和更新总和。这确实很有效,但不幸的是占用了我的大部分可用内存...
33 pic  c 

2
C编码设计-函数指针?
我有一个PIC18F46K22,并使用XC8编译器对其进行了编程。最后,我将拥有一个像PC这样的系统,stdin并带有和stdout。因此,在主循环中将有一个函数来检查是否有新输入。如果有输入,将相应地调用一个函数。因此,例如,当我在A上输入A时stdin,PIC将运行类似的函数,function_A而不是function_B在我输入B时调用的函数。 当PIC完成该功能后,我希望将新输入发送到该功能。因此,当按A打开RS232发送器时,从此刻开始,所有输入都将通过RS232发送。最后,该项目是一个独立的文本编辑器。因此,当按A键打开文件系统时,此刻不再是文本编辑,而是浏览文件列表。这意味着按下“向上”和“向下”意味着与在文本编辑环境中有所不同。 我已经做了很多关于如何使用C进行编程的思考。昨晚我想了一下,想知道是否有可能,如果有可能,如何做。我想做的是: 该main函数调用类似function_A function_A将全局变量更改function_addr为函数的地址指针in_function_A 从那时起,main在function_addr有新输入时调用该函数。 所以我需要一个main检查是否function_addr为零的函数。如果是这样,应调用“正常”函数,如function_A。如果不是,function_addr则应调用at中的函数。我还需要function_A将更function_addr改为的指针in_function_A。 注意:当应关闭文件系统功能时,is_function_A应将其更改function_addr为0。 所以基本上我的问题是我怎么能 获取函数的地址(并将其存储在变量中) 在指定地址调用函数

7
非入门固件开发的好书
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我的工作很多,但我正在寻找有关该主题的更高级的书籍。事情不像“什么是中断”的基础。我正在阅读有关嵌入式系统开发的O'Reilly书,虽然不错,但不够先进。例如,很少有书籍讨论诸如Flash页面(这可能非常有用)之类的事情,很少讨论如何将一段代码放在特定的内存区域中。 也许有些技巧和窍门。我主要进行PIC编程。

6
串行协议定界/同步技术
由于异步串行通信甚至在当今的电子设备中也很普遍,我相信我们许多人会不时遇到这样的问题。考虑与串行线(RS-232或类似产品)连接并且需要连续交换信息的电子设备D和计算机。即每个发送一个命令帧,并每个发送一个状态报告/遥测帧答复(报告可以作为对请求的响应发送,也可以独立发送-在这里并不重要)。通信帧可以包含任何任意二进制数据。假设通信帧是固定长度的分组。PCPCX msDY ms 问题: 由于协议是连续的,因此接收方可能会失去同步,或者只是在进行中的发送帧中间“加入”,因此它只是不知道帧起始位置(SOF)在哪里。根据数据相对于SOF的位置,数据具有不同的含义,接收到的数据可能会永久损坏。 所需的解决方案 可靠的定界/同步方案可在恢复时间短的情况下检测SOF(即重新同步所需的时间不超过1帧)。 我了解(并使用了一些)的现有技术: 1)标头/校验和 -SOF作为预定义的字节值。帧末的校验和。 优点:简单。 缺点:不可靠。恢复时间未知。 2)字节填充: 优点:可靠,快速恢复,可与任何硬件一起使用 缺点:不适用于固定大小的基于帧的通信 3)第9位标记 -在每个字节之前附加一个位,而SOF标记为1和数据字节标记为0: 优点:可靠,快速恢复 缺点:需要硬件支持。大多数PC硬件和软件未直接支持。 4)第8位标记 -上面的一种模拟,同时使用第8位而不是第9位,每个数据字仅保留7位。 优点:可靠,快速的恢复,可与任何硬件一起使用。 缺点:需要从/到常规8位表示到/从7位表示的编码/解码方案。有点浪费。 5)基于超时 -假定SOF为某个已定义的空闲时间之后的第一个字节。 优点:无数据开销,简单。 缺点:不太可靠。在较差的计时系统(如Windows PC)上无法很好地工作。潜在的吞吐量开销。 问题: 还有哪些其他可能的技术/解决方案可以解决该问题?您能否指出上面列出的缺点,可以轻松解决这些缺点,从而消除它们?您(或您将)如何设计系统协议?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

2
AVR和PIC控制器上的固件保护
有人可以提取在我提供的微控制器中刻录的HEX文件吗? 如果可能的话,某人如何确保其代码在嵌入式系统中得到保护?对于PIC和AVR微控制器,如何保护其固件不被复制?
23 pic  avr  embedded  firmware 

6
内部或外部振荡器
我一直使用图片所具有的内部振荡器,因为我从未发现需要以高于8 MHz的频率运行任何东西(这是我使用的图片往往能够达到的最快速度)。除了高于8 MHz之外,是否还有其他原因意味着我应该使用外部振荡器?对我来说,似乎错了另一件事,但我很想听听别人的所作所为。

4
如何清除噪音信号?
我正在通过PIC16F684控制4引脚PWM PC风扇,风扇速度由接近传感器的ADC读数驱动。一切正常。 我本来并不打算使用风扇的转速表输出,但是由于可用,我一直在用“示波器”对其进行监视,以确保在接近度和风扇速度之间的映射正常工作。 现在,我注意到的是,当PWM以100%的频率运行风扇时,转速信号(通过10K电阻上拉的漏极开路)非常干净: 但是,当我以不到100%的速度运行时,会很吵: 放大该噪音: 我猜想它受到PWM信号的影响,但我想了解原因和方式,以便将来在必要时可以对其进行清理。我真的很感兴趣,当您看到这样的噪音时应该怎么做,如何找到原因以及如何“解决”它。示波器设法触发正常,所以我想知道是否只是将其馈入PIC(RA2)上的外部中断引脚,它是具有CMOS电平的施密特触发器输入,那么我不会“看到”噪声,并且例如可能会从另一个引脚发出回声干净的信号以使LED或其他东西褪色。 因此,有人可以概括地解释如何去识别和纠正噪声信号吗?或者,如果范围太广,也许只是这个特定问题?另外,如果我的电路有任何问题,也很高兴知道。在下面的示意图中,我显示的信号是电路左侧的TACH输入: 更新 在收到@MichaelKaras和@techydude的有用建议后,我通过将Q2从电路中完全移除并直接将其接地,排除了第二个问题的根源。对噪音无明显影响。 因此,我然后在RA2上对外部中断进行了编码,以从备用引脚(在本例中为RA1)中回显出一个“干净的”信号,虽然有很大帮助,但由于错误的中断而仍然闪烁。(因此,我将中断设置为捕获上升沿,然后在触发时切换到下降沿,反之亦然,相应地设置/重置RA1)。 但是,在R3上还添加了一个100nF电容器(作为@techydude的建议的一部分)之后,我现在获得了更加稳定的输出。下面的屏幕截图是通过施密特触发的RA2输入并在RA1上重新输出进行清洁后的TACH信号:
19 pic  pwm  noise 


5
输入或输出MCU引脚上的上拉和下拉电阻用法
MCU INPUT引脚仅需要上拉/下拉电阻(内部还是外部)吗?相比之下,配置为OUTPUT的MCU引脚“知道其电平”,因为它可以驱动-与另一电路的某些输入端相连的“浮动” MCU OUTPUT引脚没有意义,因为MCU引脚的状态只能是高或低...我有这个权利吗?现在,在MCU启动或发生故障时,将上拉/下拉线与此“ MCU输出至IC输入”线路相关联以确保某个IC的输入永不浮动可能是有益的。 也许我只是在这里回答了我自己的问题...根据应用的不同,上拉/下拉电阻可以在输入和输出引脚上使用吗?

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.