1 背景
2026年2月26日公司开会时候,另一个部门说要招STM32开发工程师。长期在公司发展的话,公司核心业务是必须要了解和学习的。于是,打算自学一下单片机开发。
偶然刷到江协科技STM32的视频,看得很懵。也注意到UP主的51单片机视频,听了一下都能理解,即是决定先学51单片机。
2 开始学习
学过点阵和定时器后,决定买开发板上手。开发板带的点阵只有8x8的,只能做贪吃蛇。接两个点阵的话,对我来说难度有点大(压根不懂硬件)。注意到普中A4套餐带屏幕,于是决定买A4然后开发俄罗斯方块的小游戏练手。规划是先做单机版的,然后用串口通信实现对战,最后做人机对战的。
3月6日23点多才定下来买A4,原先想着买A2单独买屏幕,毕竟江协的课程用的就是A2,后来才明白A2接屏幕得另外连硬件。幸亏没买A2,不然难度就太大了。
3月9日到货,晚上就开始试用。


3 运行Demo
遇到了好几个障碍,记录一下。
3.1 破解Keil5 C51
Win11系统会自动删除keygen文件,问元宝解决了。破解步骤,重新看的视频。
3.2 下载程序
3.2.1 STC ISP(V6.96)
运行教程自带的STC ISP(V6.86),下载程序没反应,还以为CH240驱动的问题(因为我没安装驱动,但是串口已经能看到了,Win11自带的)。升级了STC ISP到6.96,又问元宝又研究,才知道是A4的芯片和江协教程的A2不一样,普中A4的芯片得选"STC89C516RD+/LE516RD+"。也是这个时候才明白为啥我的A4跟教程中的A2不一样了,A4是开发板的版本,不是套餐的名称。也明白为啥A2不带屏幕元器件了,因为A2不支持呀。

3.2.2 STC ISP(V6.86)
后来看了普中的教程,发现STC ISP(V6.86)也可以,如下图:

不过6.86版本打开很慢。
3.2.3 PZ-ISP
普中自带的推荐软件PZ-ISP,找到不CH340串口,原因未知。
3.3 点亮LED
然后就顺利了,江协的2-1示例也运行起来了,只是LED灯的点亮也让我疑惑了很久。当时以为开发板不对,后来才想起来位0是点亮,位1是熄灭。
3.4 点亮LED点阵
点亮点阵的时候也费了点劲,看教程问元宝,A2板跟着江协教程就行,A4得换一下J24帽。


3.5 点亮屏幕
屏幕一直白屏,后来发现是排针没插到底。


4 新的认识
这段时间,我才真正明白了计算机图形用在哪里了。
读研时候自觉的计算机图形学,讲直线生成算法之类,当时学MFC做的练习。想着底层SDK都提供了画直线画圆方法,为啥要自己画。能想到的,也就是开发游戏引擎时候没法调用SDK画线,需要直接在内存里绘制。
现在才明白,单片机里没有底层SDK,就需要自己画。也明白了为啥有些岗位要熟悉Linux源码,因为单片机开发会用。