最近在同学的 QQ 空间上,发现了这样一道智力题:
有一条河,河边有一个猎人牵着一头狼,一个男人带着两个小男孩,还有一个女人带着两个小女孩。
如果猎人离开,狼就会把所有人吃掉。
如果男人离开,女人会把两个小男孩掐死。
如果女人离开,男人会把两个小女孩掐死。
河里有一条船,船上只能乘坐两人(狼算一人),只有猎人、男人、女人会划船。
如何使他们全部过河?
看到这道题,首先想到的是农夫过河问题。既然这两个问题十分相似,那我就尝试按照农夫过河问题的思路,通过程序来找出该题的解。
最近在同学的 QQ 空间上,发现了这样一道智力题:
有一条河,河边有一个猎人牵着一头狼,一个男人带着两个小男孩,还有一个女人带着两个小女孩。
如果猎人离开,狼就会把所有人吃掉。
如果男人离开,女人会把两个小男孩掐死。
如果女人离开,男人会把两个小女孩掐死。
河里有一条船,船上只能乘坐两人(狼算一人),只有猎人、男人、女人会划船。
如何使他们全部过河?
看到这道题,首先想到的是农夫过河问题。既然这两个问题十分相似,那我就尝试按照农夫过河问题的思路,通过程序来找出该题的解。
2015 年全国大学生电子设计竞赛刚刚结束。我们组选择了 B 题:风力摆控制系统。题目要求如下:
一长约 60cm~70cm 的细管上端用万向节固定在支架上,下方悬挂一组 (2~4 只) 直流风机,构成一风力摆,如图 1 所示。风力摆上安装一向下的激光笔,静止时,激光笔的下端距地面不超过 20cm。设计一测控系统,控制驱动各风机使风力摆按照一定规律运动,激光笔在地面画出要求的轨迹。
趁这段时间,整理一下我们组的方案。
在单片机编程中,如果在不使用操作系统的情况下同时执行多个任务,可能会遇到下面这些情况:
本文介绍的有限状态机,可以做到将一个耗时较长的复杂任务分解为多个简单任务,同时使代码逻辑更加清晰,从而解决上述问题。
目录:
刚刚换用微软的一款无线键盘,键盘上有 5 个快速启动按键,按下按键即可运行指定的程序。配合这一脚本使用,就能做到一键打开 OmniFocus 的快速收集窗口,实现随时记录与收集。
虽然 IAR 和 MDK 可以方便地进行 STM32 的开发,但这些软件是商业软件,而且仅支持 Windows. 另外,两者的代码编辑功能似乎都不太强大。
使用 Eclipse 与 GCC 则可解决这个问题:两者均为开源软件,可以自由使用,并支持 Windows,Linux,OS X 等多个平台。同时还可以通过各种插件拓展其功能,例如 EGit.
前一段时间开始使用 OS X,这是在 OS X 平台配置 Eclipse 的步骤。其他平台方法应该类似。
昨晚上课时,老师说:“用单片机检测按键的双击,看似简单,但实现起来,需要一点小技巧。”
这句话引起了我的兴趣,我打算自己尝试一下。经过折腾,算是解决了这个问题。