VID_20240426_154143.mp4 点击下载
好多好多的APP,都可以放在一个spiflash里供加载了。要是STC的实验箱或者学习版来一个这个,例程全家桶的程序文件都可以直接丢进去了。
大大拓展了物理空间,仗着超长寿命硬是把内部64KFLASH直接当RAM使了。。(什么时候STC能在内存里跑程序啊!!!)
这是专为STC8h8k64U写的bootloader,大小10K左右。通过它能实现以下两个独特的功能:
1:程序的动态加载,可以选择你想要APP加载并运行。
2:不依赖任何第三方软件的USB下载(进入下载模式后电脑会显示出来一个优盘,把编译好的HEX/BIN文件直接拖到优盘里,APP就下载好了)
3:HEX/BIN通吃,自带HEX转码烧录。因此连HEX2BIN程序也免了
硬件部分仅需OLED屏,psiFLASH和一些按键就好了
实现方式大家估计已经猜到了吧
首先,读FLASH和IAP肯定得有。通过IAP,把APP程序从spiFLASH搬到单片机FLASH里然后调转运行的基本功能就实现了。
其次,写入FLASH也得有。既然能连电脑模拟成U盘,那肯定有USBMSC。官方例程就有这个。到了这一步,电脑至少可以写FLASH了吧,可惜走文件系统了话写进去的东西单片机不能识别。
要是能用FAT解析一下FLASH里的内容就好了
(这里特别说明,Windows识别磁盘的文件FAT类型不是依靠DBR里的对应字节,它其实只看磁盘总容量,小于8M就只能格式化成FAT12了。鉴于大家使用数M的小FLASH居多,所以才打算写写FAT12)
需要一个阉割版FAT就行,只读,不用支持长名和目录,甚至时间也不用管他。让代码编译出来小小小才是首要目的。毕竟是作为BootLoader,太大了APP的运行空间就不够了
这样的FAT不太常见,支持FAT12的更少见,,,像ZNFAT,FATFS之类的限有方案在这都显得太冗杂了,所以这个轮子你不得不自己造了。
其实并不难写,因为Windows的格式化总是套路,所以你甚至连DBR也不用读就能掌握FAT12的大多核心参数,比如簇数,FAT表,目录表位置,簇偏移量之类的,甚至都可以当常量摆在代码里了。
依靠这个BOOTloader,电脑既能通过USBMSC往FLASH里写入APP,单片机又能借助FAT12解析出APP并加载。
这样就可以做很多很好玩的东西,比如一部能玩几十种游戏的游戏机,或者是自带全部例程的实验板,可编程小车(就跟EV3那样的,能选择并运行之前下载的程序)之类的而且以后再也不用USB转串口和STCISP了!程序下载只一个keil就ok啦
VID_20240426_154143.mp4 点击下载
好多好多的APP,都可以放在一个spiflash里供加载了。要是STC的实验箱或者学习版来一个这个,例程全家桶的程序文件都可以直接丢进去了。
大大拓展了物理空间,仗着超长寿命硬是把内部64KFLASH直接当RAM使了。。(什么时候STC能在内存里跑程序啊!!!)
不要死磕STC51了,没啥意义。
随便换个有大容量RAM的Cortex-M芯片,程序可加载到RAM里执行,还有各种RTOS加持
不要死磕STC51了,没啥意义。随便换个有大容量RAM的Cortex-M芯片,程序可加载到RAM里执...
主要是不会ARM啊。
其实51挺好玩的啊,虽然自身局限重重但STC的一通爆改总能让它突破自我,在C51极限的边缘试探。
对上没技术下没基础的穷学生来说,51好玩就够了
VID_20240518_182407.mp4 点击下载
前一段刚学单摆,就写了个APP--赛博单摆
能模拟单摆及其衍生物(弹簧摆,阻尼摆),晃悠的小球儿给物理老师都整乐了
实现机制很简单,就是时间断面法+爆算。adt->dv,vdt->dx ,x->(约束)->a 循环迭代就行了。
当然这个简易模拟了话,BUG也很明显--“动量敏感”
说白了就是只用牛二律,而没有加入动量能量约束,会导致碰撞,绳绷直等过程出现离谱的错误。(极短时间内存在巨大内力,使得纯牛二律不能平滑模拟。)
造轮子一点也不好玩,直接用rpi zero动态加载啥的都有了,还有个usb2.0HS
确实是造轮子。
但至少让我明白轮子有多难造,观察到一些轮子远看看不出来的的细节。
就这个来看怎么说呢,对个人比较有帮助吧。前一段看振南老师的znFAT讲解视频,感觉人家实在是太厉害了,以前用znfat,只知道用里面的api,根本不知道到底发生了点什么。现在自己尝试动手写写FAT12,确实有点奇妙的感觉。
记得我看znfat书后边,振南启示录里大概是想说:“当你认为自己的c51玩的很好的时候,或者是不屑于玩c51的时候,想想znfat吧”。 确实,这也让我总想死磕c51
把c51基础打牢之后,我一定要学习去搞更高级硬件的
中学生总有个思维惯性是低阶技术是"打基础".打好了才能玩高级的...照这个逻辑现在程序员得先从COBOL和FORTRAN学起.
对文件系统和底层实现感兴趣正确的"打基础"方式更应该是找本<数据结构><组成原理><数据库原理>(别找清华大学出版社那些)把里面的例题都实现一遍,当然楼主要是单纯觉得复古芯片玩着好玩当我没说.
STC8H点播WAV语音片段DEMO:鸡乐盒
仅仅是个整活的DEMO,运行在卡东欧上。
单纯的STC8H+4MFLASH作为一个整体 就能作为一个语音模块!
支持USB下载音频,串口/GPIO点播;只支持22khz及一下单声道.wav;4M空间能存几分钟的语音,硬件成本<2RMB。(大量买还能更低)
不说功能,光看这个价格就能卷死好多定制otp语音ic,
等录音程序写完了,它甚至比isd1820还便宜
至少很多好玩的小项目就可以用它平替mp3模块,定制otp了甚至是isd1820了。比如语音报时,自定义闹铃之类的吧
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。