- 博客(40)
- 资源 (13)
- 问答 (1)
- 收藏
- 关注
原创 程序人生方法(初成)——持续更改
首先的首先,你要确定自己是为了兴趣而学还是为了什么? 1、入门阶段的闭门造轮子 ,不是传统意义上的看书、看教程和看学习资料等,要如何高效率的学习呢?闭门造轮子的阶段,其实就是理解其原理的阶段。这个阶段要以原理加上实践才能更高效率的去获取并掌握知识,一味地找轮子而不得其要领,只会让你遗忘得更快——记得越多,忘得越多。也就是印证了论语的已经话“学而不思者罔,思而不学则殆”。所以得到了一个小小...
2019-02-28 17:21:41 11933
原创 0. 嵌入式入门学习路线
最近有好多同学在咨询嵌入式该怎么入门,应该怎么学习,有什么好的学习方法推荐,以及嵌入式入门的学习路线。今天我就带着大家的问题,一一为大家解决。STM32基础入门uCOS-II基础入门文末有相关学习资料网盘地址; 首先嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,冬雪终将化去,春风定会吹来。本人推荐的嵌入式学习计划或路线如下: ...
2019-02-22 11:58:54 12443 1
原创 PID小车
通过PID三个参数实现函数内容完成速度控制PID小车。转化成代码:void PIDControl() //pid偏差计算{ e=SpeedSet-num; duk=(Kp*(e-e1)+Ki*e+Kd*(e-2*e1+e2)); //+Kd*(e-2e1+e2)//增量式pid uk=uk1+duk; out=(int)uk; if(ou...
2019-04-30 17:12:48 2948 2
原创 Android配置问题
Android添加所需要的库 对应这库的GroupID、ArtifactName和RequestedVersiondependencies { implementation 'com.android.support.constraint:constraint-layout:1.1.3' compile fileTree(dir: 'libs', include: [...
2019-04-30 16:48:34 302
原创 课堂管理系统——Android
实现一个课堂管理系统,将已完成的数据库部分增加聊天室部分apk文件名:apk资源文件:AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" ...
2019-04-30 16:39:08 2933 4
原创 OpenCv识别多条形码
这其实是一个小工程完成的功能: 使用摄像头采集图像进行预处理(检测部分) 提取出预处理的条形码图像(识别部分) 将条形码进行存入数据库(存储部分) 首先接到这个图像识别的小工程需要先确定这个工程的最初输入,和最后输出,输入就是普通的RGB图像,输出是数据库文件。其中需要完成的过程,就是我需要做得功能,检测部分、识别部分和存储部分,话不多说,上部分代码:/...
2019-04-30 12:00:30 7681 4
原创 VMware下任意Linux装WMware Tools
首先下载VMWareTools-9.2.0-799703.tar.gz,然后打开命令终端,根据相应的目录输入如下命令:任意用户先进入root用户下 :suroot 然后输入密码如果在media目录下 也有可能在run目录下 进入目录root@localhost:~# cd /mediaroot@localhost:/media# lsroot@...
2019-03-22 16:50:04 292
原创 全栈python学习大纲(由于图像过大,手动点击查看图像)
Python Web 全栈+自动化运维开发架构师目录整体分为七个阶段:阶段一: Python 自动化运维基础 ( Python 基本数据类型, 面向对象编程, Python 数据库操作)阶段二: Python 前端 WEB 开发 ( HTML、 CSS、 jQuery、 BootStrap)阶段三: Python WEB 可视化数据开发(爬虫, Scrapy、 Django、...
2019-03-13 10:08:30 476 2
原创 uCOS-II基础入门
uCOS-II基础入门相关链接:uCOS-II基础入门一介绍:实时系统概念、前后台系统、代码的临界段、任务切换。如需了解更多详情可以点击如下:嵌入式学习之uCOS-II基础入门(一)uCOS-II基础入门二介绍:内核概述、调度含义、不可剥夺型内核、可剥夺内核、可重入性的含义。如需了解更多详情可以点击如下:嵌入式学习之uCOS-II基础入门(二)uCOS-II基...
2019-03-06 10:06:20 603
转载 10、嵌入式学习之uCOS-II基础入门
任务控制块(Task Control Blocks, OS_TCBs)一旦任务建立了,任务控制块OS_TCBs将被赋值。任务控制块是一个数据结构,当任务的CPU使用权被剥夺时,μC/OS-Ⅱ用它来保存该任务的状态。当任务重新得到CPU使用权时,任务控制块能确保任务从当时被中断的那一点丝毫不差地继续执行。OS_TCBs全部驻留在RAM中。任务建立的时候,OS_TCB...
2019-03-06 09:58:43 458
转载 9、嵌入式学习之uCOS-II基础入门
内核结构临界段(Critical Sections)和其它内核一样,μC/OS-Ⅱ为了处理临界段代码需要关中断,处理完毕后再开中断。这使得μC/OS-Ⅱ能够避免同时有其它任务或中断服务进入临界段代码。关中断的时间是实时内核开发商应提供的最重要的指标之一,因为这个指标影响用户系统对实时事件的响应性。μC/OS-Ⅱ努力使关中断时间降至最短,但就使用μC/OS-Ⅱ而言,关中断的时间很大程度上取决...
2019-03-06 09:45:26 437
转载 8、嵌入式学习之uCOS-II基础入门
时钟节拍(Clock Tick)时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。各种实时内核都有将任务延时若干个时钟节拍的功能。然而这并不意味着延时的精度是1个时钟节拍,只是在每个时钟节拍中断到来时对任务延时做一次裁决而已。第一种情...
2019-03-06 09:41:23 352
转载 7、嵌入式学习之uCOS-II基础入门
中断处理时间虽然中断服务的处理时间应该尽可能的短,但是对处理时间并没有绝对的限制。如果中断服务是在任何给定的时间开始,且中断服务程序代码是应用程序中最重要的代码,则中断服务需要多长时间就应该给它多长时间。然而在大多数情况下,中断服务子程序应识别中断来源,从叫中断的设备取得数据或状态,并通知真正做该事件处理的那个任务。当然应该考虑到是否通知一个任务去做事件处理所花的时间比处理这个事件所花的时间还...
2019-03-06 09:34:23 388
转载 6、嵌入式学习之uCOS-II基础入门
消息邮箱(Message Mail boxes)通过内核服务可以给任务发送消息。典型的消息邮箱也称作交换消息,是用一个指针型变量,通过内核服务,一个任务或一个中断服务程序可以把一则消息(即一个指针)放到邮箱里去。同样,一个或多个任务可以通过内核服务接收这则消息。发送消息的任务和接收消息的任务约定,该指针指向的内容就是那则消息。每个邮箱有相应的正在等待消息的任务列表,要得到消息的任务会因为邮...
2019-03-06 09:27:56 505
转载 5、嵌入式学习之uCOS-II基础入门
死锁(或抱死)死锁也称作抱死,指两个任务无限期地互相等待对方控制着的资源。设任务T1正独享资源R1,任务T2在独享资源T2,而此时T1又要独享R2,T2也要独享R1,于是哪个任务都没法继续执行了,发生了死锁。最简单的防止发生死锁的方法是让每个任务都:l先得到全部需要的资源再做下一步的工作l用同样的顺序去申请多个资源l释放资源时使用相反的顺序内核大多允许用户在申请...
2019-03-06 09:11:46 381
转载 4、嵌入式学习之uCOS-II基础入门
互斥条件实现任务间通讯最简便到办法是使用共享数据结构。特别是当所有到任务都在一个单一地址空间下,能使用全程变量、指针、缓冲区、链表、循环缓冲区等,使用共享数据结构通讯就更为容易。虽然共享数据区法简化了任务间的信息交换,但是必须保证每个任务在处理共享数据时的排它性,以避免竞争和数据的破坏。与共享资源打交道时,使之满足互斥条件最一般的方法有:l关中断 l使用测试并置位指令 l禁...
2019-03-06 08:52:39 447
转载 3、嵌入式学习之uCOS-II基础入门
任务优先级每个任务都有其优先级。任务越重要,赋予的优先级应越高。静态优先级应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。动态优先级应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。实时内核应当避免出现优先级反转问题。优先级反转...
2019-03-06 08:32:32 528
转载 2、嵌入式学习之uCOS-II基础入门
内核(Kernel)多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通讯。内核提供的基本服务是任务切换。之所以使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核本身也增加了应用程序的额外负荷,代码空间增加ROM的用量,内核本身的数据结构增加了RAM的用量。但更主要的是,每个任务要有自己的栈空间,这...
2019-03-05 19:58:16 1368
转载 1、嵌入式学习之uCOS-II基础入门
最近一起分享下uCOS-II学习教程,包括uCOS-II一些专有名词,任务,优先级等。uCOS-II概念μC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中)实时系统概念实时系统的特点是,如果逻辑和时序出现偏差将会引起严重后果的系统。有两种类型...
2019-03-05 19:34:12 1682
原创 C#与C++的区别
三大主流OOP(面向对象编程)语言(C++、Java、C#),它们三者有太多的共性,其语法和编程概念,大部分都彼此兼容,精一门则可通三门。尤其对掌握C++的程序员而言,入门学习Java和C#没有任何门槛的,唯一需要花些时间的地方就是熟悉这二者的类库和框架。三者中,C++是我最熟悉也最喜欢的,因为最先接触C语言然后升级到C++的,在学习C#时难免会将其与C++做对比,现将C#与C++的区别做一番小结...
2019-03-02 11:26:23 21362 3
转载 Keil MDK 和 IAR 两款ARM开发工具区别比较
首先要说明,没有那款开发工具是万能的,也没有那款工具在所有方面都具有绝对优势。对于Keil MDK-ARM和IAR两款工具择,可以根据自己的习惯来选择,而不应该在使用其中的一款时贬低另外一款,或者总是赞美自己的选择。好了,下面开始讲Keil MDK-ARM和IAR的区别。一、概述Keil MDK-ARM(旧称RealView MDK)开发工具源自德国Keil公司,被全球上百万的嵌...
2019-03-01 15:18:28 1602
原创 ARM Cortex-M3系统设计与实现
ARM Cortex-M3系统设计与实现——STM32基础篇目录0. 嵌入式入门学习路线1. STM32 MCU简介 1.1 stm32 mcu结构 1.2 STM32 MCU存储器映像 1.3 STM32 MCU系统时钟树 1.4 Cortex-M3简介2. 通用并行GPIO口 2.1 GPIO结构及寄存器说明 2.2 GPIO设计实例...
2019-03-01 14:11:53 7053
原创 10. 实时钟系统设计
10. 实时钟系统设计 10.1 系统结构 10.2 程序设计 10.2.1 实时钟程序设计 10.2.2 按键和显示程序设计 10.2.3 系统程序设计 10.3 程序实现 10.1 系统结构实时钟系统包括STM32MCU、实时钟电路DS1302、2个按键、4个LED、LED显示器和UART-USB转换器CP2102实时钟电路...
2019-02-28 14:04:17 5331
原创 9. 直接存储器存取DMA
9. 直接存储器存取DMA 9.1 DMA简介 9.2 USART的DMA操作 9.3 TIM的DMA操作 9.4 ADC的DMA操作 9.1 DMA简介直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的批量数据传输。DMA传送过程中无须CPU干预,数据可以通过DMA快速地传送,这就节省了CPU的资源来做其他操作 STM32的两...
2019-02-28 09:59:03 5449
原创 8. 嵌套向量中断控制器NVIC
8. 嵌套向量中断控制器NVIC 8.1 NVIC简介 8.2 EXTI中断 8.3 USART中断 8.4 TIM中断 8.5 ADC中断 8.1 NVIC简介接口数据传送控制方式有查询、中断和DMA等,中断是重要的接口数据传送控制方式 STM32中断控制分为全局和局部2级,全局中断由NVIC控制,局部中断由设备控制 NVIC支持多个内部异常和多达24...
2019-02-27 21:13:42 6239
原创 7. 内部集成电路总线接口I²C
7. 内部集成电路总线接口I²C 7.1 I²C结构及寄存器说明 7.2 I²C设计实例 7.2.1 24C32A简介 7.2.2 24C32A程序设计 7.2.3 24C32A程序应用7.1 I²C结构及寄存器说明内部集成电路总线接口I²C是通信控制领域广泛采用的一种总线标准,用于连接微控制器和外围设备,连接在总...
2019-02-26 10:01:08 8275
原创 6. 模数转换器ADC
6. 模数转换器ADC 6.1 ADC结构及寄存器说明 6.2 ADC设计实例 6.2.1 用ADC1规则通道实现外部模拟信号的模数转换 6.2.2 用ADC1注入通道实现内部温度传感器的温度测量6.1 ADC结构及寄存器说明模数转换器ADC的主要功能是将模拟信号转化为数字信号以便于微控制器进行数据处理 ADC按转换原理分为逐次比较型、双积分型和∑...
2019-02-25 10:34:58 11177
原创 HTTP协议_php版
1、协议现实生活中的协议,相互遵守,单方面违背,协议不成立;(停战协议,全球贸易协议)//没有协议,世界一片混乱互联网中的协议, ftp、 http、 stmp、 TCP/IP……2、httphttp(HTTP-Hypertext transfer protocol):超文本传输协议,详细的规定了万维网服务器与客户端之间数据传送的通信规则; 基本上,你每天都在用; 当你在浏览...
2019-02-24 18:53:16 10063
原创 笨方法刷博客_C实现
使用一个笨方法去完成CSDN博客的阅读数增加,话不多说上代码#include <windows.h>#include <tchar.h>#include <assert.h> const TCHAR szOpen[] = _T("open");const TCHAR szAddress1[] = _T("https://blog.csdn....
2019-02-23 15:45:04 10750
原创 5. 定时器TIM
5. 定时器TIM 5.1 TIM结构及寄存器说明 5.2 TIM设计实例 5.2.1 1s定时程序设计 5.2.2 矩形波输出程序设计 5.2.3 矩形波测量程序设计5.1 TIM结构及寄存器说明定时器TIM2-5、基本定时器TIM6/7、实时钟RTC、独立看门狗IWDG和窗口看门狗WWDG等 高级控制定时器除了具有刹车输入BKIN、互补...
2019-02-22 10:42:42 11951
原创 4. 串行设备接口SPI
4. 串行设备接口SPI 4.1 SPI结构及寄存器说明 4.2 SPI设计实例 4.2.1 SPI基本功能程序设计 4.2.2 SPI环回程序设计 4.2.3 用SPI控制LCD4.1 SPI结构及寄存器说明串行设备接口(Serial peripheral interface:SPI)是工业标准串行协议,通常用于嵌入式系统,将微处理器连接...
2019-02-21 11:16:58 11672
原创 指针数组和数组指针
优先级:()>[]>*指针数组int *p[n]; //定义一个指针数组 指针数组:是数组——装着指针的数组。[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。指向一维#include <stdio.h>int main(){ int a = ...
2019-02-20 19:38:33 13065 1
原创 3. 通用同步/异步收发器接口USART
3. 通用同步/异步收发器接口USART 3.1 UART简介 3.2 USART结构及寄存器说明 3.3 USART设计实例 3.3.1 USART基本功能程序设计 3.3.2 与计算机通信程序设计 3.3.3 用printf()实现通行程序设计3.1 UART简介并行/串行:同步/异步:UART(Universal Asynchro...
2019-02-20 11:28:17 12066
原创 2. 通用并行接口GPIO
2. 通用并行接口GPIO 2.1 GPIO结构及寄存器说明 2.2 GPIO设计实例 2.2.1 直接操作寄存器软件设计 2.2.2 使用库函数范例程序(v2.0.1) 2.2.3 用GPIO控制LCD2.1 GPIO结构及寄存器说明GPIO包括多个16位I/O端口,每个端口可以独立设置3种输入方式和4种输出方式,并可独立地置位或复位 ...
2019-02-19 15:30:12 12999
原创 1. stm32 mcu简介
1. stm32 mcu简介 1.1 stm32 mcu结构 1.2 STM32 MCU存储器映像 1.3 STM32 MCU系统时钟树 1.4 Cortex-M3简介 1.1 stm32 mcu结构由控制单元、从属单元和总线矩阵三大部分组成,控制单元和从属单元通过总线矩阵相连接 控制单元包括Cortex-M3内核和两个DMA控制器(DMA1和DMA2)...
2019-02-18 14:54:33 15645
转载 .md,markdown文件的基本常用编写语法
序言: 很久没有写博客了,感觉只要是不写博客,人就很变得很懒,学的知识点感觉还是记不住,渐渐地让我明白,看的越多,懂的越少(你这话不是有毛病吗?应该是看的越多,懂的越多才对),此话怎讲,当你在茫茫的知识库里面东看看,西看看的时候,很快就被海量的知识给淹没了,根本就不知道哪些是对的,哪些是错的,感觉好像这个也懂了,那个也懂了,但是真正写起来,脑子又一片空白,又好像什么都不懂,这种状态时有发生,...
2019-02-15 09:24:07 10781 1
原创 //自己封装的几个函数方便记忆
void bootUp()//将本目录写入注册表{//设置程序开机启动HKEY hKey;//找到系统的启动项 CString lpRun = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");//打开启动项Key long lRet = RegOpenKeyEx(HKEY_CURRENT_USER,...
2017-04-24 21:28:26 10851
原创 opencv2、3舍弃了CvImage类,写好不容易找到
CvImage类声明文件 // CvvImage.h#pragma once#ifndef CVVIMAGE_CLASS_DEF#define CVVIMAGE_CLASS_DEF#include "opencv2/opencv.hpp"class CvvImage { public: CvvImage(); virtual ~CvvIm...
2017-04-24 21:25:12 11481
原创 自己写的一个多进程的定时器类方便使用,放在bolg里
定时器类声明文件//cMyTimer.h#pragma once#include "string"#include "list"using namespace std;struct stTimer{ unsigned timeElapce; //定时器间隔运行时间 unsigned timeCreate; //定时器创建时间 unsigned t...
2017-04-24 21:19:46 11203
OpenCV多一维码识别
2019-04-30
php快速入门与商用项目培训
2019-02-24
JavaScript.DOM编程艺术(第2版)(书签)mobile
2019-02-24
网络渗透扫描及其安全英文版
2019-02-24
BackTrack 5 Cookbook英文版
2019-02-24
虚拟专网.技术于解决方案
2019-02-24
stm32参考手册中文版
2019-02-22
简易usb串口助手
2017-12-31
C++创建窗口异常处理,求解。
2016-11-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人