做了一个SPI与74HC595进行数码管显示, 但是在发送数据时,出现了一个怪事: SPI_CR1=0B11000110; SPI_CR2=0B11000011; SPI_ICR=0B00000000; SPI_DR=0x00; for(A=0;A |
从零开始操作STM8寄存器(风驰iCreate奉献)
【中文资料】初学STM8库函数的中文帮助软件
绝对经典的中文STM8学习手册,淘宝上学习板资料,友情大放送!
【原创教程】风驰iCreate独家开源STM8 27个例程和10多万字的pdf教程
STM8的LCD1602 4线驱动,为什么不工作
【精华资料】由零开始开发STM8
STM8S 的触摸库是如何在主程序中查询键的呢、
【精华资料】STM8的C语言编程1-14讲完整版
【精品教程】STM8系列单片机入门教程系列
STM8 第一次进中断不准【悬赏问答】
RE:STM8 SPI要延时
回复:STM8 SPI要延时
另外,74HC595频率可以达到100M,所以对STM8,应该是够了!
RE:STM8 SPI要延时
1、SPI时序没有掌握好
2、595没有进入接收状态
回复:STM8 SPI要延时
我试过,把波特率设到128分频,还是不行。
另外,74HC595频率可以达到100M,所以对STM8,应该是够了!
哥们你看手册了没,595的频率是根据使用的电压不同,频率就不同的。
我可没有看到频率能到 100M
还有你的时序一定要把握好。从你的这里看还是你的SPI设置有问题。
RE:STM8 SPI要延时
时序应该是对的,否则也不能收到正确的数据。
SPI的设置不知哪里不对,
能不能给个例子!
RE:STM8 SPI要延时
RE:STM8 SPI要延时
while(SPI_SR & 0x02 == 0);
仿真器当作无效处理,不知为何,
也就是说,当在发送数据时,也在执行其它的动作。
本来是要发完了再执行的,这样就不好办了
RE:STM8 SPI要延时
才会导致时序不对,
原因为:数据没有传送完毕,
程序已经往下执行了
不知道为会么标志位,会无效!
RE:STM8 SPI要延时
while(SPI_SR & 0x02 == 0); 修改为
while((SPI_SR & 0x02) == 0);