问题标签 [avr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
1456 浏览

c - 1k 的程序空间,64 字节的 RAM。1线通讯可以吗?

(如果您的懒惰请参阅TL;DR的底部)

您好,我正计划建立一个处理物理计算的新(原型)项目。基本上,我有电线。这些电线都需要同时读取它们的电压。每根电线的读数之间超过几百微秒的差异将完全搞砸。Arduino 大约需要 114 微秒。因此,在延迟会影响读数的准确性之前,我最多可以读取 2 或 3 根线。

所以我的计划是让一个 Arduino 作为一系列 ATTinys 的“主人”。arduino 的空间非常狭窄,但与 tinys 相比,它是一个巨大的游乐场。ATTiny13A 有 1k 的闪存 ROM(程序空间)、64 字节的 RAM 和 64 字节的(非耐用且慢速)EEPROM。(我选择这个是因为价格和尺寸)

我系统中的 ATTinys 不会做太多事情。基本上,他们所要做的就是等待来自主控的信号,然后读取 1 或 2 根线的电压并将其存储在 RAM 中(或者可能是 EEPROM,如果它那么狭窄的话)。然后仅使用 1 根数据线将其发送给主站。(没有更多空间!)。

到目前为止,我所要做的就是实现简单的电压读取代码(使用内置 ADC)。但我担心这个沟通位。您认为通信协议(仅使用 1 根线!)甚至可以在这样的约束下实现吗?

TL;DR:在不到 1k 的程序空间和 64 字节的 RAM(和 64 字节的 EEPROM)中,您认为有可能实现 1 线通信协议吗?我需要去组装以使其适合吗?

我知道目前我链接到 Wiring 库的 Arduino 程序超过 8k,所以我有点担心。

0 投票
4 回答
5618 浏览

embedded - 使用 SPI 初始化 SD 卡

我看到了很多关于 MMC/SD 卡的信息,我试图创建一个库来阅读这个(修改Procyon AVRlib)。

但是我这里有一些问题。我没有更改原始代码并在这里尝试。我的问题是关于 SD 卡的初始化。我这里有两个,一个 256 MB,另一个 1 GB。

我按以下顺序发送初始化命令:CMD0、CMD55、ACMD41 和 CMD1。

但是 256 MB SD 卡只为每个命令返回一个 0x01 响应。我多次发送 CMD1,256 MB SD 卡总是只返回 0x01,从不返回 0x00。

1 GB SD 更疯狂... CMD0 返回 0x01。很好,但是 CMD55 命令以 0x05 响应。有时它会以 0xC1 响应,有时也会在下一次交互中以 0xF0 响应 0x5F...

网上有资料和例子,但有点混乱。在我的项目中,我必须使用 1 GB 卡,并且我正在尝试使用带有 SD 适配器的 microSD 卡(我认为这不是问题)。

我该如何解决这个问题?

PS:我的问题类似于 Stack Overflow question Initializing SD card in SPI issues 中的问题,但解决方案并没有解决我的问题。1 GB SD 卡永远只返回 0x01... :cry:

0 投票
3 回答
965 浏览

microcontroller - 8051微控制器套件推荐?

我是一名计算机科学专业的一年级学生,希望开始开发微控制器。我想用8051,因为它很常见,在现实世界中也经常使用。

在我大三或大四的时候,我将参加一个基于 PIC 微控制器的嵌入式设计课程,所以我现在宁愿不做 PIC;否则,我在那门课上会很无聊。

我看到的大多数商业套件都是用于 AVR 或 PIC 系列微处理器的。我只是在寻找具有体面的开发工具、文档和足够的附加组件的东西,以让我的新手在夏天保持忙碌。

对 8051 系列套件有什么建议吗?谢谢!

0 投票
3 回答
2176 浏览

avr - AVR JTAGICE mkII

原装 Atmel jtag 编程器售价 300 美元。

http://www.atmel.com/dyn/products/tools_card_v2.asp?tool_id=3353

http://search.digikey.com/scripts/DkSearch/dksus.dll?site=us&lang=en&mpart=ATJTAGICE2

你推荐我哪个克隆?它们是 100% 的克隆吗?(与 avr studio、相同的 fw 等合作)

谢谢。

0 投票
2 回答
1457 浏览

avr - 使用 USART 将 avr atmega32 连接到移位寄存器?

我想通过 TXD 引脚使用 USART 将 ATMEGA32 微控制器连接到移位寄存器,然后移位寄存器对接收到的数据执行串行到并行转换。但如您所知,移位寄存器需要时钟,此时钟通过微控制器通过 XCK 引脚以波特率频率馈送(此处 USART 充当主同步时钟发生器)。我的问题是我不知道如何从 XCK 中获取这些时钟信号,那么该怎么做呢???

谢谢

0 投票
5 回答
1261 浏览

c - 为什么 avr-gcc 在调用 main() 时会费心保存寄存器状态?

avr-gcc 程序中的 main() 函数将寄存器状态保存在堆栈上,但是当运行时调用它时,我知道在微控制器上没有任何东西可以返回。这是浪费内存吗?如何防止这种状态保存?

0 投票
8 回答
2822 浏览

c - C 变量变量

在 PHP 中,我有类似的东西

有没有办法在 C 中做类似的事情?

基本上,我试图弄清楚如何制作一种库,以便更轻松地使用 AVR 上的 IO 引脚。因此,例如,将有一个功能可以将特定引脚设置为 OUTPUT。AVR 中的那个引脚是 PORTB 的一部分。将它设置为输出并给它一个值需要我引用DDRBPORTB常量并设置它们的值。而不是经历所有这些,我希望能够调用一个函数,例如SetMode(Pin #, Mode);. 我只是不知道该怎么做。

0 投票
2 回答
3612 浏览

embedded - avrdude 和 atmega48pa

我可以用 avrdude 对 atmega48pa 进行编程吗?我的签名有问题...

我在 /etc -directory 的 avrdude.conf 中添加了一些新行

但现在我又遇到了一个错误


编辑 - 1

这里有一些带有“-vvv”的调试信息:

问题

有人可以帮我刷一个 atmega48pa aith a avrispmkii

0 投票
1 回答
158 浏览

hardware - 什么是/在哪里可以找到有关“HI2COUT”的更多信息

期待用 ATtiny13A 对 MCP23017 的 I2C 接口进行 bit-bang,很多地方都提到 HI2COUT 作为在 I2C 总线上发送数据的一种方法,但我不知道这是否是语言或库的一部分,甚至是描述调用时会发生什么。所以问题:

1) 我在哪里可以获得关于 HI2COUT 的信息?

2)如果有人曾经与 MCP23017 接口,您能否发布正确的序列以将 1 个(或所有)引脚设置为输出并设置为高电平?(这包括开始、写入地址、写入寄存器 IOCON、...、停止等...)

3)如果有人知道更适合此问题的站点(或可能有答案)请告诉我。

0 投票
7 回答
5090 浏览

c - 嵌入式处理器的快速斜边算法?

是否有一种聪明/有效的算法来确定角度的斜边(即sqrt(a² + b²)),在没有硬件乘法的嵌入式处理器上使用定点数学?