- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 【无标题】
##### linux的系统开机启动```xml*.servicesystemctl test.service start```* 使用**service**开机启动linux服务管理有两种方式**service**和**systemctl**`/lib/systemd/system/` 和 `/etc/systemd/system` 存放所有可用的单元文件手动创建一个开机启动脚本,开机自动执行`/home/book/test_qt_whail/server/sh..
2022-03-09 23:12:59
452
原创 为什么C++开发不需要安装STL库
如果交叉编译工具链的路径已经添加到path变量中的话,可以直接使用... -v即可查看,比如我的是arm-linux-gnueabihf-g++那么直接arm-linux-gnueabihf-g++ -v或者是--version就可以得到版本信息了,通过GNU 下的交叉工具链,通过查看 linux的交叉工具链(开发板对应的工具链)可以查看其版本是否支持c++11、c++14、c++17、c++20版本。STL库包含在交叉工具链中,也就是说程序员调用的是交叉工具链的头文件#...
2021-11-20 22:49:00
590
转载 STM32进入硬件错误中断(HardFault_Handle)处理方法
STM32进入HardFault_Handler处理办法HardFault_Handler出现的情况一般有两种:一种是:数组越界一种是:堆栈溢出,程序指针指飞方法一在中断HardFault_Handler中的while()处打上断点,让程序执行到此处停止。在Registers里面找到R14(LR)的值,我的这里是:0xFFFFFFF9说明一下:0xFFFFFFF9对应的是要看MSP寄存器 0xFFFFFFFD对应的是要看PSP寄存器...
2021-11-17 20:07:47
9957
原创 人工智能, 机器学习和 深度学习的区别
---智慧是与人类相关的一种特征。当我们尝试在机器中模仿人类这种使用智慧处理方式时候,我们将其称为人工智能,因此任何模仿人类行为的方法都可以称为人工智能。机器是使用编程实现的,比如编程中使用while循环,if判断等操作来复制人类的 循环、判断等行为,那就可以说这就是人工智能的,但是这种方法效果并不好,这是因为此方法是编程的显示方式。这以为着我们要定义每个可能的方案以及该方案发生时的操作。举例:如果我们以无人驾驶汽车为例,那就意味着我们要定义在驾驶时,在路上遇到的任何一种可能性,如 车前面有人,我们必须
2021-11-13 19:04:29
907
原创 git 常用命令
git init:初始化git add :添加文件git commit -m <message>:提交消息注释git commit --amend -m "新的修改提交信息"git status:查看状态git diff 文件:查看不同git log :查看提交记录 git log --pretty=onelinegit reset --hard HEAD^ :返回到上一个版本git reset --hard 1094a...:返回到1094a...版本git reflog:
2021-10-17 16:09:08
202
原创 c++的常用库
c++的常用库C++ 资源大全关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++标准库,包括了STL容器,算法和函数等。 C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Library:标准模板库 C POSIX library : POSIX系统的C标准库
2021-08-11 17:44:43
6061
3
原创 浅谈PID
p:误差比例项 ,如果偏差为0,则比例环节不起作用,只有存在偏差时,比例环节才起作用。 【在没有i的情况下存在静差:输入调整温度10度--》|外界环境降低1度 | --输出9度》--反馈给输入:调整10度】 比例i:误差的累计 ,积分环节主要用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的差值,积分环节实际上就是 偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的静差。 【就是系数 i * 所有误差的和】 积分d:误差的差值 微分信号这是反应了偏差信...
2021-08-01 22:15:14
584
原创 linux 开机启动方法之service
* 使用**service**开机启动linux服务管理有两种方式**service**和**systemctl**`/lib/systemd/system/` 和 `/etc/systemd/system` 存放所有可用的单元文件手动创建一个开机启动脚本,开机自动执行`/home/book/test_qt_whail/server/sh.sh`的脚本1. 只需要在`/lib/systemd/system/`创建**test.service**2. systemctl daemon-rel
2021-07-31 18:23:30
5345
1
原创 如何学习一门编程语言
任何常用的编程语言都具备一组公共的语法特征,不同语言仅在特征的细节上有所区别。要想学习并掌握一种编程语言,理解其语法特征的实现细节是第一步。最基本的特征整型、字符型等内置类型变量,用来为对象命名表达式和语句,用于操纵上述数据类型的具体值if或while等控制结构这些结构允许我们有选择地执行一些语句或者重复地执行一些语句函数,用于定义可供随时调用的计算单元大多数编程语言通过两种方式来进一步补充其基本特征:一是赋予程序员自定义数据类型的权利,从而实现对语言的扩展;二是将一些有用的功能封装成库函数提.
2021-06-17 18:41:38
100
原创 C++语法与标准库有什么关系
c语言一样:就是知道基本的 数据类型(int 、char…)、判断语句(if..else)等与c一样,class:然后就是面向对象的三大特性:封装、继承、多态语法再升级也是使用上多一些技巧、优化等,比如c++11的lamda表达式、类型新增auto而已。这些就是基础,c++语法就好像是我们的汉子,但是要写出一篇好的文章,还需要成语,需要优美的诗词句子等,c++库就是我们的成语诗词。常见的c++库有boost和stl,对应嵌入式开发者来说,其库已经包含在了交叉工具链中,只要会用就可以了。...
2021-06-05 23:54:06
104
原创 c++版本一直在更新2011、2017、2020等,对于嵌入式开发者来说应该学哪个呢,我的硬件设备会不会不支持这么高的版本呢?如何查看设备支持哪个C++版本呢?为什么在pc机上不存在这个问题?
c++版本一直在更新,建议不要使用最新的,可以后退两三个版本,已经足够了,建议C++11,因为大版本最为经典的升级。开发语言是在不断的完善的,语言标准指定出来后,各个厂家会将标准制定到自家的产品中,将芯片升级、软件升级,这样合格的产品才会流入到开发者中,这期间会有很长的修复完善时间。当开发者拿到芯片/开发板后需要查看源码或者工具链是否支持c++对应的版本库,如果不支持就不要使用对应的库了,那为什么在pc机上想用哪个版本就用哪个版本呢?其实就是pc机使用的人多,设备强悍,更新速度快而已。如果你新买的芯片/开发
2021-06-05 23:53:17
563
原创 C++常用的库有哪些,标准库哪些是系统自带的,标准库有什么版本,如何确定安装了标准库,如何安装和升级标准库,如何安装卸载这些库?
当我们编写程序时候,会经过 预处理、编译器、汇编器、连接器 阶段预处理:gcc -E main.c -o main.i //引入头文件编译器:gcc -S main.c -o main.s //引入头文件的值汇编器:gcc -c main.c -o main.o //生成汇编语言连接器:gcc main.c -o main前三个阶段只对程序语法的判断,也就是说程序只要没有语法错误都会到到第三个阶段,只有在连接的时候,没有找到对应的库而报错。举个例子:...
2021-06-05 23:52:20
720
原创 C++11 使用lamda表达式常用在的领域,如何在stl的算法中实现
int a=55;[=] (int x, int y) -> bool {}=:在 {}中不允许修改外部变量的值a的值不允许改动&:在 {}中允许修改外部变量的值,a的值允许改动注意:先中括号[] 再小括号()//打印v向量for_each(v.begin(),v.end(),[](int data){cout<<data<<endl;}...
2021-06-05 23:45:14
112
原创 PX4实现发布多个消息
/**************************************************************************** * * Copyright (c) 2012-2019 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted
2020-11-06 16:48:37
135
原创 PX4实现订阅多个消息
订阅消息一:sensor_combined订阅自定义消息:xxxx文件位置:\Firmware\src\examples\px4_simple_app\ px4_simple_app.c/**************************************************************************** * * Copyright (c) 2012-2019 PX4 Development Team. All rights reserved. * * R
2020-11-06 16:47:00
318
原创 PX4官方examples 发布与订阅 分析
功能:实现 订阅 sensor_combined 消息,将订阅的消息数据 通过发布主题( vehicle_attitude)发布出去/*****************************************************************************Copyright © 2012-2019 PX4 Development Team. All rights reserved.Redistribution and use in source and binar
2020-11-06 16:42:15
539
原创 windows10和安装linux双系统安装教程(超简单)
windows10和安装linux双系统安装教程(超简单)一共分三步:第一步了解自己电脑的BIOS第二步安装windows10系统第三步在windows10中安装ubuntu系统第一步了解自己电脑的BIOSUEFI:是新式BIOS,只要是近几年买的都是这个BIOSMBR:是传统BIOS,上世纪买的电脑基本都是老的了解自己电脑的类型电脑类型BIOS和硬盘组合常见的有如下几种:UEFI (是新式BIOS) + 单硬盘UEFI (是新式BIOS) + 双硬盘(SSD
2020-10-20 20:19:22
30655
6
原创 px4讲解(二)软件硬件
无人机(飞控)软硬件介绍无人机(简称 飞控 )的软件和硬件都是开源的,飞控的硬件也是是 开源的,硬件叫PIXHAWK 器硬件可以根据自己的需要修改硬件;飞控软件也是开源的,软件叫px4但是软件有两种:一种叫PX4原生固件、一个叫Autopilot 固件,理解如下:DELL的笔记本硬件《===》飞控 PIXHAWK 控制器硬件(硬件都开源)DELL的笔记本Windows系统《===》飞控 Autopilt 固件(系统软件开源)DELL的笔记本Linux系统《===》飞
2020-07-05 16:20:19
805
原创 px4讲解(一)历史起源
第一节对于初次接触无人机行业的人来说一些无人机行业课外知识还是需要了解的,ardupilot和px4是目前无人机行业最受欢迎、也是最为先进的飞控软件,他们又是如何诞生并一路走来的呢,他们跟Dronecode基金会又有什么千丝万缕的联系呢,下面一一揭晓。早在2005年一个意大利开发团队开发出了一款Arduino开源电子原型平台,其团队根据Arduino方便开发、源码开源特性、衍生出Ardupilot和WMC等产品。2007年 Chris Anderson 创立一个DIY Drones网络社区 htt
2020-07-05 16:17:27
6144
原创 cmake 与 make 区别
什么是make,什么是cmake,什么是Makefile,什么是CMakeLists.txt一个可以运行的程序(*.exe)是代码生成的,但是代码是如何运行呢?这里会有趣易懂的一步一步介绍:内容有删减大神请绕过,学习是在已知的基础上的扩充与发散先写一个简单的源代码:main.cmain.c接着生成 xxx 可执行文件//在xxx.c的同目录下gcc -o main main.c...
2020-04-28 23:15:13
1059
原创 windows10驱动安装失败及禁用驱动签名问题
问题:方法:红色强调部分系统目录(C盘)下找到c:windows\System\cmd.exe右击:管理员权限打开输入:Reagentc /enable (注意:Reagentc 空格/enable)回车成功返回:REAGENTC.EXE:操作成功失败返回:未发现。。命令失败解决:重启后:使用c:\windows\system32\c...
2019-05-07 16:14:00
3769
转载 ARM内核和架构浅读
ARM内核和架构都是什么意思,它们到底是什么关系?ARM产品越来越丰富,命名也越来越多。很多朋友提问:ARM内核和架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时有所帮助~1.ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同...
2019-04-09 17:45:43
186
翻译 linux启动过程
NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。NAND的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于Flash的管理需要特殊的系统接口。通常读取NOR的速度比NAND稍快一些,而NAND的写入速度比NOR快很多,在设计中应该考虑这些情况。过程:大多数ARM芯片从0地址启动1、...
2019-04-08 17:18:38
105
原创 linux开发入门第一步
前言:本人14年毕业一直从事嵌入式开发,从单片机程序+电路+PCB设计+物料采购+调试焊接+批量生产+文档整理。那个心碎呀。。言归正传,对linux一直有接触,但是一直没有整理,感觉零零散散,一点都不圆润。在此从零整理linux,也给自己梳理开发流程,总结开发过程,勿重复造轮子,时间就是金钱,效率就是生命。每项技能吸收成自己的技术,灵活应用,尽早跨过学习成长期,延长收入期。Gcc编译4...
2019-03-22 17:01:39
291
原创 c语言字符串替换函数StrReplace(char strRes[],char from[], char to[])可直接使用
将如下函数添加到文件中,可直接调用。StrReplace(char strRes[],char from[], char to[])@strRes[] :原始字符串。@rom[]:需要替换的字符,串只替换第一次出现的位置。@to[]:需要替换成什么字符串。成功返回:1失败返回:0#include <malloc.h>#include<netinet...
2019-02-17 22:40:32
11292
1
原创 NRF51822 连续广播
折腾了一天终于解决了使用NRF51822官网的串口例程短时间不链接会停止广播的问题,现在给大家分享一下:解决::advdata.flags 这个是设置蓝牙的模式 设置为BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE模式的时候,表示广播APP_ADV_TIMEOUT_IN_SECONDS 《标号4》 秒,系统
2016-08-11 18:06:54
1731
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人