自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 按键(轮询方式)

一、按键简介 一般的按键都有4个引脚,这4个引脚成2对:其中一对是常开触点(平时不按时则断开,按下则闭合);一对是常闭触点(平时不按时是闭合的,按下后是断开的)。 按键的工作方法:其实就是按键的按下与弹开,分别对应GPIO的两种电平状态(按下则GPIO为低电平,弹开则GPIO为高电平)。此时SoC内部可以通过检测这个GPIO的电平高低来判断按键有没有被按下,这个判断结果即可作为SoC的输入信号。 按键一般用来做输入设备(由人向SoC发送信息的设备,叫输入设备),由人向SoC发送...

2020-09-10 21:21:30 3949

原创 串口通信详解

一、通信的基础概念 (1)通信的发展历史 通信:狼烟 ---> 信件 ---> 电子通信(电报、电话、网络信号)。 通信中最重要的两个方面:信息表示、解析方法 + 信息的传输方法。 通信双方事先需要约定好信息的表示方法和解析方法,做到一致,否则信息不能有效传递。 通信的传输方法是指经过编码后的通信信息如果在传输介质上传输的过程。 总结: ...

2020-09-08 21:33:44 81281 11

原创 交叉编译工具链

一、linux中安装软件的方法 (1)在线安装 使用命令:sudo apt-get install 程序名,来安装软件。 (2)通过安装包安装二、交叉编译工具链的安装 (1)将安装包arm-2009q3.tar.bz2放到linux环境中 mv /mnt/hgfs/linuxshare/arm-2009q3.tar.bz2 ./ (2)解压安装包arm-2009q3.tar.bz2 ...

2020-08-29 18:06:19 267

原创 S5PV210的地址映射

