MCC118 搭配AD9833 無法運作

qoo 2020-12-30974 次点击
我預計由AD9833打出掃頻訊號 並由MCC118接收訊號
兩者分開執行是可行的,但當我將兩個程式碼放在一起時
跳出了 一個錯誤"Addr 0: Incorrect response -3"
即使我刪掉了AD9833相關程式碼 再執行一次程式 MCC118也無法執行了
但重開樹莓派後 MCC118又可執行了
以下附上AD9833的程式碼
--------------------------------------------
```
import gpiozero

class AD9833:

def __init__(self, data, clk, fsync):
self.dataPin = gpiozero.OutputDevice(pin = data)
self.clkPin = gpiozero.OutputDevice(pin = clk)
self.fsyncPin = gpiozero.OutputDevice(pin = fsync)

self.fsyncPin.on()
self.clkPin.on()
self.dataPin.off()

self.clk_freq = 25.0e6

def set_freq(self, f):
flag_b28 = 1 << 13
flag_freq = 1 << 14

scale = 1 << 28
n_reg = int(f * scale / self.clk_freq)

n_low = n_reg & 0x3fff
n_hi = (n_reg >> 14) & 0x3fff

self.send16(flag_b28)
self.send16(flag_freq | n_low)
self.send16(flag_freq | n_hi)

def send16(self, n):
self.fsyncPin.off()

mask = 1 << 15
for i in range(0, 16):

self.dataPin.value = bool(n & mask)
self.clkPin.off()
self.clkPin.on()

mask = mask >> 1

self.dataPin.off()
self.fsyncPin.on()

ad = AD9833(10, 11, 7)
while 1:
for f in range(10,10000):
ad.set_freq(f)
```
--------------------------------------------
在ad = AD9833(10, 11, 8) 這行
我已經避開MCC118使用的GPIO8

MCC118相關程式碼是參考官方範例程式小幅修改

請各位大神幫我解惑 謝謝!
收藏 ♥ 感谢
Spoony 小组长 2020-12-31 
看起来是 I2C 接口冲突了
建议将 AD9833 的逻辑用另一个树莓派来运行
qoo 2021-01-04 
可是AD9833是走SPI通訊 還是會相衝嗎?
那請問MCC118 有可以相容的 訊號產生IC 嗎?
用兩台樹梅派分開操作是下下策
謝謝!

登录注册 后可回复。

这里由以下店铺的技术人员在此免费提供能力范围内的技术支持。

NXEZ 创客商店(淘宝)

排障问题发帖注意事项:
1、请尽可能将故障说明清晰,列明例如使用环境和做了哪些操作和配置等。
2、排障中已经做了哪些尝试,如果能在问题中进行描述将极大提高解决问题的效率。
3、对于需要自身完成知识积累才能解决的问题,请自行通过搜索引擎寻找资料学习。