Questions tagged «avr»

AVR是Atmel开发的8位和32位微控制器内核。AVR被选为流行的Arduino SBC的微控制器。

3
什么是引导加载程序,我将如何开发它?
我遇到了许多项目,其中AVR微控制器与引导加载程序(例如Arduino)一起使用,但是我对这个概念不太了解。 如何制作引导加载程序(对于任何微控制器)? 编写引导加载程序后,如何将其编程到微控制器(就像在AVR的Flash ROM中刻录的任何.hex程序一样,或其他方法)?

17
Arduino IDE的完整替代品?[关闭]
我并不喜欢正式的Arduino IDE(就视觉效果而言),因此我开始寻找更好的替代品。但是,我发现的大多数项目都在alpha / beta中,并且通常是不完整的。 我是100%熟悉电路板编程的人,并且以前从未使用过Arduino,但是从我的收集中可以看到,Arduino IDE只是avr库的包装器,它可以实际编写电路板。其他“类arduino设备” IDE可能吗? 同样,我对此很陌生,所以用户友好性会很好。
50 arduino  avr  ide 

10
为什么在Arduino中使用AVR?
为什么Arduino使用AVR?我知道它们是官方处理器,但是除了成本之外,没有理由将代码无法移植到ARM或飞思卡尔架构上,对吗?只要有板载内存,我就可以很容易地迁移到这些部分中。 我在行业中看到很多ARM(似乎每个供应商都在将ARM投入他们的设计中),并且想知道为什么Arduino开发人员世界中没有更多的ARM。
41 arm  avr  freescale  arduino 

10
SPI或I2C:用于较长的总线
我正在考虑一个需要几个AVR通过总线相互通信的项目。它们之间的间隔最大为6英尺。 看起来I2C和SPI都可以让一系列的微处理器通过总线进行通信,但是我还没有看到有关它要持续多久的信息。有没有人尝试在几英尺的距离上连接这些协议?

1
为什么当我调用wdt_disable()尝试关闭看门狗定时器时,我的AVR会复位?
我遇到了一个问题,即使在计时器上还有足够的时间,在AVR ATtiny84A上执行禁用看门狗序列实际上也会复位芯片。当在许多物理部件上运行相同的代码时,这会不一致地发生。有些每次都会重置,有些有时会重置,有些则永远不会重置。 为了演示该问题,我编写了一个简单的程序,该程序可以... 使看门狗超时1秒 重置看门狗 使白色LED闪烁0.1秒 闪烁白色LED熄灭0.1秒 禁用看门狗 看门狗使能和禁用之间的总时间少于0.3秒,但是有时在执行禁用序列时会发生看门狗复位。 这是代码: #define F_CPU 1000000 // Name used by delay.h. We are running 1Mhz (default fuses) #include <avr/io.h> #include <util/delay.h> #include <avr/wdt.h> // White LED connected to pin 8 - PA5 #define WHITE_LED_PORT PORTA #define WHITE_LED_DDR DDRA #define WHITE_LED_BIT 5 // Red …
34 arduino  avr  attiny  watchdog 


5
像Game Boy Advance这样的设备如何达到其帧速率?
我一直在基于AVR微控制器和小型OLED显示器设计自己的手持游戏设备。 我开始使用128x64像素的单色显示器,并且可以以每秒60帧以上的速度舒适地绘制它。 我最近对其进行了重新设计,使其使用128x128像素的RGB OLED,但并没有想太多,只是发现我只能达到大约4 FPS。经过一番思考和仔细的重构,如果我对任何其他事情都不在乎的话,我可以将帧率提高到约12fps! 我的问题是-像GBA(Game Boy Advance)这样的设备如何达到接近60fps的帧率?我曾考虑过要有一个单独的“图形处理器”,但意识到将显示数据传输到此仍然会遇到瓶颈。 我还想知道使用这些屏幕中大多数都带有残留的8位并行接口,这可能使我的屏幕速度提高8倍,除了现代MCU不像串行和位串行接口那样倾向于具有硬件并行接口。敲打可能会消耗很多速度。 还有哪些其他选择? 我目前正在使用通过USART-SPI连接到SSD1306 OLED控制器的ATmega1284P。那是单色版本。 彩色屏幕是SSD1351,最初未连接到硬件SPI。我不相信这会带来足够的变化,总体来说太慢了 我知道我可以获得更快的MCU,但是我想知道我可以探索的其他选择-GBA处理器比我的1284慢得多!

2
无人机的PCB
我正在制造一架无人驾驶飞机,如果有人可以回顾一下我在PCB布局上的工作,我会很乐意。 图像(红色是顶部,蓝色是底部,圆圈表示孔,而侧面转印则紫色是胶水): 应该发生什么: 来自无线电的输入是PWM 1-6,这是一个RF接收器,用于输入控制杆的原始值。 该板应该能够通过ICE 10组件进行编程。 MCU将能够从BMI055(加速度计)和GPS接收输入并进行有效解析。 Li-po输入用于读取电池,每根导线(除第一根导线外)都是一个电池。 辅助组件现在不再需要关注。 PWM 7-12是输出,并进入控制电动机的一堆ESC。 我觉得我缺少一堆消极的东西。PCB看起来不像我见过的其他任何东西(事实上,它只有几个电阻器和3个具有先进组件的电容器)。 组件参考: GPS:RXM-GPS-R4 MC1:AC32UC3 U2和U3:晶体 U1,AUX1,AUX2,所有PWM,U13和U14:连接器 REG1:LD1117(3.3V 800mA) ACL1:BMI055 3轴加速度计 USB:B型插孔 ANT1:GPS天线 TANTCAP:33uF钽电容器

2
什么有点撞
我是微控制器编程的新手。我正在使用ATmega32-A控制器和CodeVisionAVR编译器。我正在使用波形发生器(AD9833)通过SPI通信生成正弦波信号。我能够成功生成正弦波。现在,我将该信号传递给传感器。传感器输出通过多路复用器选择,并发送到ADC。现在,我想使用SPI通信读取ADC值。我已经尝试了很多设置ADC的寄存器。仍然无法正常工作。要查看SPI通信,请看我以前发布的使用spi通信的ADC寄存器设置。我正在使用USART(RS232)通信在PC(PuTTY)上打印值。 有人建议我使用位撞击。我是这个概念的新手。谁能给我提供SPI通信位冲击的示例代码。如何开始该程序?任何人都可以给我提供良好的物资。我需要任何外部硬件吗? 我已经写了这个,包括引脚连接: #define ADC_CS PORTB.3 #define MOSI PORTB.5 #define MISO PINB.6 #define SCK PORTB.7 void send_8bit_serial_data(unsigned char data) { int i; ADC_CS=0; for (i = 0; i < 8; i++) { // consider leftmost bit // set line high if bit is 1, low if bit is 0 if …

6
为什么Atmel AVR如此受欢迎?
最近的一个问题询问了各种类型的MCU的优缺点。鉴于答案,AVR似乎甚至都不值得一提。为什么在局外人看来,AVR越来越流行了?这是仅由于Arduino,还是因为其他因素使AVR成为特别优秀的微控制器?

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 


3
AVR-如何在Linux中对AVR芯片进行编程
我最近有一个AVRISmkII AVR程序员,并且我有一个ATtiny85和ATmega328。我想知道如何(与程序员一起)对这些芯片进行编程,但是当我尝试获取Atmel Studio 6时,它仅适用于Windows。有什么方法可以在Linux(特别是Ubuntu)中使用吗?蚂蚁建议?谢谢!
22 avr  linux  programmer 


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.