历史上的今天
今天是:2024年11月09日(星期六)
2019年11月09日 | 关于STM32驱动点阵的问题整理及科研思维小酌
2019-11-09 来源:eefocus
之前用51单片机成功将5块级联的16*16点阵成功驱动,闲来无事,沉积内功,用STM32驱动这几个点阵,本觉易事,没想到点阵豆豆竟三天耍脾气,不配合。一筹莫展之际,和别人聊微信,顺手掐断了豆豆的VCC,GND,惊呼哇塞,预期效果。真是无心插柳柳成荫。正预深入测试下去,停电,兴奋若狂,迫不及待,莫非上帝知道问题要揭晓了,急了,连断电的招都使。停电两小时,由缺VCC可正常显示,加VCC反而不亮,已推断出问题范围。入夏的夜,和豆豆玩到10点半,终把豆豆抱。
硬件配置:MCU :STM32,工作电压3.3V; 驱动芯片74HC595; 16*16点阵:五块
问题一:.点阵上电不亮,掉电正常显示
答:74hc595工作电压选择出现问题,输入电平与工作电平不匹配。
74HC595是CMOS芯片,工作电源电压是2V~ 6V。如果MCU的VCC是5V供电,则74可以是5V供电;若MCU是3.3V供电,则74也选3.3V,当74选5V时,因为3.3V的MCU输出高电平最大为3.3V,而此时74要求的输入高电平最小为3.5V,很明显MCU引脚达不到,会出现逻辑混乱,达不到输出效果,点阵不亮。
故障排除,将74HC595的VCC由5V接3.3V电平,因为MCU的VCC为3.3V。
问题二:.点阵屏的74H595不接VCC也正常显示,只是亮度低一些
答:74HC595等的VCC与GND之间有滤波电容,当MCU工作时,可以通过IO口传输数据时为这些电容充电,又IC引脚一般设计有箝位二极管,可阻碍电流流出,电容放电为74等IC供电,故可以正常显示,但亮度不够。该原因类似于单总线技术中的寄生电源供电方式。建议IC加独立VCC,按规矩来。
至于因时序,刷新频率导致的问题,按照相关手册要求解决即可。
花了三天悠哉悠哉的找不出问题,方向一对,三个小时,相关问题全部迎刃而解。再一次,体会到科研的绝妙之处,体会到长时间解决问题的快乐与兴奋。
(1)提出问题远比解决问题更有意义,提出一个高质量的问题,代表一个高质量的结果。虽然解决问题的过程很复杂,但解决问题总是1后面的0。科研,许多时候,不是难在解决问题上,而是非预期结果出现后,找不到原因。有时靠碰巧解决问题,有时靠现象反推问题。所有的努力都是为了在一堆猜想中,一个一个排除,一个一个具体。寻找问题的过程是漫长与繁琐的,但也因此当问题找准,系统性前进的时候,那种喜悦与快乐才是醉人的。
(2)动手实践中,应该培养忙找问题的经验。电路实验中,经常会因串扰而出现不确定性,这若干种不确定性中,包含着我们需要的那一种结果。所以,我们可以经常有意无意的用手弹弹信号线,上上电,断断电,只要我们期待的效果出现一次,就可以排除许多种猜想,加快问题解决。
人生而有涯,而学海无涯,谦虚务实,严谨乐观,胆大心细,孜孜问道。
史海拾趣
|
我有一颗芯片 ip210w由 8051内核和一个MAC组成 芯片手册有一句话:CPU starts up and runs instructions at address 0xFFFD of external Flash. 就是这句话把我郁闷了好久,怎么烧程序都不行。CPU都跑不起来。 请教高手如何让我的CPU跑起来,谢 ...… 查看全部问答> |
|
不能捕捉到CArchiveException 请各路英雄指教 大家好, 最近我遇到一个问题,在我的应用程序中(MFC工程), 里面有一句代码,是对文件读写的,如果这儿有一个空文件(里面什么内容也没有), 但我们又对它进行了读操作(调用CArchive >>进行读出),那么这儿一定会有个 CArchiveException异 ...… 查看全部问答> |
|
各位仁兄: 1:我是在wince6.0 开发板是友坚的S5PC100 2: 由于项目需要想把调试串口改为普通的串口来使用 3:请问各位大侠指教 4:我自己把SMDKC100.bat里面的 set BSP_DEBUGPORT=SERIAL_UART0 隐去,把UART0加载,编译可以通过 ...… 查看全部问答> |
|
在分区的时候 假如我的FLASH有 2M 我希望分成三部分 1920KB 64KB 64KB 我的map文件如下: static struct mtd_partition fir ...… 查看全部问答> |
|
1、开始我使用的共享MFC库出错,后来我使用的静态MFC库,不出错了,,,但我在PB里已经向目标板加上了MFC组件,不知道为什么出错 2、我生成的EXE文件里如果有中文会显示乱码,不如应该如何解决 先谢谢了… 查看全部问答> |
|
设置P5.2为输入, 接VCC, P5DIR &= 0xFB;后,P5IN是0x00!怎么办? 也就是说P5.2在输入模式情况下,并且接了VCC, 应该在P5IN变量和P5.2对应的比特位上读入1才对啊? 我用电压表量过,P5.2引脚上的电压就是VCC高电平,可是为啥P5IN会是0x00呢? 除了是芯片坏了,还有别的情况吗?那位大侠碰到过这种事情?… 查看全部问答> |
|
今天调试板子,发现无法连接。第一个想到的是电源电压(焊DSP之前有测过电压都是对的)。 把所有的电容测了,发现RTS管脚处,用了一个RC 滤波电路。C上电压变成2.75V。去掉电容,DSP可连接。 将原本的4.7K,电阻换小后,电压上抬到3V左右。DSP工 ...… 查看全部问答> |
|
我想用泰勒级数来逼近正弦函数sinx,然后在ccs里编程如下,可是出现了错误,搞了很久,不知道怎么解决,希望得到帮助。。。 while(1) { double x,y,A,B,C,D,E; double i; for(i=0 ...… 查看全部问答> |




