如何写出高效率稳定的单片机代码?
由于单片机的性能同电脑的性能是天渊之别的,无论从空间资源上、内存资源、工作频率,都是无法与之比较的。PC 机编程基本上不用考虑空间的占用、内存的占用的问题,最终目的就是实现功能就可以了。对于单片机来说就截然不同了,一般的单片机的Flash 和Ram 的资源是以KB 来衡量的,可想而知,单片机的资源是少得可怜,为此我们必须想法设法榨尽其所有资源,将它的性能发挥到最
转载
2023-12-12 11:31:33
93阅读
买来8266后好久没用,今天才发现自己安装的python3.6版本不支持,电脑兼容安装python2.7.7和python3.6.6成功后解决了清除和下载固件失败问题,成功点亮led1.安装esptool在命令行下输入pip install esptool2.安装固件下载地址:http://micropython.org/ 我安装的是最新的V1.12版本3.清空和写入固件与电脑连接好后, 命令行下
转载
2023-07-02 22:29:06
81阅读
前言之前实践了下face++在线人脸识别版本,这回做一下离线版本。github 上面有关于face_recognition的相关资料,本人只是做个搬运工,对其中的一些内容进行搬运,对其中一些例子进行实现。官方描述:face_recognition是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,特别是兼容树莓派系统。本项目是世界上最简洁的人脸识别库,你可以使用Pyth
之前一直很奇怪一个问题,每次写好单片机程序之后,用烧录软件进行烧录时,能看到烧录文件也就是hex的文件大小:我用的单片机芯片是STM32F103C8T6,程序储存器(flash)只有64K。从上图可以看出,hex有128K。我有两点疑问,1. 只是一个很简单的平衡小车程序而已,有128K,这么大吗?2. 就算有128K,能下载到只有64K容量的单片机中去?这可能是一道送命题!下面开始我们的探索之旅
转载
2023-08-25 13:39:13
193阅读
最近看了垃圾分类很多人做,身为学电子出身的我,也想试试。那首先怎么实现分类呢? 搞摄像头识别。。。。感觉有点难度,还要算法,慢慢研究,然后灵机一动就想到语音控制,我的想法是我说这个垃圾的名称,然后下位机就能识别出垃圾的种类。比如我说,鸡蛋壳,下位机就能识别到 这是干垃圾,就打开相应的垃圾桶,好的说干就干。赶紧上某宝,搜一下语音模块,额 感觉有点贵啊。还要一个一个词条一个词条的录入(其实还是因为贵)
转载
2023-10-01 19:32:30
142阅读
尝试过很多编程语言,写过不少程序(当然,基本上都是些自娱自乐或给自己用的工具类的小玩意儿),逐渐认识到编写程序是一个不断完善、不断优化的过程——编程首先要有一个想法(目标),围绕这个目标形成最基本的功能逻辑,测试证明功能有效之后就算目标基本实现了。随后,可以扩展基本功能的应用领域,加强程序的容错能力和交互性,逐渐形成一个更完善更健壮的程序。以下通过一个小例子来对此过程稍作展示:在计算器上、电梯上、
转载
2023-10-31 21:33:45
188阅读
声光控开关在我们日常生活中已经非常普遍了,几乎每个小区的楼道里都能有声光控开关的影子。现在也逐渐出现了声光控的小夜灯,晚上起夜再也不用担心太黑、刺眼、找不到开关了!下面就教大家用Python这次用的到主要MCU依然是能跑Python的开发板TPYBoard,这款DIY套件在TPYBoard官网上有售,感兴趣的朋友可以买回来DIY哦!1.实验目的1. 学习在PC机系统中扩展简单I/O 接口的方法。2
转载
2023-10-31 21:42:06
251阅读
本文写作的动机是为了与喜欢编程的朋友分享个人的一点点经验,能力有限,不足之处,见谅,望指教。我从大一开始接触c语言,在此之前对编程一无所知。老师讲的我大部分在考试后还给老师了,课程对我的意义仅仅是告诉我有编程这么回事。后边写过一段时间的单片机程序,没有谁来告诉我这是咋回事,全凭搜,看教程。51单片机玩得差不多的时候,发现没什么要做的了。这段时间陆续了解的CS是怎么回事,开始了漫长的基础学习,书看了
比如说有两个dict:x和y1.比较快的自己写的,def merge_dict(x,y):
for k,v in x.items():
if k in y.keys():
buffer[k] += v
else:
buffer[k] = v2.调用api,这个慢一点从对python 合并 累加两个dict的实例详解分析来看,对对python 合并 累加两个dict的实例详解的结果。from col
转载
2023-08-23 17:50:57
54阅读
MicroPython是运行在微控制上的Python,Python现已成为非常热门的程序语言,在微处理器领域更是备受欢迎。Python可以完成单片机这样对实时性要求高的开发环境,Python移植相对比较容易,有很多的版本。目前关于MicroPython的开发板比较单一,今天要介绍的是一款带以太网的MicroPython开发板——TPYBoardv201。以太网的MicroPython开发板PYBo
转载
2023-08-15 12:56:46
415阅读
小菜鸡一个,开始傻瓜式学习单片机。从网上各种寻找视频,资料进行学习。不定时分享自己的学习整理,可能会有错误,也可能有不全或者是乱,但是希望读者可以提出意见,一起进步。今日份分享:单片机代码基础认知 1.PWM控制2.sfr P0=0x80;—其中srf是关键字,它的作用是定义一个单片机特殊功能寄存器3.sbit LED=P0^0;—sbit就是对刚才所说的SFR里面的一个开关其中的一个进行定义4.
转载
2023-10-20 21:39:13
79阅读
目录一、点亮一个led二、led闪烁三、led流水灯四、独立按键控制led亮灭(1)一个按键控制亮灭(2)通过按键控制灯的状态(3)按键控制led显示二进制(4)按键控制led移位一、点亮一个led 要点亮一个led,首先我们要学会看单片机的原理图,这里我就以普中HC6800 ES V2.0为例。&nbs
转载
2024-06-07 12:41:02
788阅读
单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢?那么这个问题的答案就是:不能不能,而是不合适。一、单片机编程的特点对单片机编程来说,首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。第二、单片机
转载
2024-08-07 12:30:03
80阅读
通过串口烧入hex到pic单片机(pic已经运行boot程序)down_hex.py 源码#coding:utf-8import serialimport pic_hex_parsimport timefrom threading import Timer#串口定时接收class PicSerial():def __init__(self):self.t = Timer(0.02, self.fu
转载
2024-03-06 16:53:00
56阅读
本讲继续学习用Python控制单片机,并用单片机连接和控制其它硬件,具体目标是利用开发板控制四位数码管,显示指定的数字。实验效果如图12.1所示: 图12.1 单片机控制四位数码管显示数字 注意:请先把上一节的例程及练习做完,打好基础,再学习本课内容。12.1 硬件本例的难点在于:新增加了一些硬件、连接比较复杂、代码较长、逻辑也相对复杂,需要控制数字到显示的转换。
转载
2024-05-23 18:19:11
629阅读
1. 硬件连接SWIM接口只需要一根传输线,即可完成双向的传输。传输过程,都是由主控制端(host)发起,设备端然后做出反应。host端需要在一个总线上实现读和写,那就是说必须要同时接一个输出IO和一个输入IO(也可以用同一个,开漏的情况下,IO可以同时读写),且输出IO必须设计成开漏,总线上挂接上拉电阻,以便随时交出控制权。硬件连接如下: 上图SWIM_IN为输
转载
2023-11-09 17:22:23
411阅读
#!/etc/python3.5
"""
安装serial串口通迅模块:
sudo apt-get install python-pip
pip install pyserial
查询CH340单片机模块是否驱动
1.首先确认系统支持USBSerial,输入以下命令:
lsmod | grep usbserial
2.接上USB串口线,看看系统是否可以识别。输入以下命令:
d
转载
2023-07-01 01:02:57
452阅读
启动代码通常都烧写在flash中,它是系统一上电就执行的一段程序,它运行在任何用户c代码之前。上电后,arm处理器处于arm态,运行于管理模式,同时系统所有中断被禁止,pc到地址0处取指令执行。一个可执行映像文件必须有个入口点,而能放在rom起始处的映像文件的入口地址也必须设置为0.在汇编语言中,我们已经说过怎样定义一个程序的入口点,当工程中有多个入口点时
转载
2024-02-10 02:06:52
45阅读
终于到了最刺激的焊接啦~。先给两张最终实物图: 我首先焊接的是紧锁座。拿出买的紧锁座在洞洞板上比划,竟然发现引脚太宽了穿不过去。看了一下紧锁座的构造,发现一个引脚是对折后的一根铁条,宽点也正常。焊肯定是要焊的,就想到把焊孔钻大一点,说干就干,大不了弄坏一个洞洞板而已。用斜口钳把孔钻大了一点,使劲把紧锁
项目基本实现和功能如下: 1、配置使用stm32 cubeMx 2、使用Ubuntu19环境、python3.7 3、实现电脑发送数据到单片机接收 4、单片机判断接收的数据进行电灯流水灯等操作 5、单片机接收到的信息回传给电脑,电脑显示回传的数据并显示在终端 6、在实现过程中发现在改环境下两个进程可以同时对串口数据进行读写,数据不会干扰太严重电脑串口发送数据给单片机:#!/usr/bin/pyth
转载
2023-08-27 12:19:14
267阅读