熱門: 51單片機(jī) | 24小時必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時間: 2023-10-28 18:37
正文摘要:MXA5481為10位(0~1023)可編程數(shù)字電位器(10k) 看數(shù)據(jù)手冊,本覺得這個芯片比較簡單,就三個命令字: ①、cmd=0x00:設(shè)置中間抽頭位置 ②、cmd=0x20:將 ... |
cheney03 發(fā)表于 2023-11-9 11:25 不是非要分開,是一共要發(fā)16位,怎么發(fā)都行,但只有10位有效,而且必須按次序發(fā),原程序是一次只發(fā)八位,不過有效位沒發(fā)對 |
參與人數(shù) 1 | 黑幣 +10 | 收起 理由 |
---|---|---|
![]() | + 10 | 贊一個! |
glinfei 發(fā)表于 2023-10-31 11:38 還真是,按你的方法先發(fā)8位再發(fā)剩余2位測試成功。為什么不能連續(xù)發(fā)10位呢,要分開發(fā)? |
lksbbs 發(fā)表于 2023-10-30 15:26 要使用SPI模式,MAX5481_SPI必須置1,未通訊前,MAX5481_CS也是置1,圖(3)的Figure4時序圖,MAX5481_CLK也是置1的。但是Figure5 的時序圖MAX5481_CLK卻是置0,改過后數(shù)據(jù)也是沒成功寫入芯片。 |
xianfajushi 發(fā)表于 2023-10-30 07:43 有測過,L端接地,H端接+5V,W端懸空,改變W端(value的值),測量Vwl電壓只有十幾毫伏,并且數(shù)值不變 |
試一下如下代碼:
DIN的數(shù)據(jù)在CLK的上升沿被置入,看你的代碼可能第一位被吃掉了。 |
是不是哪個地方?jīng)]有配置對呀,或者是延時做的不對 |
void MAX5481_Init(void) { MXA5481_SPI=1; MXA5481_CS=1; MXA5481_CLK=1; 全部等于1 這里不對吧??? |
npn 發(fā)表于 2023-10-30 08:23 芯片用的是MAX5481,數(shù)據(jù)手冊自然看對應(yīng)的部分,這個不至于錯哈 |
數(shù)據(jù)手冊寫著MAX5481-MAX5484 你要搞清楚是什么型號。 |
不太懂,看看有沒有高手知道這問題。 |
大漠落日 發(fā)表于 2023-10-29 11:31 IC是新的,換了幾塊板都一樣,數(shù)據(jù)寫不進(jìn)去 |
不會是IC有問題吧 |
1、我覺得時鐘沒對準(zhǔn),可能還是第一個節(jié)拍問題,建議MAX5481_Write(),for之前先加上 MXA5481_CLK = 0; 2、int轉(zhuǎn)char我這是轉(zhuǎn)的底八位啊,如果是我的應(yīng)該MAX5481_Write(value>>2//一共十位先發(fā)8位 MAX5481_Write((value<<6)&0x00C0)// 再發(fā)剩余的兩位 3、另外,還建議如果懷疑IC壞了,直接用UP/DOWN模式操作一下試試唄。 |
Powered by 單片機(jī)教程網(wǎng)