自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小凡的专栏

天道酬勤

  • 博客(319)
  • 收藏
  • 关注

转载 轻松搞定面试中的二叉树题目

出处:http://blog.csdn.net/luckyxiaoqiang/article/details/7518888/树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思想解决,

2016-11-25 13:52:42 620

原创 QT设计多窗体

窗体类的关系在布局管理部分,我们已经说过将主界面和两个子系统分别封装成三个不同的类。首先我们讨论每个类中应该封装什么,其次再讨论这三个类之间的具体关系。通过Qt Dsigner设计好界面后会在工程文件中对应一个.ui的文件;编译器会将该文件转换成能被C++所识别的.h文件。比如configUI.ui文件就对应一个ui_configUI.h文件,该头文件中包含了类Ui::configUI的定...

2020-02-12 12:45:25 1048

原创 嵌入式实时操作系统UCOSII学习笔记之UCOSII几个相关概念的理解

1、任务优先级2、任务堆栈如以下两行代码: OSTaskCreate(led0_task,(void *)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO); OSTaskCreate(led1_task,(void *)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_S...

2018-03-29 00:00:28 1009

原创 嵌入式实时操作系统UCOSII学习笔记之UCOSII简介

UCOSII简介

2018-03-28 23:44:40 1176

原创 STM32之Systick定时器解析

在ARM Cortex-M3内核中有一个Systick定时器,它是一个24位的倒计数定时器,当计数到0时,它就会从Load寄存器中自动重装定时初值,只要不把CTRL寄存器中的ENABLE清0,它就永不停。对于滴答定时器的理解主要分为下面几项:1.滴答定时器的时钟来源看上面的图会有一个错觉,以为滴答定时器是系统时钟的1/8,其实不是,滴答定时器的时钟既可以是HCLK/8,也可以是HCLK,这个是通过...

2018-03-28 13:09:24 967

原创 以太网PHY层芯片LAN8720A简介

1、LAN8720A简介2、芯片管脚配置3、硬件电路

2018-03-20 16:58:28 76482 2

原创 STM32F4的定时器产生PWM

1、PWM原理简介2、相关寄存器

2018-03-19 20:48:38 2873

原创 STM32f4的DAC相关寄存器学习

1、DAC控制寄存器2、DAC通道1的12位右对齐数据保持寄存器

2018-03-18 11:22:54 608

原创 STM32F4的ADC1- ADC 3与引脚的映射

ADC1- ADC 3与引脚的映射:

2018-03-16 21:05:35 6176 1

原创 STM32f4的ADC相关寄存器学习

1、ADC控制寄存器:SCAN位:设置扫描模式,1扫描,0关闭RES位设置分辨率00:12位分辨率ADON位:开关AD转换器CONT位:是否连续转换ALIGN:对齐,0右对齐EXTEN【1:0】:规则通道的外部触发使能设置SWSTART:用于开始规则通道的转换,每次转换(单次转换模式下)都需向该位写1。2、ADC通用控制寄存器TSVREFE:内部温度传感器和Vrefint通道使能位ADCPRE[1...

2018-03-16 15:26:22 2395

原创 STM32固件库中assert_param的作用

assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参数大于3,则这个assert_param()可以在运行的程序调用到这个函数时报告错误,使程序员可以及时发现错误,而不必等到程序运行结果的错误而大费周折。以下是从固件库中复制粘贴的:void ADC_Cmd(...

2018-03-16 14:02:55 601

原创 逐次逼近比较型adc原理

adc模块的精度一般有8位、10位、12位、16位、24位。以5V的ADC模块为例介绍:8位的精度:把0~5V分成256份,每份表示5/256=0.02V;10位的精度:把0~5V分成1024份,每份表示5/1024=0.005V;12位的精度:把0~5V分成4096份,每份表示5/4096=0.0012V;16位的精度:把0~5V分成65536份,每份表示5/65536=0.000076V;24...

2018-03-15 15:17:55 20588 1

原创 UART通用异步收发传输器概述

1、概述通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。2、通信协议UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。其中各位的意义如下:起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。资料位:紧接着起始位之后。资料位的个数可以是4、5...

2018-03-13 22:59:41 3121

原创 __I、 __O 、__IO是什么意思?

__I、 __O 、__IO是什么意思? 这是ST库里面的宏定义,定义如下:#define __I volatile const /*!< defines 'read only' permissions */#define __O volatile /*!< defines 'write o...

2018-03-13 08:51:46 6719 2

原创 STM32自带的SPI实现对外部FLASH(W25Q128)的读写

实验功能:通过KEY1按键来控制W25Q128的写入,通过另外一个按键KEY0来控制W25Q128的读取。硬件电路:软件配置://以下是SPI模块的初始化代码,配置成主机模式 //SPI口初始化//这里针是对SPI1的初始化void SPI1_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; SPI_InitType...

2018-03-12 23:22:46 28799

原创 调试组件USMART的学习

1.      简述USMART 是由 ALIENTEK 开发的一个灵巧的串口调试互交组件,通过它你可以通过串口助手调用程序里面的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字 ( 10/16进制, 支持负数)、字符串、函数入口地址等作为参数),单个函数最多支持 10 个输入参数,并支持函数返回值显示。2.      USMART功能简述USMART 的功能类似 linux 的sh...

2018-03-12 00:06:06 3778

原创 IIC总线简介

2018-03-11 17:21:41 587

原创 怎样让MDK下载完程序后直接就可以运行,而不用手动复位或重新上电等操作

设置:options for target->Debug->Use->Setting->Flash Download->Reset and Run。如下图:

2018-03-10 11:48:06 13412 5

原创 IIC实现对EEPROM(24C02)的读写

概述:EEPROM芯片型号为24C02,该芯片的总容量是256个字节,该芯片通过IIC总线与外部连接。实验功能:通过KEY1按键来控制24C02的写入,通过另外一个按键KEY0来控制24C02的读取。硬件电路:IIC配置代码://初始化IICvoid IIC_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1Pe...

2018-03-10 11:10:39 16083 1

原创 STM32最小系统

电源电路(5V—3.3V):时钟电路(低速时钟和高速时钟):               复位电路(低电平复位):JTAG下载电路:启动模式:

2018-03-10 09:44:51 2378

原创 STM32启动文件中 [WEAK]的作用

标记__weak 或 [weak]的函数 就是用在本文件占位的,如果别的文件重写的这个函数就用别文件的,否则使用本文件的。加上了 [WEAK] 修饰. 用户可以根据自己的需要重新编写自己的处理函数, 而且只要命名一样就 OK 了....

2018-03-10 08:48:36 1697

原创 STM32的启动方式

2018-03-10 08:24:39 498

原创 CAN的静默模式

2018-03-02 21:35:50 4896 2

原创 在Visual Studio 编译代码时出现警告warning C4819: 该文件包含不能在当前代码页(936)中表示的字符的解决办法?

首先打开有该warning的文件,点击【文件】选【高级保存选项】,显示如下,或是其他别的编码格式现在开始改变编码格式为【简体中文(GB2312)- 代码页936】或【Unicode】,总之是适合自己的编码格式点击【确定】后保存,重新编译,warning消失。

2017-09-01 09:09:11 7056

原创 解决Visual Studio 2017隐藏“高级保存选项”命令

Visual Studio提供高级保存选项功能,它能指定特定代码文件的编码规范和行尾所使用的换行符。在Visual Studio 2017中,该命令没有默认显示在“文件”菜单中。用户需要手工设置,才能显示该命令。操作方法如下:(1)单击“工具”|“自定义”命令,弹出“自定义”对话框。(2)单击“命令”标签,进入“命令”选项卡。(3)在“菜单栏”下拉列表中,选择“文件”选项。(4

2017-09-01 08:55:24 15789 1

原创 VS2017控制台输出中文乱码 ,怎么设置编码格式(utf-8)?

vs2017默认编码方式并不是UTF-8,当我们使用中文时,经常会发生乱码。解决方法:工具->扩展和更新->联机,然后搜索ForceUTF8,如下图:安装后源码文件会强制保存为带BOM的UTF-8,如下图:再次运行程序就不会出现中文乱码了。

2017-08-31 16:55:34 46980 14

原创 ”文件格式和扩展名不匹配,文件可能已损坏或不安全“解决办法

有的时候打开xls文档时,会提示“文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?”格式与文件扩展名不一致的问题,尝试下面两种方法解决:  格式与文件扩展名不一致方法一:使用注册表  单击开始-> 运行 -> 输入regedit -> 确定,打开注册表编辑器,找到注册表子项HKEY_CURRENT_USER/Software/Micros

2017-08-29 09:05:10 152753 8

转载 串口通信的基本知识

原文链接:http://blog.csdn.net/huwei2003/article/details/36418471串口通信的基本知识本文介绍了串口通讯的基本概念、数据格式、通讯方式、典型的串口通讯标准等内容。串口通讯,RS232,RS485,停止位,奇校验,偶校验1 串口通讯    串口通讯(Serial Communication),是指外设和计算机间,通过数据

2017-08-18 17:00:48 1663

原创 开关稳压器的非隔离型和隔离型转换器拓扑

2017-08-18 16:49:36 800

原创 基于matlab/Simulink的参数辨识

基于Simulink的辨识Simulink自带Parameter Estimation功能。可以对Simulink模型中的参数进行估计。MATLAB的Parameter Estimation官方说明中有一个电池参辨识的例子(见[Simulink参数辨识官方示例])。使用Simulink进行辨识的步骤为:1. 建立Simulink模型,将需要辨识的参数用base workspace中的变量表

2017-08-18 16:36:25 28916 9

原创 串口通信基本知识

串口通讯对单片机而言意义重大,且其所需电缆线少,接线简单,所以广泛应用于远距离传输中。在串行通信中,数据通常是在两个站之间传送,按照数据在通信线路上的传送方向可分为3种基本的传送方式:单工、半双工和全双工,如图11-4所示。 图11-4 单工、半双工和全双工通信单工通信使用一根导线,信号的传送方和接收方有明

2017-08-18 09:52:09 5379 2

转载 21700电池的优势和不足

http://blog.sina.com.cn/s/blog_1695c6b8f0102x45t.html亿纬锂能“湖北金泉二区投产暨三区启动仪式”在湖北金泉举行。亿纬锂能圆柱三元电池生产线正式竣工投产,标志着我国圆柱三元电池正式迈入21700时代。21700电池的发展回望21700的发展之路,可以用“迅速”一词来概括。在今年1月4日的投资者见面会上,特斯拉宣布与松下联合研发的新型

2017-07-28 13:40:33 3106

转载 ECE、UDC、EUDC、NEDC、FTP75工况的解释和区别

http://www.jjlog.com/ece-udc-eudc-nedc-ftp75.htmlECE:Economic Commission for Europe,联合国欧洲经济委员会汽车法规UDC:Urban Driving Cycle,城市循环工况EUDC:Extra Urban Driving Cycle,市郊循环工况NEDC:New Europe Drivi

2017-07-28 09:07:35 30316 1

转载 【深度解析】论BMS的主动均衡和被动均衡

转自:https://www.baidu.com/link?url=J2VeDJW2vyOfwrT8wMbsF5t22Ov01jJCFJ5SH_cRdbwY1UrM9q646dLCWZDDyYOaHHBascuQ7IAWryIEru5AC_&wd=&eqid=94268f1300020ae00000000359799187主动均衡和被动均衡,是电动汽车BMS业界争论热点之一。像极了华山剑派

2017-07-27 15:15:20 20831 3

原创 宋体字体大小PT对照与换算

宋体字体大小PT初号44pt小初36pt一号26pt小一24pt二号22pt小二18pt三号16pt小三15pt四号14pt小四12pt五号10.5pt小五9pt六号7.5pt小六6.5pt七号5.5pt八号5ptpt——点(Point)。字体排版之量度单

2017-05-19 08:03:26 80960

原创 UART, SPI, IIC的详解及三者的区别和联系

1、UART, SPI, IIC的详解UART、SPI、IIC是经常用到的几个数据传输标准,下面分别总结一下:UART(Universal Asynchronous Receive Transmitter):也就是我们经常所说的串口,基本都用于调试。主机和从机至少要接三根线,RX、TX和GND。TX用于发送数据,RX用于接受数据(收发不是一根线,所以是全双工方式)。注意A和B通

2017-05-17 18:07:01 71601

原创 PWM的基本原理及应用实例

1、概念脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。2、应用实例PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(O

2017-05-17 17:32:45 31662

原创 C++中指针和引用的异同

从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数

2017-05-14 09:58:35 652 2

原创 STM32 上电后的启动过程

微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址,因为使用C语言作为开发语言后,变量/函数的地址便由编译器在编译时自行分配,这样一来main函数的入口地址在微控制器的内部存储空间中不再是绝对不变的。相信读者都可以回答这个问题,答案也许大同小异,但肯定都有个关键词,叫“启动文件”,用英文单词来描述是“Bootloader”。无论性

2017-05-14 09:35:38 5889

转载 MFC 自定义消息实现与响应

文章转自:http://blog.csdn.net/wangshiqilin_fjy/article/details/14458843网上关于“MFC自定义消息”相关的文章实在有点杂,至少我查这部分资料的时候很头疼。好吧,为了让看这篇文章的码农同行少走点弯路,我不介意在这里一步一步的告诉您,自定义消息应该如何实现。按照步骤走,我相信你的程序可以运行!一、目标

2017-05-13 09:13:39 725

BOSS直聘职位信息发布规则-20230320.pdf

BOSS直聘职位信息发布规则-20230320.pdf

2023-08-10

空空如也

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

TA关注的人

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