自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HAL库+CubeMX freeRTOS闪烁LED

HAL库+CubeMX freeRTOS闪烁LED1、概述2、cubeMX中freeRTOS的配置3、cubeMX中创建任务4、程序中创建任务4.1、osThreadDef4.2、osThreadCreate函数5、程序流程图Copy From 大疆学习文档1、概述操作系统 (Operating System) 的本质是一个帮助用户进行功能管理的软件。操作系统运行在硬件之上,为其他工作的软件执行资源分配等管理工作。一般称呼不使用操作系统的单片机开发方式为“裸机开发”,当进行裸机开发时,需要自己设计循

2021-07-23 09:41:26 1318 1

原创 HAL库+CubeMX 串口发送和中断接收字符串

2021/07/20 悍匠暑假集训第三天单个串口收发1、串口在cubeMX中配置2、串口接收中断与空闲中断3、串口发送数据4、串口中断接收字符串数据注意:每次中断只能接收一个字符!!!为了实现多次数据返回,我们要在中断处理函数中添加HAL_UART_Receive_IT;另外,main函数在进入while循环前要调用以下代码5、总体代码的效果6、APB时钟计算串口波特率单个串口收发1、串口在cubeMX中配置串口在cubeMX中的配置过程如下:首先在Connectivity标签页下将USART6

2021-07-20 20:19:19 11189

原创 HAL库+CubeMX CAN总线的使用

2021/07/20 悍匠暑假集训第三天CAN 控制 RM 电机1、CAN 概述1.1、仲裁场1.2、控制场和数据场2、RM C620电机使用2.1、电调发送报文格式2.2、电调接收报文格式3、CAN在cubeMX中的配置4、CAN发送函数4.1、CAN_cmd_chassis函数4.1.1、CAN发送的函数 HAL_CAN_AddTXMessage5、CAN接收中断回调5.1、接收函数 HAL_CAN_GetRxMessage5.1.1、解码函数 get_motor_measureCAN 控制 RM

2021-07-20 19:28:45 5555 2

原创 HAL库+CubeMX 按键的外部中断

2021/07/19 悍匠暑假集训第二天1、按键的外部中断1.1、内容1.2、按键原理图1.3、按键软件消抖1.4、外部中断1.5、程序学习1.5.1、外部中断在cubeMX中的配置1.5.2、HAL_GPIO_ReadPin函数1.5.3、中断回调函数介绍1.5.4、程序中的前后台1.6、按键中断实现切换三色LED灯程序1、按键的外部中断1.1、内容1)GPIO的外部中断配置2)按键软件消抖处理1.2、按键原理图开发板C型有两个按键,其中一个为复位按键,另一个为用户自定义按键,如图所示。当

2021-07-19 21:14:28 2020

原创 HAL库+CubeMX 点灯(延时函数、定时器、PWM)

2021/07/18 悍匠暑假集训第一天1、HAL_Delay 闪烁 LED1.1、内容1.2、程序学习1.2.1、LED原理图1.2.2、cubeMX中配置GPIO基本操作1.2.3、函数讲解1)HAL_GPIO_WritePin函数2)滴答计时器介绍以及HAL_Init初始化3)HAL_Delay 毫秒级延迟的函数4) HAL_GPIO_TogglePin 电平翻转函数1.3 、程序流程图2、定时器 闪烁 LED2.1、内容2.2、程序学习2.2.1、定时器在cubeMX中配置2.2.2、中断优先级讲

2021-07-18 21:17:28 5186

原创 单片机加红外编解码模块(自带破解空调遥控器功能)实现控制空调开关

单片机加红外编解码模块(自带破解空调遥控器功能)实现控制空调开关获取空调遥控器的红外编码(制冷模式)格力空调遥控器:YAP0F3型号制冷开机编码制冷关机编码制冷调高一度编码制冷调低一度编码三菱空调遥控器:型号ND09AS TD704制冷开机制冷关机制冷调高一度制冷调低一度单片机控制思路注意:获得的十六进制字符相应的十进制数应该存储到unsigned char型的字符串中,因为char型的取值范围是 -128 ~ +127,而十六进制对应的十进制数的范围是 0 ~ 255,对于unsigned char型的取

2021-04-04 12:32:09 5724 3

原创 Ubuntu18 opencv4.1.1加opencv_contrib-4.1.1(解决没有face.h的问题)编译安装(一条龙过)

Ubuntu18 opencv4.1.1加opencv_contrib-4.1.1编译安装一、编译安装前准备工作1、安装依赖项2、下载opencv4.1.1和opencv_contrib-4.1.1的压缩包下载opencv4.1.1下载opencv_contrib-4.1.13、解压二、编译安装1、进入opencv-4.1.1目录下2、创建并且进入build文件夹3、避免编译时会出现以下两个错误4、编译安装三、环境配置1、python环境配置2、C++环境配置四、验证五、卸载1、删除opencv4.conf

2021-03-30 17:57:16 1213 1

原创 重复包含头文件的问题

解决重复包含头文件的问题解决方法说明总结解决方法在每个头文件的最前端和最后端加以下代码#ifndef __xxx_x //其中__xxx_x为唯一的标志符#define __xxx_x.........#endif说明条件编译,解决的是头文件重复包含的问题比如:a.hb.h //这个b.h是包含a.h的#include “a.h”#include “b.h”如果预处理阶段,写成这样,实际上a.h就会插入两次了,编译的时候容易会报错要想不出现这种情况,可以在a.h里加上条件

