历史上的今天
今天是:2025年03月10日(星期一)
2020年03月10日 | 关于软件I2C与MSP430通信的问题
2020-03-10 来源:eefocus
在MSP430作为从设备,主机模拟软件I2C与MSP430通信的时候,一定要注意在发送了8个bit的数据之后,马上将SCLK释放掉。因为MSP430在繁忙的过程中会将SCLK拉低,空闲后才将SCLK释放。所以主机应该先将SCLK交给MSP430,等读到SCLK被MSP430释放后,再发送时钟来接受ACK。
对于主机从MSP430读数据的时候也是一样,每次读完了一个字节的数据之后,主机都应该释放掉SCLK,等待MSP430也释放掉了SCLK之后,主机再发送ACK给MSP430。
上面一段理解错了,从MSP430读取数据时不需要释放SCLK,而需要在每次读完8个字节之后延时一段时间再发送ACK,等待MSP430处理完毕。
主机从MSP430读取数据时,每读一个字节,主机都要向MSP430发送一个ACK,通知MSP430已经接受完整个自己,可以发送下一个字节。当主机读完最后一个字节的时候,就不应该发ACK,而应该发NO_ACK了。因为通过发送NO_ACK,MSP430就知道主机要读的数据已经结束了,就会停止发送数据。
上一篇:MSP430的低功耗探讨
史海拾趣
|
__asm__(\"ldw 0(%0), %%r0\" : : \"r\" (addr)); 就这段代码,是从内核中拿来用的。 20 21#define ARCH_HAS_PREFETCH 22static inline void prefetch(const void *addr) 23{ 24 &nbs ...… 查看全部问答> |
|
PLC 西门子 S7-200 PLC经过PID调节,输出变频器的频率控制容器压力。 现在想在升压的过程中,让压力值按照正弦曲线上升,如何编程?请给个思路。… 查看全部问答> |
|
CE下USB-WIFI模块必须启动CE以后拔插一下才能使用... WIFI是VT6656模块.USB接口的.重新编译NK.bin,添加注册表,烧写进目标,启动机器.插上USB网卡..一切OK...但是问题是如果已经插好USB.启动系统.就没反映了.必须要拔插一下才能识别硬件..CE系统是启动以后才会给USB分配中断么?..我试验了一下USB鼠标倒是 ...… 查看全部问答> |
|
手里有块利尔达的msp430F2274板子,板子上有个并行接口,也提供了并口线。应该可以通过电脑从并口下载程序,但是在debug这步出现了问题,提示:初始化失败,让检查硬件是否连接,检查驱动是否安装,还有重启电脑什么的。我都试过了,硬件连接肯定 ...… 查看全部问答> |




