摘要:计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用 4 个字节,char 占 用 1 个字节。为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的编 号是唯一的,根据编号可以准确地找到某个字节。 我们将内存中字节的编号称为地址(
阅读全文
摘要:C语言中提供了存储说明符auto,register,extern,static说明的四种存储类别。 四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块是被建立,它在该程序块活动时存在,退出该程序块时撤销。
阅读全文
摘要:一维数组的定义和引用 定义:一维数组是指数组中的每个元素只带有关下标的数组。 格式:类型说明符 数组名 [ 常量表达式 ] 例如:定义一个5个元素的整型数组 1.int 表示定义的定义的数组是整型数组,即数组空间里面存放整形变量2.array 是定义数组的名称 3.[5] 是表示定义的数组有5个元素
阅读全文
摘要:什么是算法? 定义:算法是指对解决方案的准确而完整的描述。简单点说,算法就是解决问题的操作步骤。 算法不等于数学上的计算方法,也不等于程序。程序可以描述算法。 算法的基本特征: 1.可行性:步骤可以实现;执行结果达到预期目的。 2.确定性:步骤明确,不模棱两可,不准有多义性。 3.有穷性:有限的时间
阅读全文
摘要:栈及其基本运算 栈(Stack)是一种特殊的线性表(一种数据结构,前后件从属关系描述线性表,线性表中所有元素所占的存储空间是连续的,在存储空间上是按逻辑顺序依次存放的。),它所有的插入与删除都限定在表的同一端进行,允许插入与删除的一端称为栈顶,不允许的一端称为栈底。当栈中没有元素时,称为空栈。 栈的
阅读全文
摘要:生成可执行程序的过程 1.源程序(.c) 2.编译(编译包括两个阶段:预编译和正式编译) 3.得到目标程序(.obj) 4.程序模块连接阶段(与用到的库函数或者自己写的模块进行连接) 5.生成可执行程序(.exe)。 什么是数据结构? 数据结构就是指相互有关联的数据元素的集合。元素就是数据,元素之间
阅读全文
摘要:C语言里面的数据类型共四大类: 基本类型 : 枚举类型 : 枚举类型(enum) 空类型 :空类型(void) 派生类型 :指针类型(*) 、数组类型([ ]) 、结构体类型(struct) 、共用体类型 (union) 、函数类型 其中基本类型和枚举类型变量的值都是数值,所以统称为算术类型 (ar
阅读全文
摘要:机器语言:计算机工作基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令,而这种指令称为机器指令;基于二进制表示的语言就是机器语言。 用法 :在机器语言的规则中规定各种机器指令的表示形式以及它的作用。(人为规定具体机器指令的具体作用) 缺点 :机器语言与我们习惯的语言相差太大,难以从容使用
阅读全文
摘要:目标:编译STM32F4固件并刷入到我们的开发板:STM32F407VET6 1.在Linux系统下进行编译操作,windows用户可以在虚拟机下运行Linux系统,推荐下载kali Linux系统:https://www.kali.org/downloads/,推荐使用虚拟机对应的系统包,虚拟机安
阅读全文
摘要:UART UART(通用异步收发传输器)的简称,在单片机和嵌入式系统中,串口(UART)一直都是非常重要的外设。虽然串口的速度并不快,但是因为它使用简单(串口可能是两个芯片之间传输数据最简单的方式),占用软件和硬件资源少,所以在通信、控制、数据传输、仿真调试等许多方面有非常广泛应用。很多设备或者模块
阅读全文
摘要:定时器 定时器是嵌入式系统中最基本的功能之一,它除了可以实现定时器功能外,还能够实现延时、PWM输出、波形发生器、舵机控制、节拍器、周期唤醒、自动数据采集等功能。在MicroPython中,很多函数的功能也依赖定时器。 1.获取Timer类里面的方法: 定时器的使用方法是先导入Timer模块,然后定
阅读全文
摘要:ADC模数转换 1.获取ADC类里面的方法 ADC (模拟信号转换为数字量)是嵌入式中最常用的功能之一,在MicroPython 同样也提供了相应的函数,可以直接读取 ADC 转换的结果。在pyboard中,我们需要先导入ADC模块,再指定一个ADC使用的GPIO,然后就可以读取指定GPIO上ADC
阅读全文
摘要:板载按键KEY 1.获取板载按键引脚名称 板载用户按键别名:SW,芯片定义的名称是B3. 2.获取Switch类里面的方法 3.基本用法 switch.callback()是回调函数,功能类似C语言里的中断函数,当按下按键时将自动执行这个回调函数。 在pyboard中,只定义了一个用户按键。如果开发
阅读全文
摘要:MicroPython在官方网站上提供了一个在线测试的环境,可以让我们通过浏览器去运行和体验MicroPython。这个在线演示环境可以运行各种例程,查看各种外设和功能模块,如LED、GPIO、ADC、按键、舵机驱动、延时、数学计算等,可以看到LED的变化,但是不支持I2C、SPI、UART、定时器
阅读全文
摘要:基本功能快速浏览 1.通用控制 2.LED控制 3.Pin和GPIO的使用 4.舵机控制(Servo) 5.外部中断 6.定时器 7.脉宽调制模块(PWM) 8.模数转换(ADC) 9.数模转换(DAC) 10.UART(串口) 11.SPI总线 12.I2C总线 13.板载三轴加速度传感器 14.
阅读全文
摘要:MicroPython的系统结构 MicroPython系统的经典结构由三部分组成,分别是微控制器硬件、MicroPython固件、用户程序。 MicroPython支持的其它类型开发板,需要自己编译源代码,产生固件,并将固件下载到微控制器中才能运行MicroPython。(此内容我们后面会讲解到,
阅读全文
摘要:LED占用的引脚 自定义的引脚名称 芯片上引脚的名称 R P5 PA13 G P4 PA14 Y P3 PA15 B P2 PB4 用户按键占用的引脚 自定义的引脚名称 芯片上引脚的名称 USR X17 PB3 三轴加速器占用的引脚 自定义的引脚名称 芯片上引脚的名称 INT PB2(BOOT1)
阅读全文
摘要:内置的sys模块使我们能访问到由Python解释器使用或维护的对象,其中包括标志,版本,整型数的最大尺寸,可用的模块路径,hook路径,标准错误输入/输出的位置,以及调用解释器的命令行参数。http://docs.python.org/library/sys是pyhon的在线module文档,你可以
阅读全文
摘要:Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。 >>> sentence = " tab tab \n" >>> sentence '\ttab tab \n' >>> print(s
阅读全文
摘要:对文本文件进行处理 下面来提取test.txt文件里面的数据,并尝试计算它包含多少个单词。我们使用方法split(),它根据一个字符串创建一个单词表。 >>> information = "I love you!" >>> information.split() ['I', 'love', 'you
阅读全文
摘要:文件操作方法 要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。 1.读取这个文件 首先我们创建一个txt文件,里面写上几行数字或者文本信息; 提示:路径的最前面加r来取消字符串里面的反斜杠转义, 由于中文文档是‘gbk’的编码方
阅读全文
摘要:异常处理 1.try-except 即使程序员编写的程序语法完全正确,在程序运行或执行时仍可能出错 最典型的就是除0错误。因为0不能作为除数,Python解释器会显示一条消息通知程序员该错误。这个错误会终止程序的执行。 >>> print(1/0) Traceback (most recent ca
阅读全文
摘要:socket模块提供了一个用Python进行网络连接的库。 套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将输入和输出(I/O)插入到网络中,并与网络中的其他应用程序进行通信。 socket = IP地址 +
阅读全文