而且有多次的读操作发现读取的数据后移了一位,即前面一位丢失了。
从你这句很可能是你的格式不对! 调试时先用底速,不要有中断干扰! 其实3.3V的MCU的IO可以与5V的IC直连! 我是这样做的, 没什么问题, 只要没足高电平的最小触发电压就可以了! 只要你的MCU IO支持5V的就行了! 如NXP STM STC AVR的都有支持的! 如果要转换,用三极管是就简单而实用的方法了. 你这用5V的74LS244 就好了,参数表写只要2V输入就有高电平输出了, 但实际上有1V输入都有高电平输出了! 如果用74lvc244ad-3.3V电源,你要看5V的元件的输入要求了!
像SPI这种总线操作,它的读写时基不一样吧,分有上升沿与下降沿。还有就是读取操作时你要读回或写入数据的移位操作一般都在时钟跳变中移位。我猜你大概数据没有移位8次,少了一次吧。你只要严格按照spi操作时序写程序即可。。。。希望对你有启发
我做的项目也存在电平转换的问题,是关于SPI串口时钟电平的问题。从3.3V转换成5V,我利用两个三极管解决了,程序运行正常。不知道你的是不是和我的一致。 你的单片机没有SPI接口吗?难道还要模拟时序实现? 没有明白你的问题,可以找我聊下。
您好,这样的情况建议您可以升级到最新版本试一下,或是联系一下官网客服比较好。