2021-03-13 16:13:13 362

原创 Makefile 简单编写

Makefile 编译生成可执行文件概述Makefile的基本格式示例解析第1~4行自定义变量 和 $( )的使用第5~7行反斜杠转义符号自动变量 $^ 和 $@$^$@第8、9行匹配符%第10、11行CFLAGS、LDFLAGS和LIBSCFLAGSLDFLAGSLIBS概述在 Linux(unix )环境下使用GNU 的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个make命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为Mak

2021-03-13 15:42:24 523

原创 Linux GDB的简单使用——多线程

Linux GDB的简单使用——多线程GDB多线程调试测试代码调试GDB多线程调试测试代码#include <stdio.h>#include <pthread.h>void* thread1(){ printf("This is thread1, tid = %ld\n",pthread_self());}void* thread2(){ printf("This is thread2, tid = %ld\n",pthread

2021-03-12 23:08:26 156

原创 Linux GDB的简单使用——多进程

Linux GDB的简单使用——多进程

2021-03-12 22:47:58 187

原创 通信接口之UART

通信接口之UART——串口通信

2021-03-12 21:43:22 861

原创 通信接口知识

通信接口知识通讯分类按信号的排列方式串行通讯并行通讯按信号的同步方式异步通讯同步通讯按数据传输方向单工半双工全双工常见的串行通信接口SPI、IIC、UART通信通讯分类按信号的排列方式可以分为串行通讯和并行通讯串行通讯传输原理:利用一条数据线将数据一位一位的顺序传输优点:占用引脚资源少缺点:速度相对较慢并行通讯传输原理:利用多条数据线将数据个各位同时传输优点:速度快缺点:占用引脚资源多按信号的同步方式可以分为异步通讯和同步通讯异步通讯信息传递不是同时发生的(例如双方写邮件沟通)

2021-03-08 20:36:41 487

原创 Linux GDB的简单使用

Linux GDB的简单使用——单进程功能GDB的安装(使用gef插件)1、安装gdb2、安装git3、安装git插件4、使用GDB时,附带上gef插件GDB常用的指令简单使用GDB的步骤注意:gdb的对象是可执行文件,所以对于要用gdb调试的程序要编译,记住:编译时要加"- g"这个参数;如gcc demo.c -g -o gdbTest !!!1、使用gdb运行编译生成的可执行文件2、用 l 指令显示代码,来决定在哪打断点技巧:如果要重复上次的指令时,可以直接按“Enter”回车键3、用 b 指令设置断

2021-02-28 22:03:38 497

原创 树莓派3B Linux源码配置和内核编译

树莓派3B Linux源码配置和内核编译一、pandas是什么?二、使用步骤一、pandas是什么?二、使用步骤

2021-02-26 00:08:29 971

原创 树莓派3B 底层io驱动开发(实现火灾警报器)

树莓派3B 底层io驱动开发(实现火灾警报器)编写驱动代码前的必要准备工作BCM2835芯片手册部分的简单解读GPIO寄存器一览(位于手册的90~91页)注意:芯片手册左边列表所列出的地址是总线地址,不是物理地址!!!树莓派的物理始址是0x 3f00 0000!!!简单来说就是把7E改为3f,即为物理地址;拿GPSET0来说,其总线地址是0x 7E20 001C,物理地址就是0x 3f20 001C用于设置引脚功能的GPFSEL寄存器引脚输入输出模式的设置方法如何确定引脚在GPFSEL的第几组如何设置某一引

2021-02-24 20:45:58 1170

原创 简单说明libcurl的使用

libcurl的安装可以参考这个博文中其中的内容:安装libcurllibcurl使用函数的一般步骤(忽略参数)1、curl_global_init()2、curl_easy_init()3、curl_easy_setopt()4、curl_easy_perform()5、curl_easy_cleanup()6、curl_global_cleanup()libcurl函数的简单说明1、CURLcode curl_global_init(long flags):初始化libcurl若不

2021-02-09 20:26:32 624

原创 C语言实现基于翔云平台的人脸识别demo2(树莓派)

C语言实现基于翔云平台的人脸识别demo2(树莓派)实现目标树莓派安装mjpg-streamer实现方式方式一(不带实时监控功能)方式二(带实时监控功能)运用翔云平台的人脸识别的方案,通过使用第三方libcurl的库,用HTTPS方式访问官网进行人脸识别的操作,并拿到人脸识别得到的结果;实现目标在demo1(链接)的基础上,使用树莓派摄像头(CSI接口)获取第二张照片(访问者),再进行人脸识别,从而判断是否要开门,即实现人脸识别开门。树莓派安装mjpg-streamer在树莓派下依次执行以下指令

2021-02-09 18:04:54 1186 1

原创 C语言实现基于翔云平台的人脸识别demo1(linux)

C语言实现基于翔云平台的人脸识别(linux)实现步骤安装openssl第三方的库安装libcurl第三方的库购买使用翔云平台人脸识别的次数libcurl的使用**参考以下博文**:代码实现如何编译实现人脸识别的程序运行运行后会发现以下错误配置完临时环境变量后,再次运行后的结果实现步骤运用翔云平台的人脸识别的方案,通过使用第三方libcurl的库,用HTTPS方式访问官网进行人脸识别的操作,并拿到人脸识别得到的结果。安装openssl第三方的库原因:需要通过HPPTS的方式访问翔云平台的官网进行人

2021-02-04 16:30:33 939 1

空空如也

空空如也

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

TA关注的人

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