自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FreeRTOS两个系统延时函数

相对延时函数vTaskDelay()相对延时函数是指:任务体中主体执行函数执行完后vTaskDelay()再延时一段时间。void task(void *pvParameters) { while(1) { //执行函数 vTaskDelay(800); }}/*整个任务执行时间为:执行函数时间+800*/绝对延时函数vTaskDelayUntil()绝对延时函...

2019-10-10 21:02:41 2879

原创 FreeRTOS查看任务运行时间信息统计函数vTaskGetRunTimeStats

使用前准备工作将宏configGENERATE_RUN_TIME_STATS置为1。#define configGENERATE_RUN_TIME_STATS 1 //为1时启用运行时间统计功能定义两个宏,第一个是任务运行统计时间的时基初始化,第二个是计数的。#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() ConfigureTimeF...

2019-10-06 16:44:34 1945

原创 FreeRTOS临界区相关函数

taskENTER_CRITICAL()和 taskEXIT_CRITICAL()临界区保护代码实际上就是在taskENTER_CRITICAL()和taskEXIT_CRITICAL()无法被中断,常用在时序读取一些传感器和芯片上(比如flash和eeprom上)。taskENTER_CRITICAL()//此处为保护,不能被中断代码taskEXIT_CRITICAL()注意:临...

2019-10-06 16:33:17 1065

原创 FreeRTOS中与任务相关的一些辅助函数

函数 uxTaskPriorityGet()函数原型UBaseType_t uxTaskPriorityGet( TaskHandle_t xTask )示例:UBaseType_t query_priority,led_priority;query_priority = uxTaskPriorityGet(QueryTask_Handler); //获取优先级printf("que...

2019-10-05 11:17:27 348

原创 FreeRTOS中使用中断的一些注意事项

1.几个宏定义的解释[configLIBRARY_LOWEST_INTERRUPT_PRIORITY]这个宏是可以定义的中断最低优先级,由于STM32中断管理只用了4位来分配抢占优先级和子优先级,并且FreeRTOS使用优先级分组4(没有子优先级),所以该宏设为15configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY这个宏是系统可管理的最高中断优...

2019-10-04 14:43:04 3591 1

转载 FreeRTOS任务优先级分配方案

原文出处:https://www.cnblogs.com/yangguang-it/p/7156445.html任务优先级说明下面对 FreeRTOS 优先级相关的几个重要知识点进行下说明,这些知识点在以后的使用中务必要掌握牢固。 FreeRTOS 中任务的最高优先级是通过 FreeRTOSConfig.h 文件中的 configMAX_PRIORITIES 进行配置的,用户实际可以使用...

2019-09-29 21:45:36 1635

原创 Opencv学习笔记——numpy的基本数组操作

为什么使用numpy作图像处理的计算操作?NumPy是使用Python进行科学计算的基础包,相对于不使用numpy的循环遍历像素操作,numpy的运算效率和速度非常快,所以numpy的基本数组操作需要会,之前学的不够明白,最近看Opencv看到后面觉得有必要重新看一下再做个总结。shape操作shape操作在对图像进行分割和缩小扩大有一定的用处,它可以读取图像的行row、列column、通...

2019-07-31 09:48:19 280

原创 Opencv学习笔记————颜色空间转换

转换颜色空间我们常用的颜色空间转换就两种:BGR->Gray(cv2.COLOR_BGR2GRAY)和BGR->HSV(cv2.COLOR_BGR2HSV),用到的函数是:cv2.cvtColor(imput_image,flag),其中flag为转换类型。跟踪特定颜色的物体实例我们还需要了解,根据阈值构建掩模函数:mask=cv2.inRange(hsv,lower_blue...

2019-07-26 11:19:16 256

原创 Opencv————图像ROI和按位操作

ROI操作ROI(region of interest),感兴趣区域。机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI。eg:roi = img2[0:rows, 0:cols]ROI实际上就是截取图像的一部分,然后作相应的操作。按位操作bitwise_and、bitwise_or、bitwise_xor、bitwis...

2019-07-25 23:44:09 570

原创 Opencv学习笔记————图像混合

图像混合也类似于图像加法,但是有每个图片的权重,会给人一种混合或是透明的感觉,运用到的函数是cv2.addWeighted(img1,0.7,img2,0.3,0),函数的参数结合下面公式很容易理解。"""两个图像混合的例子"""import numpy as npimport cv2img1 = cv2.imread('F:\python-learn\OPENCV\mixture...

2019-07-25 23:30:05 136

原创 Opencv学习笔记————HSV颜色分量范围

HSV颜色分量范围一般对颜色空间的图像进行有效处理都是在HSV空间进行的,然后对于基本色中对应的HSV分量需要给定一个严格的范围,下面是通过实验计算的模糊范围(准确的范围在网上都没有给出)。H: 0— 180S: 0— 255V: 0— 255此处把部分红色归为紫色范围:...

2019-07-25 18:13:14 243

原创 Python学习笔记————函数(一)

定义一个简单函数def greet_user(username): print("hello!" + str(username))username_1 = input("Please input your name!\n")greet_user(username_1)# username_1为实参这里username是函数的形参,用户可以把实参传入进函数,这个函数就是和你...

2019-07-24 08:49:55 130

原创 Python学习笔记————Input和While语句

Input语句可以实现交互功能# 这里的操作可以让提示语增加prompt = "If you tell us who you are, we can personalize the messages you see."prompt += "\nWhat is your first name? "#name作为Input的返回值name = input(prompt)print("\...

2019-07-23 08:53:16 202

原创 Python学习笔记————字典

字典的定义在 Python 中,字典是一系列键——值对 。每个 键 都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。# 字典简单应用alien_0 = {'color': 'green', 'points': 5}alien_1 = {'color': 'red', 'points'...

2019-07-21 23:15:11 227

原创 Python学习笔记————if语句

由于Python的if语句与C语言非常类似,同时python作为高级语言和我们平时使用英文非常接近,所以直接用例子来描述if语句的语法:

2019-07-21 22:55:54 225

原创 Python学习笔记————遍历列表

1.遍历列表基本格式用例子来描述遍历列表基本格式:robots = ['alpha', 'dog', 'Li']cnt = 0.0# 遍历语句,从列表robots中取出一个名字,并存储在robot中。循环打印for robot in robots: print(robot.title() + '\tis awesome.') cnt = cnt + 1print(rob...

2019-07-18 15:04:24 215

原创 Python学习笔记————列表

删除指定元素unabled_name = 'xiao qiang'invited_name.remove(unabled_name)2.指定位置插入元素invited_name.insert(2, 'xiao hong')invited_name.insert(0, 'xiao zhi')invited_name.insert(2, 'xiao lan')3.末尾插入元素i...

2019-07-15 18:43:17 86

原创 Opencv学习笔记————处理鼠标事件

直接上代码import cv2import numpy as np# 当鼠标按下时变为 Truedrawing = False# 如果 mode 为 true 绘制矩形。按下 'm' 变成绘制曲线。mode = Trueix, iy = -1, -1flag = 0# 创建画布img = np.zeros((512, 512, 3), np.uint8)cv2.namedW...

2019-07-05 22:43:19 164

原创 Opencv学习笔记————绘图函数

画线cv2.line(img,(0,0),(511,511),(255,0,0),5)img为想要绘制图形的那副图像,第二个参数为线条的起点,第三个为终点,第四个为颜色,第五个为线条粗细画圆cv2.circle(img,(447,63), 63, (0,0,255), -1)#需要指定圆的圆心和半径画矩形cv2.rectangle(img,(384,0),(510,128),...

2019-07-04 22:54:45 263

原创 OpenCv学习笔记————图像操作

11111

2019-05-30 23:02:22 203

原创 线程互斥通信之互斥锁

在上一讲我们通过信号量接口函数实现了线程的同步通信,这次我们通过互斥锁来进行线程间的互斥通信。线程的互斥机制是依靠临界资源。临界资源的概念是:一次只允许一个任务(进程、线程)访问的共享资源。互斥机制依靠的就是mutex互斥锁,任务访问临界资源前申请锁(即共享资源-1),访问完后释放锁(+1)。线程互斥实现接口:1.互斥锁初始化:int pthread_mutex_init(pthrea...

2019-02-12 21:36:16 271

原创 线程信号量

111111

2019-02-12 11:10:08 573 1

原创 pthread线程库的一些基本操作

111111

2019-02-11 12:14:25 388

转载 进程和线程的区别?什么时候用进程?什么时候用线程?

答:首先得知道什么是进程什么是线程?我的理解是进程是指在系统中正在运行的一个应用程序;程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的一个实例。线程是进程的一个实体。进程——资源分配的最小单位,线程——程序执行的最小单位。线程进程的区别体现在几个方面:第一:因为进程拥有独立的堆栈空间和数据段,所以每当启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段...

2019-02-10 10:41:16 638

原创 Linux多进程编程的一些接口基础

111

2019-02-09 17:25:36 177

原创 Linux下多进程基础

1.进程的概念程序:存放在磁盘上的指令和数据的有序集合。是静态的。进程:执行一个程序所分配的资源的总称。进程是程序执行过程。动态的,包括创建,调度,执行和消亡。2.进程类别:交互进程:在shell下启动,可以在前台运行也可在后台运行。后台运行执行指令:./a.out &批处理进程:和在终端无关,被提交到一个作业队列中以便顺序执行。守护进程:和终端无关,一直在后台运行。3...

2019-02-07 11:44:31 113

原创 对于动态库静态库的一些笔记

111

2019-02-03 23:00:10 118

原创 Linux标准IO第一天知识点总结

111

2019-02-03 22:38:36 131

原创 DS1302官方驱动的一些需要修改的地方和注意事项

11

2019-01-26 16:51:17 1225

原创 IAPF2K61S2转接板一些主义事项

2019-01-21 22:22:30 239

原创 IAP15的软件延时函数拓展

111

2019-01-20 11:41:14 686

原创 IAP15之在线仿真和软件仿真设置

由于最近在准备蓝桥杯单片机比赛,之前学了STM32,现在回过来搞51系列单片机有点不太适应,在这里记点笔记来巩固巩固,以防比赛前会忘记,也是为了督促学习。软件仿真相信大家在学51的时候也会为了那个Delay函数到底延迟多少时间所困惑,这里我们keil的软件仿真可以解决一下我们的问题。我们点击keil上的一个小榔头的标志,会出现如下界面,我们把Xtal进行修改成我们IAP15芯片自带的晶振...

2019-01-19 20:00:09 3102 1

原创 数据结构之顺序链表

学习数据结构,由于还没有什么应用的场景,所以还不太清楚数据结构能干什么,所以我先从学习的角度来写这一主题的笔记。第一个数据结构——————顺序表线性表作为一种基本的数据结构类型,在计算机存储器中的映象(或表示)一般有两 种形式,一种是顺序映象,一种是链式映象。比较简单的顺序表就是一个一维的数组,但是数组删除和添加元素相对来说会较为复杂。顺序存储结构的特点:– (1)逻辑上相邻的元素 ai...

2019-01-11 16:59:51 1136

原创 C语言内存管理

内存管理(1)动态内存1)C/C++定义了4个内存区间:代码区/全局变量与静态变量区/局部变量区即栈区/动态存储区,即堆区。2)静态存储分配通常定义变量,编译器在编译时都可以根据该变量的类型知道所需内存空间的大小,从、而系统在适当的时候为他们分配确定的存储空间。在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内...

2018-12-16 21:13:51 290

原创 C语言共用体

在C语言中还有一个结构与结构体相类似,那就是共用体。其语法为:union gy{ char a; short b; int c;};当然语法类型类似,但是存储的空间大小是不同的,上面那个共用体内存大小为4个字节,然而如果换成结构体那就是4+2+1=7个字节。eg:输出结果很容易想到:...

2018-12-16 21:10:31 146

原创 C语言之结构体

在C语言的实际应用当中,以及后来的编程实践当中,C语言的结构体是让C语言从面向过程到面向对象的一个桥梁,因此十分重要。这里再做一个简要的总结。简述:在实际的处理对象中,有许多信息是由多个不同类型的数据组合在一起进行描述,而且这些不同类型的数据是互相联系组成了一个有机的整体。此时,就要用到一种新的构造类型数据——结构体一.语法:struct{数据类型 成员1数据类型 成...

2018-12-16 10:18:18 112

原创 shell脚本之函数

这里话不多说了,直接上例子,从例子中总结shell脚本函数的一些特征:这个程序是创建Linux用户的,函数形式和C语言比较类似,其传参形式稍微有所不同,不过和命令行相类似,还有一种传参的方式:grep_user(){read NAME#内容不再多说了echo “$NAME”}这里通过显示命令也能进行一个参数的传递。...

2018-12-13 00:06:27 154

原创 shell编程之循环结构

与C语言类似,shell脚本语言同样有循环语句:1.for语句 2.while语句。下面讲解一下这两个循环结构的表达并举例说明。1.for语句①基本语法:for var in 单次表do命令行done同样也有一种和C语言相类似的形式for ((i = 0;i<=10;i++))do命令行done例子:这里说明一下:seq命令是输出一系列数字,第一个参数是开始值,...

2018-12-12 23:46:54 484

原创 shell编程之分支结构

条件语句:①if 表达式then命令行fi②if 表达式then 命令行elif命令行fi多路分支语句case-------esac语法格式:这里说明一下,shell脚本语言和C语言很类似,可以起到一个互相补充的作用,学习的时候也可以类推学习。...

2018-12-11 23:41:41 212

原创 shell编程之功能语句

1.以#开头的语句是注释。最常见的是**#!/bin/sh**-------用于告诉os用哪种类型的shell来解释执行该程序2.read从标准输入读入一行,并赋值给后面的变量,其语法:(希望echo不换行 1.用echo -n 《内容》2.用#!/bin/sh echo “today is /c”)3.expr命令算术运算命令expr主要用于进行简单的整数运算,包括加(+)...

2018-12-11 23:18:48 106

空空如也

空空如也

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

TA关注的人

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