问题标签 [spi]
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.
microcontroller - 微控制器到微控制器 SPI 通信
我正在阅读,甚至在我的微控制器上得到了一个“主”SPI。这是我的问题,基本上如果主机想要初始化写入我们写入 SSPBUF 的从机,我们如何控制从机响应什么?在这种情况下,数据表对我来说似乎并不清楚事件的顺序。
IE Master 将一个 char 放入 SSPBUF,这会启动 SPI 模块向从机发送数据,在移位期间,从机返回一个字节。
在从端,有没有什么东西告诉你有传入数据,你可以先写入你的 SSPBUF,然后接受数据?
或者
在主设备有机会发起传输之前,您是否必须向 SSPBUF 写入您想要发回的第一个“返回值”?
embedded - 将 SD/MMC 卡置于 SPI 模式时,CS 可以在字节之间变高吗?
我有一个微处理器,卡的芯片选择 ( CS
) 线连接到由 SPI (SSP) 电路自动驱动的“帧”信号。这导致CS
每个字节之间变高。
MMC/SD 规范要求CS
保持低电平才能进入 SPI 模式。是否需要一直保持低电平,还是仅在传输每个字节时才需要CMD0
?
c - 如何使用 libftdi v0.18 闪烁 LED?
是FT2232D芯片,LED接BDBUS6。
该库的文档比我想的要少(虽然比 FTDI 自己的库更好,但它甚至不适用于现代内核),我能找到的唯一示例代码使用了一个不推荐使用的函数(我试过了,它没有似乎工作),我完全被难住了。
我越努力尝试这件事,它似乎就越困难。我不是在找人帮我做作业,我只需要朝着正确的方向轻推。任何帮助表示赞赏(甚至是推测性的)。
更新:我一直在尝试这个,虽然 ftdi_enable_bitbang() 已被弃用。以下代码编译,它运行时没有呕吐,但没有blinkenlighten。相关设备的示意图可在http://www.semtech.com/images/datasheet/sx1211ska_v1_std.pdf第 23 页获得。BDBUS6 和 BDBUS7 连接到 LED。
c - SPI头文件
我需要 SPI 头文件,所以我可以为两个 PIC24FJ64GA002 编写一个 SPI 主机和从机。我有一个,但我不小心删除了它。请有人给我一个链接以下载标题。有急事就尽快。
c - 如何让用户在我的库中提供自己的功能?
我正在为 AVR MCU 编写一个静态库。我正在使用 avr-gcc 和 AVR Libc。一些库函数使用 SPI 与设备通信。然而,SPI 通信在所有 AVR MCU 上的完成方式不同(并非所有 AVR MCU 都具有相同的相关寄存器)。它甚至可以通过大爆炸来完成。因此,我希望用户为其特定应用程序提供自己的 SPI 例程。
我怎样才能做到这一点?所有库函数都应该将回调函数作为附加参数吗?我应该在库中使用一个全局变量作为 SPI 处理程序吗?我应该将函数设为外部(使用extern
)吗?
谢谢,
usb - USB转SPI转换器
我有一个使用 SPI 进行通信的芯片,想将它直接连接到我电脑上的 USB 端口。有人有使用 USB 转 SPI 转换器的经验吗?有什么建议吗?网络上的快速搜索显示
http://www.robotshop.com/devantec-usb-i2c-spi-serial-interface.html
c - C - 在 SPI 模式下初始化 SD 卡,总是读回 0xFF
我正在尝试使用 SPI 接口在Cypress PSoC 5 上初始化 2 GB SanDisk SD 卡。我正在使用来自FatFs - Generic FAT File System Module的示例位敲击代码。我已经分析了逻辑分析仪上的接口(请参阅 参考资料)。问题是 SD 卡的数据输出线总是很高,我应该从 card init 命令返回一个 0x01。但是,SD 卡在 PC 上可以正常读取。我正在使用的代码如下,可能是什么问题?
我正在使用来自http://ucontroller.com/documentation/SDCardDoc.html的 SD 插座。
android - Android 硬件开发套件?
我面临着为 Android(OS 2.3 和 2.4)编写驱动程序以通过 SPI 或 I2C 与传感器芯片接口的任务。
该设备最终将用于基于 Intel Medfield 或 Qualcomm 8 系列平台的 Android 智能手机。
我假设我不必担心自己实际编写 SPI 或 I2C 驱动程序,对吧?您知道我可以使用的任何当前适用于 Android 的 SPI 或 I2C 驱动程序吗?
我还需要找到一个允许我访问 SPI 或 I2C 总线的硬件开发套件。你有什么推荐的,我可以在哪里找到一个合适的套件,它代表了当前 Android 智能手机中常见的硬件?
c - 在 PIC32 上通过 DMA 接收 SPI 数据
我知道这个话题(DMA 和 SPI)已经在 microchip 论坛的许多线程上讨论过了,实际上我已经阅读了关键字“dma”的所有 15 页搜索结果,并阅读了所有关于 dma 和斯皮。
而且我仍然坚持我的问题我希望有人可以帮助我:)
这是问题所在。
我的芯片是PIC32MX775F512H。我正在尝试通过 DMA 使用 SPI 接收(仅接收)数据。由于您不能“仅”在 SPI 中接收,并且 SPI 内核只有在您写入 SPIBUF(对我来说是 SPI1ABUF)时才开始切换 SPI 时钟,我正在尝试使用 2 个 DMA 通道接收我的数据。DMA_CHANNEL1 用于发送部分。接收部分的 DMA_CHANNEL2。
我从http://www.microchip.com/forums/tm.aspx?tree=true&high=&m=562453&mpage=1#复制粘贴代码
并试图让它在没有任何运气的情况下工作。它只接收几个字节(5 或 6)。
我已将两个 dma 通道的事件启用标志设置为 DMA_EV_BLOCK_DONE,没有发生中断。
你有什么主意吗 ?
这是我正在使用的代码:
使用这两个中断处理程序:
所以我最终在这条线上永远等待:while(!DmaRxIntFlag);
我在中断向量中放置了断点,它们永远不会被调用。
这是永久等待期间几个寄存器的状态:
DMACON 0x0000C800
DMASTAT 0x00000001
我使用的是 SPI1A 端口,所以 SPI1ABUF 和 _SPI1A_RX_IRQ
DCH1SPTR 0x5
DCH1SSIZ 0x2B
DCH2DPTR 0x6
DCH2DSIZ 0x2B
DCH2CON 0x00008083
DCH2ECON 0x1B10
DCH2INT 0x00800C4
DCH2SSA 0x1F805820
DCH2DSA 0x00000620
通道 1 用于发送
通道 2 用于接收
arduino - 带有 HID 阅读器的 Arduino 上的 SPI
我正在构建一个使用 HID OEM75 作为锁定机制访问点的项目。我们通过 Arduino Duemilanove (ATmega328) 进行控制。我们正在与SPI合作以提供安全性和(显然)支持。(我意识到任何 RFID 芯片的安全性都很弱。)
我目前正在努力通过 SPI 从读卡器接收字节。
读卡器处于自主读取模式,这意味着它读取卡,向 Arduino 发送信号(通过卡存在线,与 SPI 分开),这告诉 Arduino 将 Slave Select 线拉高以激活从读卡器。这是我遇到麻烦的地方,我不明白如何让 Arduino 简单地读取来自读卡器的字节而不向读卡器发送任何命令字节?
默认命令结构 SPI.transfer(0x00) 发送一个字节(在本例中为虚拟字节 0x00),然后从源接收一个字节,但由于我们的源是自主运行的,它不会接受虚拟字节(这实际上会扰乱它的操作)。
简而言之:我们如何使用 Arduino 的 SPI 库在不从主源发送字节的情况下从从源接收一串字节?