This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我是 SPI 协议的初学者、我想控制 DAC60508。
我用"spidev"库编写了 python 脚本、DAC 在 SPI 的默认引脚中与 Raspberry PI 连接。 (在 rasberry OS 中正确激活 SPI 协议)
import spidev import time spi = spidev.SpiDev() cs_port = 0 spi.open(0, cs_port) spi_max_speed_hz = 100000 spi.mode = 0 # This function because the MSB is right aligned def ReverseBits(byte): byte = ((byte & 0xF0) >> 4) | ((byte & 0x0F) << 4) byte = ((byte & 0xCC) >> 2) | ((byte & 0x33) << 2) byte = ((byte & 0xAA) >> 1) | ((byte & 0x55) << 1) return byte def write_data(addr, data1, data2): spi.writebytes([addr, ReverseBits(data1), ReverseBits(data2)]) def change_cs(): spi.cshigh = not spi.cshigh if __name__ == '__main__': # The main script spi.cshigh = True time.sleep(1) write_data(0x2, 0, 0) # Write in SYNC change_cs() time.sleep(1) change_cs() write_data(0x3, 0, 0) # Write in config change_cs() time.sleep(1) change_cs() write_data(0x4, 1, 0) # Write in GAin (1 everywhere) change_cs() time.sleep(1) change_cs() write_data(0x5, 0, 0) # Write in Trigger change_cs() time.sleep(1) change_cs() write_data(0x6, 0, 0) # Write in Broadcast change_cs() time.sleep(1) change_cs() write_data(0x7, 0, 0) # Write in Status change_cs() time.sleep(1) change_cs() write_data(0x8, 184, 11) # Write 3000 in dac0 time.sleep(1)
使用此代码时、不会发生任何情况。 我想我逐点阅读文档...
您好、感谢您联系 E2E。
请分享您的硬件原理图/测试设置。 ,每个电源轨的电压轨?
2.您是否能够根据您的代码获得 SPI 波形? 共享范围快照
3.我们不能支持对脚本进行 python 检查,但我们可以查看您的原理图并查看您的伪代码。