STM32 控制数码管显示问题
目前我这里有STM32 CPU 控制一片74HC595来控制数码管的片选,另外一片74HC595控制数码管的段数据,硬件上两片595和MCU在两块电路板上,两个电路板用排线连接,两片595共用时钟信号和数据角,是能引脚RCK单独使用不同的MCU管脚控制,程序写好后发现,单不调试时候数码管可以正常显示我需要的显示的数据,但是一旦程序快速执行则不能正常显示或者显示乱码,有没有大神遇到这种情况?因为排线连接MCU和595的SCLK 、RCK、SI(信号引脚)三个管脚,我在想会不会是因为距离的原因呢?但是我的排线才20多厘米?程序如果有问题可是单步执行又可以,有点想不通,跪求大神给点意见
会不会是时钟信号不同步? 只要原理图没问题,放心使用 zhao.zhao 发表于 2019-3-24 15:00
只要原理图没问题,放心使用
595的时钟信号、数据信号,片选信号可以任意选择STM32CPU的任意IO口管脚对吧 只要不是特殊引脚(JTAG),都可以用 zhao.zhao 发表于 2019-3-24 16:02
只要不是特殊引脚(JTAG),都可以用
我下载用swd模式jtag为啥不能用呢? 我现在正好就是jtag脚 斯文人 发表于 2019-3-24 21:50
我下载用swd模式jtag为啥不能用呢? 我现在正好就是jtag脚
JTAG脚可以用作普通IO,只要禁止JTAG,只开SWD就可以调试下载了。
每个IO操作之前必须加延时;不加延时的话,各IO的时序输出关系一定出错。
用示波器功逻辑分析仪看一下你全速跑时的波形。 用595好象不太合适。。。。。尝试使用下573吧 SWD模式只要2个引脚,JTAG模式有6-7个引脚(包含了SWD模式下的2个引脚),所以只要PA13/PA14/这2引脚不用即可。 GND信号是否连接良好,因为是TTL信号,看你的板级之间的通信速率大小,太快了应该会有影响 结贴,原因找到了,是因为硬件上片选595的RCK使能引脚连接的有光耦,光耦导通频率低于我的主循环快跑刷新频率,所以当给程序中加上很大的延迟时候就可以正常工作,不加延迟快速运行,光耦速度达不到就出现乱码 stm32不能推74hc595,应该用hct,电平不一致。解决方法: hc595的5v供电串一只二极管,这样就能正常驱动了。
页:
[1]