/********************************* 代码功能:点亮一个led灯 使用函数: pinMode(引脚号,模式); digitalWrite(引脚号,电平状态); //默认低电平(或浮空) 创作时间:2016*10*07 作者邮箱:jikexianfeng@outlook.com ********************************/ ; //led 引脚设定 void setup() //初始化部分(单次执行) { pinMode(led,OUTPUT)…
/********************************* 代码功能:点亮一个led灯 使用函数: pinMode(引脚号,模式); digitalWrite(引脚号,电平状态); //默认低电平(或浮空) 创作时间:2016*10*07 作者邮箱:jikexianfeng@outlook.com ********************************/ ; //led 引脚设定 void setup() //初始化部分(单次执行) { pinMode(led,OUTPUT)…
1. 准备工作 硬件准备 开发板首先需要准备一个小熊派IoT开发板,并通过USB线与电脑连接. 软件准备 需要安装好Keil - MDK及芯片对应的包,以便编译和下载生成的代码,可参考MDK安装教程 2.创建工程 选择芯片型号 打开STM32CubeMX,打开MCU选择器: 搜索并选中芯片STM32L431RCT6: 配置时钟源 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC: 如果使用默认内部时钟(HSI),这一步可以略过: 这里我都使用外部时钟: 配置GPIO…
驱动Linux引脚与驱动STM32其实是一样的,都是在操作寄存器,在相应的寄存器上附上相应的值即可驱动. IMX6U手册上有各个管脚的命名,跟STM32不同,IOMUXC_SW_MUC_CTL_PAD_GPIO1_IO00,是根据功能来命名的 每个引脚都包含这两个寄存器,表中的 XXXX 表示引脚的名字,例如本芯片中有一个名为 GPIO1_IO03 的引脚,编号为 GPIO1.3,你可以在参考手册的 IOMUXC 章节中找到它的 这 两 个 寄 存 器 : IOMUXC_SW_MUX_CTL_P…
1.打开STM32CubeMX软件->新建一个工程(软件自行到ST官网下载安装) 2.输入对应的芯片型号(本次基于野火STM32H743XI Pro 开发板)点击Start Project生成项目 3.配置基本的项目工程参数 4.根据原理图查看开发板的RGB灯连接的端口,并配置GIPO端口(由于RGB灯是外部上拉,GPIO端口设置成推挽输出,低电平LED灯亮) 4.点击 GENERATE CODE 按钮生成项目工程文件(如果第一次使用需要下载对应芯片的库文件,下载完重新生成即可.完成点击Open…
参考学习教程:周立功嵌入式Linux开发教程-(上册) 材料:首先 准备一个 安装好 Linux 的 开发板 使用  xshell 工具 连接 开发板  ,winscp 工具 连接 开发板  ,  准备 一个 Ubuntu  32位 ,装上 交叉编译链.. 使用下面 代码 和 Makefile 文件 进行编译  ,生成的  执行 文件  利用 winscp 软件复制到 Linux开发板上 ,利用 xshell 运行 这个可执行文件. 下面    代码的  功能  是   新建 一个 TCP 客户…
转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061755.html ​简介 Portainer 是轻量级,跨平台,开源的管理Docker的UI.Portainer提供了Docker的详细概述,并允许通过基于Web的简单仪表板管理容器.镜像.网络和卷,且支持GNU / Linux,Microsoft Windows和Mac OSX操作系统. 安装 下载最新镜像 docker pull portainer/portainer…
转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061747.html 一.准备工作 查看内核 Docker 要求 CentOS 系统的内核版本高于 3.10,所以要先查看CentOS系统内核版本, 是否满足要求: name -r 结果如图: ​ 由于本文系统为CentOS7.7.1908,内核满足要求. 查看是否有旧版本: docker -v 注意:如显示未找到命令.则也不能完全说明未安装docker,因为可能没有进行相关配…
#include <reg52.h> // 引用52包文件 可以理解为命名空间 sbit P1_0 = P1^0;   // 定义P1管脚0 void main()             // 主程序 C语言所必需要有的{P1_0 = 0;              // 点亮P1第0管脚连接的LED} ===============以下非程序代码=================== 上面的程序,首先引用reg52.h,这里有对操作单片机相关数据的封装,方便用户使用 接着,用P1_0这个s…
1 程序源码 #include <REGX52.H> `包含51单片机的头文件` sbit led = P0^0; int main(void) { while(1) { led = 1; } return 0; } 1.1 C语言常用的预处理命令 typedef的使用 typedef unsigned int u16; typedef unsigned char u8;`后面需要加上分号` 重新定义一些常用的关键词,可以增强程序的可移植性,因为在不同的编译软件上面,C语言的数据类型的关键词的…
1:RS232电平:计算机串口 高电平为-12v,低电平为+12v,所以计算机与单片机进行通信的时候需要加电平转换芯片max232(高电平为-9到-12,低电平为+3到+12之间的. max232通常用于电平转换 2:TTL电平:高电平为+5v,低电平为0v 3:数字电路的电路特性使他只能是二进制表示 4:B表示二进制,H为十六进制,通常加在数字的后面 5:异或运算:两个相同的为0,不同为1 6:80C51系列单片机 STC89C52RC40C-PDIP0712CV4336芯片的介绍 STC:C…
1      前言 从踏入嵌入式行业到现在已经过去了4年多,参与开发过的产品不少,有交换机.光端机以及光纤收发器,停车场出入缴费系统,二维码扫码枪,智能指纹锁以及数字IC芯片开发等; 涉及产品中中既有STM和Nuvoton这类通用芯片,也有Nordic-52832,Nordic-52810,易兆微这种专用的蓝牙芯片,还包含用于WIFI设备的ESP32芯片,以及专业的指纹/二维码安全芯片,当然也参与过基于ARM9内核的Linux的嵌入式服务器开发和维护,更详细的参与了异步双核MCU的验证工作和库开…
电路原理图: 如何点亮一个LED? 通过对原理图进行分析,我们能够发现给三极管的基极加上一个高点平时,三级管be结导通构成通路,此时二极管就点亮了.若要将LED熄灭只需取消高电平输出. 如何使三级管基极获得一个高电平? 控制三极管基极的其实是exynos4412的一个引脚(忽略具体是怎么连接的),因此我们要做的就是: 配置相关寄存器使引脚变为输出功能(这里配置为输出功能 0x1) 配置上下拉(若需要) 操作寄存器改变引脚电平变化 配置带负载能力(若需要) 相关寄存器 配置引脚功能 获取或设置引脚…
引言 最近报名了2017全国大学生电子设计竞赛,我们学校是第一次参加这个比赛,由于8/9月份就要比赛了,所以现在准备是比较晚的了,指导老师说只能做控制类的题目了,让我们学习一下STM32单片机,51到时候肯定不够用了,正好前几天买了一块STM32F103ZET6的最小系统,那就赶紧学习吧!从哪里学习呢?同样是从点亮一个小灯开始,就建个工程模板就让我没有耐心了,折腾了一上午终于把工程建立好了, 关于STM32 简介 STM32系列基于专为要求高性能.低成本.低功耗的嵌入式应用专门设计的ARM Co…
搜索开发板原理图LED的走线           LED8是网线接口的指示灯. 在这里我们尝试用汇编代码控制D10, 也就是LED1,它连接到EINT4/GPF4,读取芯片手册 有原理图可知,如果需要点亮LED1,需要控制s3c2440的GPF4引脚输出低电平. GPFCON = 0x56000050 GPFDAT = 0x56000054 GPFUP = 0x56000058 ========================= 直接set 0x56000050 = 0x100  设置GPF4为…
基础篇 1.Python基础之初识python 2.Python数据类型之字符串 3.Python数据类型之列表 4.Python数据类型之元祖 5.Python数据类型之字典 6.Python Set集合,函数,深入拷贝,浅入拷贝,文件处理 7.Python之常用模块 8.python正则表达式 9.python面向对象编程 10.python之socket编程 11.python进程.线程.协程 11.python-nmap使用及案例 进阶篇 1.浅析tornado web框架 2.djan…
一.外部中断0.1(分别點亮一個LED) /******************************************************************************* * 标题: 计数器中断实验 * #include <reg52.h> #include<intrins.h> sbit led1 = P0^0; sbit led2 = P0^1; void main(void) { // IT0=0; //低电平触发 IT0=1; //下降沿触发…
详解请看其他博客: http://www.cnblogs.com/whik/p/6672730.html http://www.51hei.com/bbs/dpj-38605-1.html /*本程序实现STM开发板上LED灯红绿蓝闪烁*/ #include "stm32f10x.h" // 相当于51单片机中的 #include <reg51.h> #include "stm32f10x_gpio.h" /* *由于STM32的GPIO工作模式有8种(…
作者:Crazyman_Army 原文来自:https://bbs.ichunqiu.com/thread-43469-1-1.html 0x00知识回顾 (由于笔者省事,没开XP虚拟机,而且没关闭ASLR,所以每次重载的内存地址会不一样) 在第一章的内容中,笔者已经讲了OllyDbg(简称OD)的界面介绍以及基础的操作,普及了常用的汇编指令 上次课在底下的附件中,我留下了一个演示样例,大家载入OD后搜索到字符串点击跟踪到反汇编窗口的时候会发现与第一章所讲的程序的框架不太一样. 尤其可见多出了很…
本文由博主原创,如有不对之处请指明,转载请说明出处. /********************************* 代码功能:输出模拟信号,控制RGB灯的颜色 使用函数: pinMode(引脚号,模式); analogWrite(引脚号,电压参数); //输出模拟电压 = 5/256*电压参数 constrain(输入参数,区间下界,区间上界); //区间函数 random(随机种子); //产生一个随机数 具体函数用法请参考博主的另一篇文档:<arduino api基础手册> 创作时…
1 命名空间 对于Python 来说命名空间一共有三种 1 内置命名空间 —— Python 解释器 就是Python 解释器一启动就可以使用的名字,储存在内置命名空间中.内置的名字在启动解释器的时候被加载进内存里 2 全局命名空间 —— 我们所命名的,但不是函数中的代码 是在程序从上到下被执行的过程中依次加载进内存中的,放置了我们所设置的所有变量名和函数名 3 局部命名空间 —— 函数 就是函数内部定义的名字,当调用函数时,才会产生这个名称空间,随着函数执行的结束,这个命名空间又消失 PS:…
https://www.cnblogs.com/yangfengwu/p/11072834.html 所有的源码 https://gitee.com/yang456/Learn8266SDKDevelop.git 手头有任何8266的板子就可以,不需要购买 https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-18540610442.2.4297d36cprrnVx&id=569295486025 下载API文档 https://wiki.…
Java内存模型 本文是<成神之路系列文章>的第一篇,主要是关于JVM的一些介绍. 持续更新中 Java内存模型 JVM内存结构 VS Java内存模型 VS Java对象模型(Hollis原创) 再有人问你Java内存模型是什么,就把这篇文章发给他.(Hollis原创) 内存模型是怎么解决缓存一致性问题的?(Hollis原创) 细说Java多线程之内存可见性(视频)(推荐)(如果嫌视频讲的慢,建议使用1.5倍速度观看) JSR 133: JavaTM Memory Model and Thr…
前言:一直以来,很多人都是拿来主义,只停留在会使用的阶段,从未去研究挖掘其原理,剖析本质.现在慢慢探讨一下其内幕,抛砖引玉 一.简介 1)常用的持久化框架 Hibernate:是一款Java世界中最著名的ORM框架之一 JPA(Java Persistence API): 是EJB 3 .0中持久化部分的规范,但它可以脱离EJB的体系单 独作为一个持久化规范进行使用 Spring JDBC:严格来说,Sring JDBC不能算是一个ORM架,它仅仅是使用模板方式对原生DBC行了一层非常薄的封装…
c语言有32个关键字,每个关键字你都理解吗? 今天出场的是: auto ,  register,  static,   extern 为什么他们会一起呢,说到这里不得不谈到c语言对变量的描述. c给每个变量3个基本属性: 1.    作用域 2.    生命期 3.    存储类型 一些基本概念定义: 块的定义: 在c语言里 : 是以{}定义的  很显然函数是其中一个. 声明和定义: 1  声明是说有这个东西,但并不是马上要产生出来,比如你跟别人说你会玩dota,但你现在并没有玩.理解这个就好理…
一.作业(对象的封装) 要点分析 1.封装,对象中嵌套对象 2.pickle,load,切记,一定要先导入相关的类二.上节内容回顾和补充 面向对象基本知识: 1.类和对象的关系 2.三大特性: 封装 继承 面向对象的三大特性:多态的补充 多态(多种形态,多种类型)python的多态 def func(arg): print(arg) func(1) func('lili') func([11,22,33]) JAVA/C++的多态 #用python语言的格式来写JAVA/C++语言的多态 def…
前四天课程回顾 1.python简介 2.python基本数据类型 类: int:整型 | str:字符串 | list:列表 |tuple:元组 |dict:字典 | set:集合 对象: li = [11,22,33] #列表的一个对象 s = "MoHan" #字符串的一个对象 3.函数式编程 4.装饰器 @装饰器函数名 def func(): pass 其中@装饰器函数名,程序执行到此,会进行如下三步操作: 1.将func当做参数进行传递给装饰器函数并执行 2.将装饰器函数的返…
一.课程内容回顾 1.python基础 2.基本数据类型  (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = bytes(s,encoding="utf-8") print(ret) ret1 = bytes(s,encoding="gbk") print(ret1) #程序运行结果如下: b'\xe8\x80\x81\xe7\x94\xb7\xe4\xba\xba' b'\xc0…
1 文件的基本操作 #1. 打开文件的模式有(默认为文本模式): r ,只读模式[默认模式,文件必须存在,不存在则抛出异常] w,只写模式[不可读:不存在则创建:存在则清空内容] a, 只追加写模式[不可读:不存在则创建:存在则只追加内容] #2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码.图片文件的jgp格式.视频文件的avi格式) rb wb ab 注:以b方式打开时,读取到的内容是字…
1 变量 变量就是将一些运算的中间结果暂存到内存中,以便后续代码调用.必须由数字,字母,下划线任意组合,且不能数字开头.不能是python中的关键字,如['and', 'as', 'assert', 'break', 'class', 'continue','def', 'del', 'elif', 'else', 'except', 'exec','finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda',…