Questions tagged «avr»

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

5
Linux AVR IDE的第一手经验
我正在寻找一些信息,以获取一个好的集成开发环境,该环境为Linux(Assembly和C)下的AVR编程设置。 我的研究为我提供了一些有限的AVR实践经验,但我担心我会变得有些生疏,因此想忙于一些项目,但也想坚持在Linux下进行所有开发。 我使用Ladyada的USBtinyISP,并且一直在使用AVRdude对芯片进行编程,但是还没有找到可以在Linux下运行的IDE,因此一直通过Windows lappie和AVRstudio进行编译。(这就是为什么我喜欢Arduino,良好的IDE并可以立即工作的原因!) 那么,有没有人拥有在Linux上使用IDE的第一手经验,并且从头到尾都成功地开发了AVR项目?

4
将ATtiny13编程为具有可变频率和脉冲宽度的音频振荡器
我想创建一个类似于555的简单方波振荡器,但是我想使用基于中断的PWM支持来控制脉冲宽度和频率。 我一直在研究数据表,AVR API和我能找到的任何PWM示例,但是我还不能完全将它们放在一起。 是否可以使用内置的AVR PWM功能创建这样的振荡器?如果可以,怎么做?我的一个朋友用8针PIC做过类似的事情。 我的理由是,通过更改脉冲宽度以及给定频率下的波形,我将获得有趣的声音。与Atari Punk Console的工作方式类似,但希望以更稳定的方式进行,即更改脉冲宽度,但保持频率恒定,反之亦然。
8 avr  audio 

2
为什么AVR代码使用位移位[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 在AVR编程中,通过将a左1移到合适的位位置来始终设置寄存器位-并用相同的补码清除它们。 例如:对于一个ATtiny85,我可以这样设置PORTB,b 4: PORTB |= (1<<PB4); 或像这样清除它: PORTB &= ~(1<<PB4); 我的问题是:为什么要这样做?最简单的代码最终是一团乱码。为什么将位定义为位位置而不是掩码。 例如,ATtiny85的IO标头包括以下内容: #define PORTB _SFR_IO8(0x18) #define PB5 5 #define PB4 4 #define PB3 3 #define PB2 2 #define PB1 1 #define PB0 0 对我来说,将这些位定义为掩码(这样)会更加合乎逻辑: #define PORTB _SFR_IO8(0x18) #define PB5 0x20 #define PB4 0x10 #define PB3 0x08 #define …
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.