
本帖最后由 伸手不及放手为空 于 2018-1-15 10:49 编辑 目前使用一款MCP4728芯片,但他只有4个通道,而我需要扩展到8通道,也就是要在添加一个芯片,此时便需要对其中一片重写地址。 如下方图所示,需要在其第2字节第8位之后和ACK之前,将LDAC置0 那么现在的问题是倘若程序为: //上方程序省略 while(!I2C_CheckEvent(I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)); I2C_SendData(0x61); //第2字节 GPIO_WriteLow(GPIOC,GPIO_PIN_3); while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED)); //停留此处,不再向下执行 I2C_SendData(0x66);//第3字节 //下方程序省略 那么第2字节数据发完后,将LDAC引脚置0,此时其ACK便会被影响,程序卡住。若GPIO_WriteLow(GPIOC,GPIO_PIN_3);这一句不写程序正常向下执行。请问有什么办法能使发送完第8位数据后,同时LDAC置0,而不影响ACK。 望大神们能指点一二。 ![]() ![]() |
STM8S003无法检测到引脚电平
STM8 @svlreg 问题
STM8AF62XX+L99PM62GXP LIN通讯的电路原理图有吗?官网提供了一套软件,没找到对应的原理图,请大家指教一下
求一个STM8S207例程
初次接触STM8,请问在STVD中,为什么这个Struct会报错
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
现在有个问题,你的“I2C_SendData(0x61); //第2字节”,这行程序执行后,到了第几位了?
LDAC必须到第8位正脉冲结束之后,并且在第9位的ACK位时钟拉高之前,由高置低才行。
建议用示波器看一下真实波形,到底LDAC在哪位来的?
可以先读一下地址看能不能行,如果读不行的话,写肯定更不行了。
这是从Microchip官网下载的手册
评分
查看全部评分
读地址,获取数据
写地址,写地址数据;
评分
查看全部评分
建议使用示波器,看看波形是否正确。
评分
查看全部评分