问题标签 [microcontroller]

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 投票
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 回答
3911 浏览

ide - ATMega32 微控制器编码使用哪个 IDE

我参与了一个需要设计迷你探测器(火星探测器类型)的项目。我正在使用 ATMega32 微控制器。我还有其他硬件,如直流电机、红外传感器等。我的问题是有没有可以用来对微控制器进行编码的 IDE?它必须是用户友好的,因为我是微控制器编码概念的新手,而且它必须有模拟器。我确实在网上查了它,但是与它相关的术语太多了,最后把我弄糊涂了。我认为一个简单的 IDE 可以编写代码,使用模拟器对其进行测试就足够了。有什么建议么?

0 投票
5 回答
478 浏览

microcontroller - 图片问题..~

我目前正在我国家的一所当地大学攻读软件工程课程。我对软件和硬件很感兴趣。所以我决定自学。我的一位前辈告诉我先从 PIC 16 或 18 开始。这里有人有相关网站的链接吗?除了 ebay,我在哪里可以得到一个设备来对 PIC 进行编程?提前谢谢。

0 投票
1 回答
7643 浏览

assembly - 是否有任何工具可用于将 PIC 16F877A 的 ASM 转换为 C

我想将 ASM 文件转换为 C 程序。有没有可用的工具。我的意图是将 PIC 16F877A 程序的汇编程序转换为 C 程序...

0 投票
3 回答
965 浏览

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

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

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

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

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

0 投票
1 回答
729 浏览

windows - Windows 上的 LPT 控制

我进入新项目,应该使用微控制器。最简单的编程方法是使用并行端口。但是,有几件事我希望你能帮助我。哦,首选语言是 C 和平台 Windows。

所以,我对 LPT 端口和 Windows 进行了一些研究,从中学到的最重要的一点是:由于基于 Windows NT 的系统,您不能使用指令来直接操作端口。应该是这样,因为现在程序运行在不同的特权模式下,不支持outport()函数使用的那种指令。

但在这一点上,我不明白一些事情。首先,我认为 Windows 自第一个保护模式版本以来实际上使用了特权级别,但这是错误的假设。

但更重要的是,我认为 Windows 包含了几乎所有硬件通信的功能。我的意思是,这些天你在 Windows 中所做的任何事情,你只需要调用进一步调用内核服务的 Windows 函数。我假设它outport()不使用任何 Windows 功能,只是进行通信本身,现在是禁止的。但令我震惊的是,在现代 Windows 系统中没有控制并行端口的系统功能。至少我是这么读的。

但是即使我可以控制并口,我的第二个问题也随之而来。为了对控制器进行编程,我需要遵循特殊的协议,尤其是时序。但由于 Windows 是多任务的,我担心如果调度程序切换到另一个应用程序会怎样,因此何时是在 LPT 上切换信号的正确时间,我的程序将无法运行。

哦,顺便说一句,我知道我可以使用任何 3rd-party 应用程序,但我只是希望自己能够做到,或者至少在我使用一些 3rd-party 应用程序之前,我想知道它是如何工作的。是的,你可以通过带有一些电阻的并行端口对一些微控制器进行编程,我肯定知道这一点。

谢谢。

0 投票
4 回答
2288 浏览

microcontroller - 微控制器到微控制器 SPI 通信

我正在阅读,甚至在我的微控制器上得到了一个“主”SPI。这是我的问题,基本上如果主机想要初始化写入我们写入 SSPBUF 的从机,我们如何控制从机响应什么?在这种情况下,数据表对我来说似乎并不清楚事件的顺序。

IE Master 将一个 char 放入 SSPBUF,这会启动 SPI 模块向从机发送数据,在移位期间,从机返回一个字节。

在从端,有没有什么东西告诉你有传入数据,你可以先写入你的 SSPBUF,然后接受数据?

或者

在主设备有机会发起传输之前,您是否必须向 SSPBUF 写入您想要发回的第一个“返回值”?

0 投票
4 回答
6241 浏览

c - 为微控制器编写设备驱动程序,在哪里定义 IO 端口引脚?

在为 MCU 编写低级代码时,我似乎总是遇到这种困境。我永远不知道在哪里声明引脚定义以使代码尽可能可重用。

在这种情况下,我正在编写一个驱动程序来将8051连接到MCP4922 12 位串行 DAC。我不确定我应该如何/在哪里声明 DAC 的CS(芯片选择)和LDAC(数据锁存器)的引脚定义。目前在头文件中声明了驱动程序。

我做了很多研究试图找出最好的方法,但还没有真正找到任何东西。

我基本上想知道什么是最佳实践……如果有一些值得一读的书籍或在线信息、示例等,欢迎提出任何建议。

只是驱动程序的一个片段,所以你明白了

0 投票
4 回答
19369 浏览

embedded - PIC的十六进制反编译器

我遇到了 PIC Micro 控制器的问题。

我有一个很久以前编写的微控制器,我丢失了相关的源代码和原理图。现在我需要反转端口的值。我可以使用一些非门来做到这一点,但这样做很麻烦。或者,我需要将整个程序写回去。

我不希望在 PIC C 或 MikroC 中看到代码。拥有可理解的汇编代码就足够了。

那么有人对我可以用于此目的的优质 HEX 反编译器有任何经验吗?根据你的经验有什么意见吗?:)

编辑:设备 PIC 16F84A

0 投票
1 回答
834 浏览

printing - 用动态 C 语言从文本文件中读取

我正在使用兔子微控制器。它使用 Dynamic C 语言。

如何从 PC 中读取文件并对其进行操作或将其打印到屏幕上?

C 或 C++ 方法在这里不起作用。