掌机
yummy说电子
我开通公众号了,yummy说电子,以后多数的创作会在公众号更新,写的会更加随意逗比一点,看看能不能靠流量挣个奶茶钱,欢迎关注,ღ( ´・ᴗ・` )比心
展开
-
STM32掌机教程3,工程模板与带灯按键测试
我们需要“脚手架” 关于代码,我想体现出这么一个过程:我是如何一步一步修改代码的。我认为,从学习的角度来考虑,直接看最终的代码没有什么意义。 写代码就像工人盖房子,盖房子过程中,工人要搭建脚手架;房子盖好以后,脚手架要拆除。直接领着学生看盖好的房子,说,你就照着这个样子来盖房子,学生是做不出来。他不知道怎么搭建脚手架,甚至都不知道什么是脚手架。 所以我打算这个系列的讲义,每一篇代码都在上一篇的...原创 2019-01-17 11:37:24 · 760 阅读 · 1 评论 -
STM32掌机教程4,STM32驱动OLED屏幕
屏幕显示英文字符 有个屏幕,掌机的可玩性可以大大增强,打地鼠玩腻了,可以玩个贪吃蛇,俄罗斯方块,以及其他需要开动想象力的游戏。并且,以前总是玩别人的游戏,现在可以自己写游戏,岂不美哉。 后来我感觉0.96的OLED屏幕太小了,搞个更大的全彩屏,换成STM32F4系列单片机,跑个ucos,运行NES模拟器,然后我是不是就能拳打任天堂,脚踢PSP了?哈哈哈 打地鼠的游戏,可以显示生命值,...原创 2019-01-18 14:09:28 · 23904 阅读 · 5 评论 -
STM32掌机教程1:我打算做一个开源掌机
电子开发对我的影响爱好作为工作,既能养家,又开心,不用上班像上坟。动手实现自己的想法,成就感满满。思维方式的影响:把如何解决问题放在第一位。什么都能修,自带省钱属性 然而,我发现,很多学生畏惧电子开发,认为太难。如此有意思的一件事情,却被现行教育方式整的这么无聊。 有鉴于此,我打算做一个好玩的、简单的单片机项目,来让大家充分体验电子设计的乐趣。这个项目需要一点动手能力,...原创 2019-01-15 14:46:24 · 15102 阅读 · 1 评论 -
STM32掌机教程5,程序框架,随机,加命与升级
随机生成地鼠 随机数是游戏里边非常重要的组成部分,贪吃蛇随机刷新下一个食物,俄罗斯方块随机生成下一个方块,大富翁扔骰子,都是随机的。甚至微信群红包,金额也是随机的。正是因为这些事件不可预测,游戏才充满趣味性。我们地鼠的生成,当然也要随机。 然而,计算机产生的随机数,都是“伪随机”。伪,指的是说它是随机的,但是却都是有规律可循的。对于C语言,可以直接调用一个随机数生产函数srand()。但是...原创 2019-01-21 11:47:02 · 857 阅读 · 0 评论 -
STM32掌机教程2,掌机的原理
本文用到的资源PDF格式的原理图和集成库资源打地鼠的逻辑 打地鼠的逻辑很简单:我点亮某个LED,然后开始计时。如果在规定的时间内按下了LED对应的按键,那么加分,点亮下一个LED。按错按键,或者规定时间内没有按下,则减命,点亮下一个LED。 那么如何点亮某个LED?如何检测按键是否按下呢? 我选择了一款带LED的按键。大小是12mm乘12mm,用手指按大小正好,手感也不错,就是有一点...原创 2019-01-15 17:51:54 · 2473 阅读 · 0 评论 -
STM32掌机教程8,背景音乐
再用一个定时器 在上一节,我们使用了一个定时器来计算频率。需要某个音符持续一定的时间的话,仍然使用的是延时函数delay_ms,这会导致CPU阻塞,程序运行到这里,CPU只会去数数字,你按下按键,他也检测不到——忙着数数字呢。接下来把这个延时也改成定时器,让定时器像个闹钟一样工作,让CPU该干什么干什么,时间到了以后,让定时器来提醒CPU。换句话说,播放的是背景音乐。//改进此函数中的延时...原创 2019-02-14 17:05:35 · 1566 阅读 · 2 评论 -
STM32掌机教程9,完成掌机
这是教程的最后一篇了,完成之前的任务,到这里一切都应当水到渠成,没什么好讲的了。结尾可能略显仓储,未尽之处,自己看代码吧,看不懂的地方可以在下边评论。修改BGM 之前已经实现了根据不同的按键切换不同的BGM的功能。接下来把切换BGM的代码放到加命、减命、加分、升级的函数中。//main.c//加命并显示void add_life(void){ BGM = LIFE_BGM; ...原创 2019-02-14 17:08:06 · 2263 阅读 · 1 评论 -
STM32掌机教程6,电子琴
本节原来是想讲一讲无源蜂鸣器发声的原理,用于添加BGM功能。为了讲原理,就写了一些通俗的代码,没想到越写越多,后来,干脆就形成了一个小小的项目吧——基于STM32与无源蜂鸣器的电子琴。灯光效果 首先想到的是做一个灯光的效果,按下哪个按键,哪个按键的灯要亮;松手后,灯灭掉。顺带,检测一下带松手检测的按键功能好不好用。后续还可以做成通过亮灯提示需要按下那个按键,类似于节奏大师的功能——哪里要...原创 2019-02-13 10:31:49 · 6863 阅读 · 12 评论 -
STM32掌机教程7,演奏音乐
使用定时器来计算时间 在电子琴这节中,我们已经讲述了蜂鸣器的原理,知道如何用蜂鸣器演示不同音调的音乐,本节改进根据频率计算周期的方法,改为定时器,精确度更高,且不再阻塞CPU。 首先,我们不再把蜂鸣器的控制引脚PB1作为普通IO,而是作为定时器的通道。在IO的初始化中,不应当继续操作PB1。通过查看数据手册,可以知道,PB1可以作为定时器3的通道4。(当然也可以作为定时器1和定时器8的通道...原创 2019-02-14 11:07:01 · 3114 阅读 · 12 评论