- 博客(44)
- 资源 (17)
- 收藏
- 关注
原创 嵌入式工程师面试的一些容易出错的问题
嵌入式工程师面试的一些容易出错的问题关于Keil优化等级的特点优化等级0:近乎不优化,用于调试代码。出现代码行不能设置断点可如此设置试试特点:最少的优化,可以最大程度上配合产生代码调试信息,可以在任何代码行打断点,特别是死代码处。优化等级1:移除未调用的内联函数和静态函数,关闭debug窗口优化,此状态也能用于调试特点:有限的优化,去除无用的inline和无用的static函数、死代码消除等,在影响到调试信息的地方均不进行优化。在适当的代码体积和充分的调试之间平衡,代码编写阶段最常用的优化等级。
2022-01-28 17:24:43
899
1
原创 教你在ubuntu1804设置固定静态ip,重启也回不会失效
1.前言坑爹的静态ip设置,搞了我几天,因为在页面端口设置无用,重启就需要重新设置[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-srEIx1tQ-1634726767972)(d:\Users\003806\Application Data\Typora\typora-user-images\image-20211020183259042.png)]2.小知识2.1在局域网内,连接的ip地址不能相同,会冲突2.2在工控机里设置,两个端口连接的ip地址也不能相同,同样
2021-10-20 18:47:23
4141
原创 再调stm32产品低功耗
再调stm32产品低功耗一、调试步骤步骤二、调试方法最近入职了一个公司,没想到又是接到调低功耗的任务!一、调试步骤步骤拿到公司的板子,第一个事情是熟悉公司的硬件电路图,把板子上的芯片捋清楚,查查它们的静态工作电流,大概率会找到偷功耗的小偷,同时把这些信息整理成一个文档,表面工作尤其重要(功耗没调下来,文档先输出,显得你工作做事有逻辑!)第二个事情:做最小系统板,开始吹芯片,把板子上原有的芯片,用热风枪吹下来(功耗也会接着下来),观察功耗,如果芯片进入了低功耗模式,大概率是能够达几十微安或者两、三百微
2020-10-22 11:21:53
641
原创 Git TortoiseGit使用方法
Git TortoiseGit使用方法tortoiseGit软件安装配置密钥生成添加密钥使用示例tortoiseGittortoiseGit是一个开放的git版本控制系统的源客户端,支持Winxp/vista/win7.该软件功能和git一样不同的是:git是命令行操作模式,tortoiseGit界面化操作模式,不用记git相关命令就可以直接操作,可根据自己情况选择安装软件安装安装顺序:先安装程序包,然后安装语言包(LanguagePack).安装说明:因为TortoiseGit 只是一个程序
2020-10-13 08:59:50
809
原创 stm32启动过程
一次性搞定stm32启动模式与启动过程一、stm32启动模式二、从flash启动过程2.1 数据在堆栈中存储方式2.2 stm32的正常启动过程三、总结一、stm32启动模式这三种模式请看下列图示三个不同作用的空间在单片机里面占了三个空间,单片机引导哪个空间资源启动,由BOOT1和BOOT0决定!正常来说一般是从flash启动!!!二、从flash启动过程2.1 数据在堆栈中存储方式启动的程序是在sram上运行!!有一个很关键数据结构的知识点,运行时sarm会分成以下五个部分例如:#
2020-07-31 11:51:17
632
原创 简述共用体枚举链表
一、共用体1.1 概念概念:不同数据类型的成员共用一块内存空间1.2 共用体的定义union 共用体名{ 成员列表;};说明:union 是表示共用体的关键字union 共用体名 表示共用体类型成员列表: 数据类型 变量名1.3 共用体类型变量的定义a) 在定义共用体的同时,定义结构体类型的变量b) 先定义共用体,在定义共用体类型的变量c) 在定义共用体的...
2020-02-03 16:35:39
336
原创 C语言的结构体
结构体一、前言1.1 数据类型基本数据类型:char int float double构造数据类型:数组,结构体,指针类型 : 数据类型 *1.2 数组的特点int a[10];1)元素的数据类型相同2)可以存储大量的数据3)数据的含义一样4)数组中数据的元素是没有联系的,是独立的存在二、结构体2.1 结构体的特点如果要记录一个人的成绩、学号、姓名、性别、年龄就...
2020-02-03 11:14:47
289
原创 C语言-指针 ( so easy)
文章目录指针一、概念二、指针的定义三、指针的初始化与赋值3.1 指针的初始化3.2 指针的赋值3.3 指针的引用3.4 指针对普通变量的引用3.5 野指针四、代码崩溃三大原因五、指针应用5.1 数组指针5.2 指针数组5.3 函数指针5.4 指针函数5.5 双重指针(二级指针)5.6 const关键字指针一、概念 概念:保存地址的变量二、指针的定义指针的定义:数据类型 *变量名数据类...
2020-02-02 23:00:29
533
2
原创 C语言-我想学习数组
文章目录一、内存分区二、数据类型三、数组3.1 概念3.2 数组的定义3.3 数组的初始化3.4 数组的赋值3.5 数组的大小3.6 冒泡排序四、二维数组4.1 二维数组的定义4.2 二维数组的初始化4.3 二维数组的赋值4.4 二维数组的大小4.5 二维数组中的元素在数组中的位置五、字符数组5.1 概念5.2 字符数组的定义5.3 字符数组的初始化5.4 字符数组的赋值5.5 字符串5.6 字符...
2020-02-02 17:37:04
230
原创 C语言-函数
一、函数1.1 函数概念概念:是一段含有特定功能的程序代码的自包含单元。1.2 函数特点特点:1)功能性;功能是一个函数的灵魂,每一个函数都有自己不同的功能2)通用性:函数是为了解决某一类问题,而不是解决某一个问题3)独立性1.3 函数的好处函数好处:1、省去重复代码的编写2、模块化思想1.4 函数的分类函数的分类:库函数、主函数、自定义函数1.5 函数的结构函...
2020-02-02 15:19:58
625
原创 程序结构与预处理命令
程序结构与预处理命令文章目录程序结构与预处理命令一、程序结构1.1顺序结构1.2选择结构1.3循环结构1.4跳转语句二、预处理命令2.1程序运行过程2.2宏定义2.3条件编译一、程序结构C语言中,程序结构包含顺序结构、选择结构、循环结构、跳转语句(break,continue,return,goto)1.1顺序结构顺序结构:程序从上往下依次执行,上一条执行完成之后,下一条语句才会执行...
2020-02-01 23:33:01
192
原创 C语言--运算符
文章目录C语言 运算符一、概念1.1运算符1.2操作数1.3表达式1.3优先级1.4结合性二、运算符的分类2.1赋值运算符2.2算数运算符2.3关系运算符2.4按位运算符2.5逻辑运算符2.6自增自减运算符2.7三目运算符2.8复合赋值运算符2.9逗号运算符三、运算符优先级(运算顺序)排序C语言 运算符一、概念1.1运算符具有一定的运算规则的符号,对数据的一种操作 2+3- 3*5= ...
2020-02-01 16:41:17
1029
原创 C语言基本数据类型
文章目录基本数据类型一、基本数据类型1.1 基本数据类型1.1.1 整型1.1.2 浮点型二、数据溢出问题三、常量与变量3.1 常量:3.2 变量:3.2.1 变量的定义3.2.2 变量的赋值3.2.3 变量名的理解四、输入输出函数4.1 printf()函数4.1.1 %[整数]d : 控制数据输出的宽度4.1.2 %[.整数]f: 控制的是小数位数输出的宽度4.2 scanf()函数4.3 g...
2020-02-01 15:49:10
778
原创 C语言基础知识
C语言基础知识一、C语言起源1972年在贝尔实验室的B语言的基础上设计开发C语言;目的:为了更好的设计开发Unix操作系统1983年美国国家标准协会成立了专门规范C语言的组织1989年使用C98或者C90标准规范C语言的使用1999年使用C99标准规范C语言的使用二、什么是C语言2.1语言的功能是作为信息的交互的媒介为了便于初学者,理解什么是C语言,我常用这样一个例子:中国人和...
2020-01-31 22:55:35
560
原创 What's the difference between private and public LoRa networks?
私有LoRaWAN网络和公共LoRaWAN网络有许多定义。一个定义如下:私有LoRaWAN网络通常由具有单个组织提供的网络基础结构的单个应用程序组成。一个公共的LoRaWAN网络将支持来自多个组织的多个应用程序。但是私人和公共之间的界限可能会模糊。在考虑LoRaWAN时,您需要考虑:您是否要订阅已建立的LoRaWAN网络运营商并可能要付费?您提供终端设备。您是否想加入社区LoRaWAN网络,该网络...
2019-11-26 15:02:45
375
原创 2+5上传github
为啥2+5呢?2是分了两步,github上传步骤和ssh生成!5是github上传步骤!五步上传GitHubgit initgit add .git commit -m “first commit”git remote add origin https://github.com/richard-ubi/Aquascope.gitgit push -u origin master本...
2019-11-26 09:46:28
125
原创 给虚拟机上的ubuntu设置静态ip
给虚拟机上的ubuntu设置静态ip一、前言二、在Windows操作、查看本地网关ip三、在Linux18上操作、采用新的ip配置脚本一、前言为了保证虚拟机上搭的服务器,能够正常被局域网内访问,故设置静态ip、让给操作更加有效二、在Windows操作、查看本地网关ip三、在Linux18上操作、采用新的ip配置脚本sudo vim /etc/netplan/50-cloud-init...
2019-10-16 10:52:44
431
原创 LoRaServer端页面设置
LoRaServer端页面设置一、Network-servers二、Gateway-profiles三、Organizations四、User五、Service-profiles六、Device-profiles七、Gateway八、Applications九、Device十、排错十一、测试、监听服务器的数据一、Network-servers二、Gateway-profiles三、Org...
2019-10-14 20:11:31
525
原创 在ubuntu上安装一个LoRaServer
在ubuntu上安装一个LoRaServer一、 关于LoRaWAN二、安装LoRaServer的步骤一、 关于LoRaWANLoRaWAN是基于LoRa芯片、由LoRaWAN联盟定义的一套标准通信协议,如下图,分了四个部分组成:End Nodes、Gateway、Network Server、Application Server;而 Network Server、Application Se...
2019-10-14 16:50:23
980
原创 LoRa终端节点开发之旅⑦--CAD开发
7.1前言其实LoRa 的 CAD开发,book哥已经讲得非常详细非常好了,在这里我只是补充几个备忘点7.2CAD原理CAD = Channel Activity Detection原文翻译:扩频调制技术的使用给确定信道是否已经进入信道提出了挑战。由可能低于接收机本底噪声的信号使用。 在这种情况下使用RSSI显然是不可行的。 为此,通道活动检测器用于检测其他LoRa®信号的存在。7.3C...
2019-09-28 17:49:54
2955
7
原创 LoRa终端节点开发之旅⑥ - - LoRa关键驱动文件SX1276.c(2)
6.1前言时光过得可快、虽然心里一直想着写博客、但是一直没动笔;今天抽点时间、回顾下博客、也相当于回顾下自己最近的工作吧!《LoRa终端节点开发之旅》是写得有点懵圈、感觉一直往下强行写下去、更是不知所云、所以趁着还在做LoRa的时候、期待有始有终、把事情做完、可能事情无法达到完美、幸运我不是怀有强迫症的完美主义者、但是把事情做完!6.2SX1276.C总的来说、SX1276就是和芯片本身寄...
2019-09-28 15:56:05
1054
2
原创 ESP32 Ardiono VScode PlatformIO开发环境
ESP32 Ardiono VScode PlatformIO前言一、ESP32 Arduino开发1.1安装arduino1.2开发板管理二、VScode 安装、插件管理安装PlatformIO2.1VScode安装2.2 VScode组件安装2.3良心作者附上插图前言之前就写过arduino esp32开发的环境编译、过于累赘、后面经过多次尝试操作,总结出以下这套无敌简单的开发环境安装方法...
2019-09-20 12:28:26
5226
6
转载 CRC32校验算法-C实现
CRC即循环冗余校验码CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC校验实用程序库在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。以下是CRC32的C语言实现,经过测试,能够正确运行:https://blog.youkuaiyun.com/weed_hz/art...
2019-09-15 11:29:25
6126
原创 LoRa终端节点开发之旅⑤ - LoRa关键驱动文件SX1276.c(1)
LoRa终端节点开发之旅⑤ - - LoRa关键驱动文件SX1276.c(1)5.1 前言5.2 中断函数5.2.2 超时中断函数5.2.3 配置函数5.3 模式设置函数5.1 前言经过前面的枯燥笔记学习,相信你除了有一个可编译的5.2 中断函数5.2.1 IO中断函数void SX1276OnDio0Irq( void* context );void SX1276OnDio1Irq(...
2019-07-02 23:24:27
1821
3
原创 LoRa终端节点开发之旅④ - - LoRa驱动_PingPong代码分析
LoRa终端节点开发之旅④ - - LoRa驱动_PingPong代码分析4.1 前言4.2 PingPong Project Structure4.3 重点函数分析4.1 前言回顾上一集,4.2 PingPong Project Structure4.3 重点函数分析...
2019-06-18 23:04:56
2149
2
原创 LoRaWAN MAC层数据包格式
LoRaWAN MAC层数据包格式一、LoRaWAN MAC层数据包格式二、Preamble三、PHDR,PHDR_CRC 、CRC*四、PHYPayload4.1 MHDR4.2 MIC4.3 MACPayload五、笔者使用案例一、LoRaWAN MAC层数据包格式二、PreambleLoRaWAN默认前导码固定长度,为8个字节。三、PHDR,PHDR_CRC 、CRC*PHDR,...
2019-06-10 15:41:31
2466
原创 LoRa终端节点开发之旅③ - - LoRa驱动_PingPong
LoRa终端节点开发之旅③ - - LoRa驱动分析_PingPong3.1前言3.2 ST_LoRa驱动3.3LoRa基本驱动-PingPong3.1前言前文说道,对于初级开发者来说,LoRa终端普遍存在着两种用法,一种是串口AT指令透传;另一种是带SPI口的LoRa芯片。余下的内容,肯定是往稍微多一丢丢的技术含量所写,即:单片机驱动一块LoRa芯片。那么。如何驱动一块带SPI的LoRa芯片...
2019-06-04 22:58:36
2455
原创 LoRa终端节点开发之旅② - - LoRa开发资料介绍
LoRa终端节点开发之旅② - - LoRa开发资料2.1前言2.2LoRa的用法3.3关于LoRa的驱动/资料3.3.1LoRa数据手册官方下载方式3.3.2LoRa官网源码3.4其他LoRa学习官网2.1前言你好! 欢迎来到【LoRa终端节点开发之旅② - - LoRa官方驱动介绍】!前一篇文章我也不知道说了个什么卵,认真想了一下如何把这个写得更好,就是把擅长的事情做好就行了,繁文缛节留给...
2019-05-29 23:47:24
2264
1
原创 解决PlatformIO开发环境串口监视器的默认波特率问题
PlatformIO IDE可以作为Visual Studio Code的插件,用来对物联网模组或者单片机进行编程设计。默认开启串口监视器的波特率为9600,虽然开启监视器之后可以再次修改,但是我更希望启动时就能以我想要的波特率来接收打印。windows下,进入C:\Users\Richard.platformio\penv\Lib\site-packages\serial\tools目录下,...
2019-05-15 12:26:28
2606
2
原创 LoRa终端节点开发之旅① - - 走近 LoRa
文章目录初步认识LoRaLoRa是什么LoRa的特征LoRa的行业背景初衷初步认识LoRaLoRa是什么笔者理解它就像WiFi、蓝牙、Zigbee一样的通信协议!but,他们的特征又不一样,比如:传统WiFi传输快,功耗高,一般带有WiFi通信的嵌入式设备,无法使用电池长期供电;而蓝牙成本低,使用方便,但是传输速度慢,通信距离短;ZigBee可以自组网,自由度高,但是也是由于其mesh组网,...
2019-05-14 22:40:47
1972
原创 修改优快云主页面《标题,博客描述,皮肤》
刚开始玩博客,开始写了一些文章,但是觉得自己的博客主页太丑;qq_xxxx 根本不是自己的 qq 号,博客标题展示效果极差,别人都炫酷得很,做个记录,从此告别丑丑的博客主页第一步:右上角,选择管理博客第二步:在设置栏选择博客设置第三步:修改博客标题和博客描述第四步:添加版权声明第五步:成功啦!!...
2019-05-08 23:14:09
480
1
转载 Arduino ESP32连接AWS IOT
参考资料:ESP32 AWS IOT Arduinohttps://blog.youkuaiyun.com/wowocpp/article/details/83544117#commentshttps://www.exploreembedded.com/wiki/Secure_IOT_with_AWS_and_Hornbill_ESP32https://www.freelancer.com/proje...
2019-05-07 20:30:59
832
原创 使用arduino生成bin文件,烧录到ESP32(批量烧录固件到模块)
一、参考资料使用Arduino开发ESP32(01):开发环境搭建https://blog.youkuaiyun.com/Naisu_kun/article/details/84958561#_35二、程序编译后生成bin文件快捷键:Ctrl+alt+S路径:项目–>导出已编译的二进制文件可在工程文件加下发现bin文件三、乐鑫 Flash 下载工具使用方法乐鑫官方烧录工作下载地址:h...
2019-05-05 10:55:20
21412
6
原创 LoRa信道活动检测(CAD)
一、CAD是什么?随着扩频调制技术的应用,人们无法确认信道被占有,是由于低噪声影响,还是真的数据来到,所以引入了CAD检测。LoRa CAD检测方法:从机设置好频率和扩频因子,开启CAD模式,(注意:无论是否有信号到来,都会产生CADDone中断),当有匹配(相同的频率和扩频因子)的信号到来时,就会产生CADDetect中断,CADDone也会产生,并且,CADDetect和CADDone会同时...
2019-04-23 14:18:56
7081
5
原创 lora单通道网关使用方法
一、下载地址https://github.com/things4u/ESP-1ch-Gateway-v5.0二、参照地址ESP32 LoRa 1-CH Gateway, LoRaWAN, and the Things Networkhttps://learn.sparkfun.com/tutorials/esp32-lora-1-ch-gateway-lorawan-and-the-thi...
2019-04-19 18:11:00
2887
原创 Lora参数用法
一、参考资料LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释https://blog.youkuaiyun.com/qq_36389327/article/details/82382299https://blog.youkuaiyun.com/HowieXue/article/details/78028881详解LoRa关键参数(扩频因子,编码率,带宽)的设定http://rf.eefocus...
2019-04-10 18:41:54
2217
原创 ESP32驱动Lora(Lora最简单使用方法-点对点)
一、Arduino_Lora安装库路径修改(可选)首先,在arduino安装路径下新建arduino_lib文件夹文件–>首选项(或Ctrl+,)修改安装库的路径二、Arduino_Lora库的安装工具–>管理库(或Ctrl+shift+i)在搜索栏搜索loralib,然后安装在该路径下可看到库已经下载三、库文件修改(主要是要修改ESP32与lora的接口方式...
2019-04-10 14:16:48
7180
2
TortoiseGit
2020-10-13
利用VScode进行ESP32 Arduino开发.docx
2019-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人