一、概念 S5PV210属于ARM Cortex-A8架构,32位CPU,CPU设计时就有32根地址线和32根数据线。 32根地址线决定了CPU的地址空间为4G,那么这4G空间的分配使用,就是地址映射问题。 专业术语: ROM:只读存储器(Read-Only Memory,ROM),特点是只能读出而不能写入信息,信息一旦写入后就固定下来,即使切断电源,信息也不会丢失。主要用于存储程序。 RAM:随机访问存储器(Random A...

2020-08-23 16:38:23 358

原创 STM32CubeMX工具

一、简介 微控制器图形化配置: ---自动处理引脚冲突 ---动态设置确定的时钟树 ---可以动态确定参数设置的外围和中间件模式和初始化 ---功耗预测 C代码工程生成器覆盖了STM32微控制器初始化编译软件,如IAR、KEIL、GCC可以独立使用,作为Ecli插件使用。 HAL库与STD库区别:...

2020-05-05 16:29:10 1565

原创 实验21:DHT11温湿度传感器实验

一、简介 输出:单总线数字信号。 电压范围:3.3V ~ 5.5V。 工作电流:平均0.5mA。 测量范围:湿度20~90%RH ;温度0 ~ 50°C。 精度:湿度+-5% ;温度+-2°C。 分辨率:湿度1% ;温度1°C。 DHT11图例: 数据格式: DHT11数字湿温度传感器采用单总...

2020-04-22 11:15:14 12485 2

原创 实验20:DS18B20温度传感器实验

一、介绍 独特的单总线接口方式,DS18B20在与微处理器连接时仅需要一条线即可实现微处理器与DS18B20的双向通讯,大大提高了系统的抗干扰性。 测温范围:-55°C ~ +125°C,精度为+-0.5°C。 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。...

2020-04-20 18:07:07 6328

原创 实验17:DAC数模转换实验

一、简介 DAC:数字/模拟转换器。 STM32的DAC模块是12位数字输入,电压输出型的DAC。 DAC可以配置为8位或12位模式,DAC工作在12位模式时,数据可以设置成左对齐或右对齐。 DAC可以与DMA控制器配合使用。 DAC模块有2个输出通道,每个通道都有单独的转换器。 在双DAC模式下,2个通道可以独立地进行转换,也可以同时进...

2020-04-20 10:10:51 3372 1

原创 实验15:内部温度传感器实验

一、简介 STM32F407有一个内部的温度传感器(位于CPU内部),可以用来测量CPU及周围的温度。 该温度传感器在内部和ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。 温度传感器模拟输入推荐采样时间是17.1us。 内部温度传感器支持的温度范围是:-40 ~ 125度。精度比较差,为+-1.5°C左右。 内部温度传感器...

2020-04-19 18:01:43 2339

原创 实验13:随机数发生器实验

一、简介 STM32F4自带了硬件随机数发生器(RNG),RNG处理器是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个32位的随机数。 两个连续的随机数的间隔为40个PLL48CLK时钟信号周期。 通过监控RNG熵来标识异常行为。 可以禁止RNG来降低功耗。二、功能框图 STM32F4的随机数发生器(RNG)采用模拟电路实现。...

2020-04-18 17:54:56 1058

原创 实验8:定时器中断实验(通用定时器)

一、二、三、结构体 typedef struct { uint16_t TIM_Prescaler; //设置预分频系数,取值范围:0x0000 ~0xFFFF。 uint16_t TIM_CounterMode; //设置计数方式。 ...

2020-04-16 09:53:43 4302

原创 实验3:按键输入实验

一、原理图二、库函数 (1)读取IO的状态 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 参数: GPIO_Pin--->GPIO_Pin_x(x = 0~15) 返...

2020-04-11 10:36:23 1517

原创 实验2:蜂鸣器实验

一、蜂鸣器简介 蜂鸣器可以分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器自带震荡电路,一通电就会发声;无源蜂鸣器没有自带震荡电路,必须外部提供2~5KHz左右的方波驱动,才能发声。 本实验中的蜂鸣器为有源蜂鸣器。 单个IO最大可以提供25mA电流,而蜂鸣器的驱动电流是30mA,所以不使用IO直接驱动蜂鸣器,而是通过三极管扩流后再驱动蜂鸣器,这样IO只需要提供不到1mA的电流就...

2020-04-11 09:44:52 2199 1

原创 实验1:跑马灯实验

一、IO简介 (1)工程目录二、原理图三、初始化结构体 typedef struct { uint32_t GPIO_Pin; //设置IO口 GPIOMode_TypeDef GPIO_Mode; //设置GPIO的工作模式。 ...

2020-04-10 17:06:45 3518

原创 实验12:RTC实时时钟

一、RTC简介二、功能框图三、结构体 (1)初始化结构体 typedef struct { uint32_t RTC_HourFormat; //小时格式设置。 ...

2020-03-18 17:32:40 5750 1

原创 读写内部FLASH

一、内部FLASH简介 在STM32芯片内部有一个FLASH存储器,它主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部FLASH中,由于FLASH存储器的内容在掉电后不会丢失,芯片重新上电复位后,内核可从内部FLASH中加载代码并运行。 除了使用外部工具(如下载器)读写内部FLASH外,STM32芯片在运行的时候,也能对自身的内部FL...

2020-03-14 21:57:01 1624 1

原创 实验19:DMA直接存储器访问实验

一、DMA简介 DMA传输实现高速数据移动过程无需任何CPU操作控制。 DMA控制器是独立于Cortex_M4内核的。 STM32F407共有2个DMA控制器,DMA1只有外设到存储器和存储器到外设的传输模式,DMA2具有外设到存储器、存储器到外设以及存储器到存储器的传输模式。 传输模式: 1》外设到存储器(P--->M):把外设...

2020-03-12 11:31:28 1858

原创 TIM---基本定时器

一、定时器简介 定时器功能:定时、输出比较、输入捕获、互补输出。 定时器分类:基本定时器、通用定时器、高级定时器。 定时器资源:407有2个高级定时器、10个通用定时器、2个基本定时器。 基本定时器: 1、计数器16bit ,只能向上计数,只有TIM6和TIM7。 2、没有外部的GPIO,是内部资源,只能用来定时。...

2020-03-08 18:50:52 2515

原创 WWDG---窗口看门狗

一、窗口看门狗简介 独立看门狗(宠物狗);窗口看门狗(警犬)。 工作原理:二、功能框图 (1)窗口看门狗时钟 窗口看门狗时钟来自PCLK1,PCLK1最大是42MHz,由RCC时钟控制器开启。 (2)计数器时钟 1、CNT_CLK = CK_CLK / ( 2^WDGTB ) ...

2020-03-08 17:12:48 1654

原创 实验6:独立看门狗实验

一、独立看门狗简介 独立看门狗(宠物狗);窗口看门狗(警犬)。 独立看门狗:就是一个12位的递减计数器(最大值为0xFFF),当计数器的值从某个值一直减到0的时候,系统就会产生一个复位信号,即IWDG_RESET。如果在计数没减到0之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作称为喂狗。看门狗功能由VDD电压域供电,在停止模式和待机模式下仍能工作。 独立...

2020-03-08 11:57:29 5235

原创 CAN---通讯实验

一、CAN协议简介 CAN是控制器局域网络(Controller Area Network)的简称,由德国BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。 CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,它具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐...

2020-03-06 15:35:38 4744

原创 实验14:ADC模数转换实验

一、ADC简介 ADC:模拟数字转换器。 STM32有三个独立的ADC,ADC1、ADC2和ADC3。 分辨率有12/10/8/6位可选。 每个ADC都有18个通道,其中外部通道16个。二、ADC功能框图 (1)电压输入范围 (2)输入通道 外部的16个通道在转换的时候又...

2020-03-02 16:41:27 5078

原创 SPI---读写串行FLASH

一、SPI简介 SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。 (1)物理层 SCK:时钟信号线,用于通讯数据同步。它由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不一...

2020-02-29 09:48:53 1209

原创 实验4:串口通讯实验

一、串口通信协议简介 (0)串口线及电平简介 (1)物理层 1》RS232标准 2》USB转串口 3》原生的串口到串口 (2)协议层 起始位:由1个逻辑0的数据位表示。 数据位:在起始位后紧接着的就是有效数据,有...

2020-02-25 21:12:57 2141 1

原创 通讯的基本概念

一、串行与并行通信 串行:数据一位一位的传输,只有一根数据线。 并行:可同时传输多位的数据,需要多根数据线。二、全双工、半双工和单工 全双工:在同一时刻,两个设备之间可以同时收发数据。 半双工:两个设备之间可以收发数据,但不能在同一时刻进行。 单工:在任何时刻都只能进行一个方向的通讯。三、同步与异步 同步:需要时钟信号线。...

2020-02-24 16:11:18 427

原创 实验5:外部中断实验

一、EXTI简介 EXTI,外部中断/事件控制器。管理了控制器的23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿检测。 EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。 中断/事件线: EXTI有23个中断/事件线,每个GPIO都可被设置为输入线,占用EX...

2020-01-18 10:52:26 4326

原创 中断应用概述

一、中断简介 STM32中断非常强大,每个外设都可以产生中断。 中断类型: 1》系统异常 体现在内核水平。 系统异常有10个。 2》外部中断 体现在外设水平。 外部中断有82个。 中断优先级: 除了个别的...

2020-01-14 21:15:56 1027

原创

一、栈的基本概念 栈是限制在一端进行插入和删除的线性表。允许操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”,特点是:后进先出。 栈的基本运算: (1)创建栈---create_stack(len) (2)清空栈---clear_stack(S) (3)判断是否栈空---is_e...

2019-07-08 10:05:49 168

原创 排序(五)

三、选择类排序        (1)简单选择排序                 ***思想                        第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行                        交换。共需进行n-1趟简单选择排序,直到所有记录排序完成为止。                 ***算...

2018-06-07 09:26:57 116

原创 排序(四)

(2)快速排序        ***思想                从待排序记录序列中选取一个记录(通常选取第一个记录)为枢轴,其关键字设为K1,然后将其与关键字小于k1                的记录移到前面,而将关键字大于或等于k1的记录移到后面,结果将待排序记录序列分成两个子表,最后将关键字                为k1的记录插入到其分界线的位置处,这个过程称为一趟快速排序...

2018-06-06 19:07:33 136

原创 排序(三)

二、交换类排序        思想:                通过一系列交换逆序元素进行排序的方法。    (1)冒泡排序            ***思想                    每次扫描顺次比较相邻的两个元素的大小,若逆序就交换位置,反复扫描,直到待排序记录序列没有逆序为止。            ***算法                    void BubbleSo...

2018-06-06 15:12:01 160

原创 排序(二)

(2)折半插入排序        ***思想                将折半查找思想用于在有序记录中确定应插入位置,相应的排序法称为折半插入排序法。        ***算法                void BinSort(RecordType r[],int length)                {                        int i,j,low,hi...

2018-06-06 13:49:56 137

原创 排序(一)

一、插入类排序     基本思想:            在一个已排好序的记录子集的基础上,每一步将下一个待排序的记录有序插入到已排好序的记录子集中,            直到将所有待排记录全部插入为止。    (1)直接插入排序            ***思想                将第i个记录的关键字Ki,依次与前面的i-1个记录的关键字进行比较,将所有关键字大于ki的记录依次向后...

2018-06-05 15:38:29 135

原创 用户身份切换

一、su        (1)su                ***切换到root用户                ***需要输入root密码                ***代表使用non-login shell的变量文件读取方式来登录系统        (2)su -                ***切换到root用户                ***需要输入root密码  ...

2018-05-28 16:50:54 1012

原创 树、森林和二叉树的关系

一、树的存储结构(孩子兄弟表示法)            思想:                    以二叉链表作为树的存储结构,链表中每个结点设有两个链域,分别指向该结点的第一个孩子结点和                    下一个兄弟(右兄弟)结点。            存储结构:                    typedef struct CSNode             ...

2018-05-28 11:15:57 6862

原创 二叉树(二)

五、线索二叉树

2018-05-28 09:18:58 151

原创 二叉树(一)

一、二叉树的定义与基本操作        (1)定义                    ***每个结点的度都不大于2                    ***每个结点的孩子结点次序不能任意颠倒(孩子结点有左右之分,位于左边的孩子称为左孩子,位于右边的                                                                       ...

2018-05-23 11:30:11 248

原创 队列(二)

二、链队列        用链表表示的队列简称为链队列。        设置一个队头指针front和一个队尾指针rear,队头指针始终指向头结点,队尾指针指向最后一个元素。空的链队列的        队头指针和队尾指针均指向头结点。                                                                                    ...

2018-05-22 14:40:26 201

原创 队列(一)

一、队列的定义        队列是另一种限制性线性表,它只允许在表的一端插入元素,在表的另一端删除元素,所以队列具有先进先出的特性。        在队列中,允许插入的一端称为队尾,允许删除的一端称为队头。        假设队列为q = (a1,a2,a3. . .an),则a1就是队列的队头元素,an就是队列的队尾元素。        数据结构:                (1)Init...

2018-05-22 14:04:36 1352

原创 线性表(二)

四、线性表的顺序存储        (1)结构                线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,使得线性表在逻辑结构上                相邻的数据元素存储在连续的物理存储单元中,即通过数据元素物理存储的连续性来反映数据元素之间逻辑                上的相邻关系。                采用顺序存储结构存储的线...

2018-05-21 10:23:05 173

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除