- 博客(97)
- 资源 (13)
- 收藏
- 关注
原创 linux通过串口传输文件
在嵌入式调试过程中,我们经常会使用调试串口来查看Log或者执行指令,其实,调试串口还有另一种功能,就是传输文件,本文说明使用MobaXterm串口工具来传输文件。
2023-11-23 16:40:07 789
原创 linux音频-IIS音频接口
IIS 总线 IIS(Integrate Interface of Sound)即集成音频接口,在上个世纪 80 年代首先被 Philips 公司用于消费产品的音频设备,
2023-10-25 10:28:32 586
原创 Linux音频-machine类
有文章写的很好,转载(chao)了,原文连接在openwrt源码的根目录下,目录下,有对machine, platform, codec的描述。在查看此节之前,需要具备Linux设备树、Linux系统platform总线驱动的大致了解,否则读起来可能晦涩难懂。关于下午字段的搜索,可以在对应目录下,使用grep "目标字符串" * -nrw或grep "目标字符串" * -nr命令来搜索。
2023-10-25 10:23:03 509
原创 Linux音频-基本概念
Codec类: Codec即编解码芯片的驱动,此Codec驱动是和平台无关,包含的功能有: 音频的控制接口,音频读写IO接口,以及DAPM的定义等。而在非交错模式下,首先记录的是一个周期内所有桢的左声道样本,再记录右声道样本,数据是以连续通道的方式存储。ASOC的出现就是为了解决ALSA无法解决的问题。一次采样得到的数据叫做样本,样本是记录音频数据最基本的单位,其长度常见的有8位,16位,24位,32位。在分析整个ASOC的过程中,出现了众多的数据结构,在此先理清重要的数据结构的关系。
2023-10-25 09:42:14 504
转载 keil5 分析map文件
map文件是编译器在连接之后生成的一个文件,用来反映各个函数模块之前的调用关系以及在flash和SRAM中的分布情况,了解这个文件对深入理解嵌入式软件开发有很大的帮助。Removing misc.o(i.NVIC_Init), (112 bytes).这句话的意思是misc.c文件中的NVIC_Init()函数未被调用。这句话的意思是main.c文件中的main()函数引用了led.c文件中的LED_GPIO_Config()函数。各个源文件生成的模块、段(函数的入口)之间相互引用的关系。
2023-06-27 14:38:55 2358
转载 QT QNetworkAccessManager 解决HTTPS问题
文章目录1. 添加network模块2.下载相对应的dll库文件3.安装以及拷贝两个dll文件到编译器相应的文件夹下1. 添加network模块在.pro添加 network代码中可以查看 QNetworkAccessManager 支持的协议QNetworkAccessManager *manager = new QNetworkAccessManager(this);qDebug() << manager->supportedSchemes();如果返回值中没有 ht
2022-04-20 09:44:13 1383 4
原创 《如何阅读一本书》- 4分析阅读第一阶段
文章目录分析阅读规则一:书籍分类怎么判断书籍类型书籍的类型准则实用性理论性实用性和理论性的混淆点分析阅读规则二:找出这本书的骨架。分析阅读规则一:书籍分类怎么判断书籍类型阅读的第一层次,检视阅读。通过书名,目录,序言,摘要,等,把书籍的类型找出来。这时我们需要书籍的类型准则书籍的类型准则实用性实用性的作品在教你如何去做你想做的事情。实用性的作品常见应该,应当的字样。任何一本教我们如何生活,该做什么,不该做什么,同时说明了会有什么奖赏,不做会有什么惩罚的书都是实用性的书籍。举例:任何指南类
2022-03-12 18:31:03 427
原创 《如何阅读一本书》-3如何主动地阅读
文章目录1. 主动的阅读者要提出四个问题2. 做笔记3. 养成阅读的习惯1. 主动的阅读者要提出四个问题主动阅读的核心是:在阅读时提出问题,并在阅读过程中自己必须尝试去回答问题。阅读过程中要以适当的顺序提出适当的问题。无论读什么书都要回答如下四个主要的问题:(1)整本书在谈些什么?(2)细节内容是什么?如何叙述说明的?(3)这本书有没有道理?整体都有道理,还是部分有道理。(4)这本书跟你有什么关系?2. 做笔记目标回答并记录自己阅读中提出的问题的答案。为什么?一是可以保持清醒二是
2022-03-12 18:30:04 283
原创 QT笔记 exe打包
文章目录点击release,运行生成release的包到相应目录找到生成的.exe文件复制.exe文件到一个新的目录中,使用QT自带的cmd进入到.exe的目录中点击release,运行生成release的包到相应目录找到生成的.exe文件复制.exe文件到一个新的目录中,使用QT自带的cmd进入到.exe的目录中进入到.exe文件的文件目录后,输入windeployqt 程序名.exe,例如windeployqt 11_QtSerial.exe。这时QT会自动添加使用到的.dll库文件。
2021-09-06 15:56:14 139
转载 [Linux]Linux printf 输出重定向
原文地址方法一#include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/stat.h> #include <fcntl.h> int main() { fflush(stdout); setvbuf(stdout,NULL,_IONBF,0); printf("te
2021-01-27 19:08:04 2108 1
转载 大小端
可以把主存看成一本空白的作业本,你现在要在笔记本上记录一些内容,他的页码排序是bai第一页 : 0x0000001第二页 : 0x0000002…最后一页: 0x00000921 如果你选择从前向后记录(用完第一页,用第二页,类推)这就是先使用低地址,后使用高地址.0x0000001 -> 0x0000002-> … -> 0x0000092业内有这样表述:动态分配内存时堆空间向高地址增长,说的就是这种情况.这个向高地址增长就是先使用低地址,后使用高地址的意思.2 如果你
2021-01-27 10:48:15 908
原创 main函数的argc与arg
原文地址:https://www.cnblogs.com/dongry/p/10729892.html C语言中main函数的参数有两个,这两个参数写为argc和argv.因此,main函数的函数头可写为:main(argc,argv);C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为: int main (int argc,char *argv[]) 或者 int main (in
2021-01-27 10:46:37 1000
原创 emqx学习笔记
文章目录一、emqx安装1.1 emqx启动打开MQTT.fx进行emqx服务器的mqtt客户端测试:1.2 基本命令二、分布式集群2.1 Erlang/OTP 分布式编程节点(Node)2.2 EMQ X 分布集群设计主题树(Topic Trie)与路由表(Route Table)订阅(Subscription)与消息派发节点发现与自动集群手动(manual) 方式管理集群介绍2.3 防火墙设置三、EMQX目录结构3.1 bin 目录四、COAP插件的使用4.1 开启 emqx_coap 插件4.2 安装
2021-01-25 12:11:29 14295 6
原创 COAP学习笔记
文章目录一 UDP协议简介二 COAP协议2.1 COAP简介2.2 COAP消息类型2.3 CoAP消息结构2.4 CoAP观察模式2.5 COAP的安全性2.6参考文档RFC文档【CoAP核心协议 RFC 7252】The Constrained Application Protocol (CoAP)【CoAP资源发现 RFC 6690】Constrained RESTful Environments (CoRE) Link Format一 UDP协议简介用户数据报协议(User Data
2021-01-23 12:54:18 2626 11
原创 如何做好技术分享
文章目录1. 确定技术分享的目的(出师有道)2. 确定分享主题和简介(知己)3. 确定分享的听众(知彼)4. 分享内容的准备4.1 分享内容的原则4.2 内容的准备步骤i. 列出大纲ii. 确定大纲枝干iii. 确定收尾检查5. 分享的过程5.1 事先检查好设备。5.2 注意肢体语言,与声音变化5.2 适当与观众交流。5.3 应对提问6. 多参与分享,向大佬学习。最近在团队中需要进行技术的分享,趁此机会复制粘贴一波如何做好技术分享。1. 确定技术分享的目的(出师有道)提升经验:通过分享者的分享,让听
2021-01-11 19:50:07 4343 1
原创 msg_error 的编写
文章目录预编知识printf 中的printf 中的 ... 与 \_\_VA_ARGS__错误信息打印模板预编知识printf 中的可以把printf 中的 ## 理解成是一个粘合剂。这个运算符把两个语言符号组合成单个语言符号,为宏扩展提供了一种连接实际变元的手段。例如#define XNAME(n) x##n如果这样使用宏:XNAME(8)则会被展开成这样:x8printf 中的 … 与 __VA_ARGS__... 表示 输入的参数不定,__VA_ARGS__ 是一个可变参数
2021-01-04 14:48:47 1113
原创 mqtt协议 学习笔记
文章目录1. MQTT协议介绍2. MQTT协议特性3. MQTT协议的通信模型1. MQTT协议介绍MQTT(Message Queuing Telemetry Transport)消息队列遥测传输Telemetry 表面MQTT协议 适合于 遥测数据的传输,,如遥测数据的上传,制动命令下发等等。mqtt 由IBM 提出,发布的是MQTT V3.1版本。在2014年,被OASIS采用,发布了MQTT V3.1.1版本。现在MQTT还是有OASIS维护和开发。MQTT 协议中,有三类对象。分别是
2020-12-30 12:54:49 707 2
原创 快速排序学习笔记
文章目录一、快速排序简介1.1 基本思路1.2 时间复杂度与空间复杂度二、快速排序C语言实现代码2.1 快速排序实现思想2.2 找分界值的实现思想2.3 代码一、快速排序简介1.1 基本思路为什么再众多的排序中,快速排序特别重要,因为它的评价时间开销最小。因为它使用了分而治之的思想。1.2 时间复杂度与空间复杂度最好、平均的时间,空间复杂度与数学推导有关,不做推导,记住即可。最坏的时间复杂度:n+(n-1)+(n-2)+…+2+1 = (n+1)n/2 =(n2+n)/2 = O(n2)
2020-11-21 17:39:03 151
原创 TinyOS点对点通信
一、概述就是一个点 对另一个点进行通信。如:节点0发送数据给节点1。二、源码分析2.1 MakefileCOMPONENT=RadioCountToLedsAppCCFLAGS += -DCC2420_DEF_CHANNEL=14include $(MAKERULES)注意:无线通信中很重要的一个参数的设置。CFLAGS += -DCC2420_DEF_CHANNEL=14可以区分其他频道,以防其他节点对该频道内的通信进行干扰。也可以以此来区分不同的网络,免得以此干扰。2.2 Ra
2020-11-14 23:50:06 1287
原创 UART、RS232、RS485协议
文章目录一、UART1.1 UART帧格式1.2 UART电路的连接1.3 串口存在的问题二、RS232协议2.0 RS232协议介绍2.1 RS232的帧格式2.2 RS232电路连接2.3 RS232存在的问题三、RS485协议3.0 RS485协议介绍3.1 RS485帧格式3.2 RS485电路连接3.3 RS485的优势四、RS485编程。4.1 收发器SP3485及其电路连接收发器SP3485收发器SP3485的电路连接在电脑之间,我们常用RS232来通讯;在工业上,我们经常会用到RRS485
2020-11-06 15:16:14 6994
原创 ATK-LORA-01Lora模块的使用测试
文章目录一、ATK-LORA-01二、模块的三种工作状态三、模块的四种通信工作模式3.1 通信的一般模式 03.1.1 无线透明数据传输3.1.2 定向数据传输3.1.3 广播和数据监听3.2 唤醒模式 13.3 省电模式 23.4 信号强度模式 3四、 使用AT指令测试模块的硬件接口连接五、体验一下Lora的AT指令一、ATK-LORA-01使用ATK-LORA-01 无线串口模块模块连接图二、模块的三种工作状态三、模块的四种通信工作模式3.1 通信的一般模式 03.1.1 无
2020-11-04 09:25:00 8949
原创 C语言 几个重要的ascii值
注意常错点:0 - 9 ascii 是 48-57‘A’ - ‘Z’ ascii 是 65-90‘a’ - ‘Z’ ascii 是 97-122switch的 case 常量表达式:switch的case 常量表达式的 值 必须要是整数,因为只有整数才可以列举 ,故可以是 整型、char 型、枚举类型 练习: 从键盘输入一个字符 如果是小写字母则把它转成对应的大写字母 如果是大写字母则把它转成对应的小写字母 如果是数字,就不改变 然后输出 其它的不处理,也
2020-11-03 09:47:26 2679
原创 C语言-运算符
C语言取整数取整风格共有3种:向零取整。即向坐标轴0的方向,取最近的整数。向上取整。也就是向+∞取整,即取不小于结果的最小整数。向下取整。也就是向-∞取整,即取不大于结果的最大整数。所以,C语言中计算-5除以3,因为实数结果约为-1.67,向零取整,得到结果为-1。负数取余#include <iostream>using namespace std;int main(){ cout<<(5%3)<<endl; //5=3x1+2 c
2020-11-03 09:44:55 647
原创 《如何阅读一本书》-2检视阅读
检视阅读有两方面检视阅读一:系统的略读或粗读。读书应该首先略读一下,了解这本书,作者在主张一些什么,判断这本书值不值得自己读。具体的一些略读的建议:先看书名页,如果有序在看序这部书的宗旨,作者写书的角度等研究目录页这是对这本书的基本架构做概括性的理解。如果书中附有索引,也要简阅一下挑几个与主题息息相关的篇章看。最后一步,东方西方,看一两段,一两页,把整本书翻一遍。这样阅读在最多不到一个小时的时间里,判断自己想不想继续花时间和精力去挖掘这本书的内容。检视阅读二:粗浅的阅读头一次面
2020-11-02 21:17:36 306
原创 《如何阅读一本书》-1总括
文章目录1 阅读的活力和艺术2.阅读的层次第一层 基础阅读第二层 检视阅读第三层 分析阅读第四层 主题阅读第一章 阅读的层次1 阅读的活力和艺术主动的阅读阅读的目的阅读是个学习的过程阅读是缺席的老师2.阅读的层次一共有4种层次的阅读,层次是层层渐进的。第一层 基础阅读就是可以识字,摆脱了文盲。一句话:这个句子在说什么?大部分的速读都着眼于这个层次。第二层 检视阅读特别强调时间,如在15分钟读完一本书。也就是读书时抓住书的重点一句话:这本书在说什么第三层 分析阅读就是全盘,
2020-11-02 20:37:06 258 2
原创 面向过程与面向对象
转自知乎面向过程与面向对象的比较文章目录一、面向过程(Procedure Oriented 简称PO :如C语言):二、面向对象(Object Oriented简称OO :如C++,JAVA等语言):三、例如:例子一:例子三四、面向过程与面向对象的优缺点:五、总结一、面向过程(Procedure Oriented 简称PO :如C语言):从名字可以看出它是注重过程的。当解决一个问题的时候,面向过程会把事情拆分成: 一个个函数和数据(用于方法的参数) 。然后按照一定的顺序,执行完这些方法(每个方法看作一
2020-10-30 21:29:59 233
原创 C语言 数据类型、变量、常量
一.数据类型:1.1 每种数据类型的所占的字节数1.2 存储区别有符号与无符号数的区无符号数据类型,最高位不表示正负。数据从0开始记起。无符号数据类型,最高位0表示正,最高位1表示负。在计算机的存储值都是其补码。如:char i = -1; i 在计算机的存储值是0xFF。原码,反码,补码理解浮点数的表示1.3...
2020-10-25 17:00:33 305
原创 浮点数的理解
文章目录一、浮点数定义二、计算机中的浮点数三、C语言的浮点数3.1 3种浮点数类型3.2 一般表示法3.3 指数表示法3.4 浮点数的存储格式IEEE 754标准举例子一、浮点数定义浮点数:浮点数是指,小数点可以任意浮动的数字。二、计算机中的浮点数在我们的科学计数法中,我们使用10作为指数的底数。但是在计算机中,计算机是使用2进制的,故我们使用2作为指数的底数。我可以三、C语言的浮点数3.1 3种浮点数类型3.2 一般表示法3.3 指数表示法3.4 浮点数的存储格式通常
2020-10-25 10:51:06 3573
原创 GCC编译器工具的使用
文章目录1. 开始C语言的建议:讲解即学习思路:2. gcc生成可执行文件过程预处理 :gcc -E xxx.c编译:gcc -S xxx.i汇编:gcc -c hello.s链接:gcc hello.o -o hello执行可执行文件总结:3. 编辑器vim 使用编程主要事项1. 开始C语言的建议:概念的正确性动手能力(每天都在成长)(程序员不是培训出来的,像是作家,需要日积月累的)阅读优秀的程序段(先要动手,再去阅读,有对比才有伤害)大量练习,面试题(扎实自己的基本功)讲解即学习思路:
2020-10-23 11:13:09 1511
原创 浅谈编译原理
文章目录什么是编译?计算机程序设计语言三个层次程序的翻译编译编译器编译器定义:编译器在系统中的位置。举例说明什么是编译?首先明确一个概念:计算机程序设计语言三个层次计算机程序设计语言分为三个层次:高级语言、汇编语言、机器语言。机器语言。 机器语言是可以被计算机直接理解的0和1构成的序列。 例如指令C706 0000 0002,其中:C706是16进制的操作码,表示移入操作;0000,0002是两个操作数,这里表示讲操作数0002移到地址0000。 机器语言有以下特点,机器语言有二进制
2020-10-23 10:07:04 743
原创 数据结构和算法笔记-算法分析
文章目录一、算法分析1.1 算法的时间复杂度分析事后分析估算方法:(事后诸葛亮,不好)事前分析估算方法1.1.1 函数渐近增长随着输入规模的增大,算法的常数操作可以忽略不计随着输入规模的增大,与最高次项相乘的常数可以忽略。最高次项的指数大的,随着n的增长,结果也会变得增长特别快算法函数中n最高次幂越小,算法效率越高1.1.1 算法时间复杂度1.1.2.1 大O记法一、算法分析前面我们已经介绍了,研究算法的最终目的就是如何花更少的时间,如何占用更少的内存去完成相同的需求,并且也通过案例演示了不同算法之间时
2020-10-20 16:38:57 755
原创 数据结构和算法概述笔记
文章目录一、数据结构和算法概述1.1什么是数据结构?1.2数据结构分类逻辑结构分类∶物理结构分类:1.2 什么是算法?算法初体验需求1:需求2一、数据结构和算法概述1.1什么是数据结构?官方解释∶数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。大白话:数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据1.2数据结构分类传统上,我们可以把数据结构分为逻辑结构(数据间的关系)和物理结构(存储角度)两大类。逻辑结构分类∶逻辑
2020-10-19 16:51:39 216
原创 TinyOS - 点对点通信
文章目录一、概述二、源码分析MakefileRadioCountToLeds.hRadioCountToLedsC.nc一、概述略二、源码分析Makefile这里面定义了频段CFLAGS += -DCC2420_DEF_CHANNEL=14,设置自己的频段避免与其他的设备造成冲突干扰COMPONENT=RadioCountToLedsAppCCFLAGS += -DCC2420_DEF_CHANNEL=14include $(MAKERULES)RadioCountToLeds.h定
2020-10-04 20:50:52 2448 5
原创 傅佩荣的《哲学与人生》 - 第二章:思想方法
文章目录思想方法1.逻辑1.1 概念1.2 判断1.3 推理2.语言分析2.1 语言有效性2.2 语言的类型3.现象学(分辨物品的策略)3.1 打破假象3.2 胡塞尔的现象学4.诠释学4.1 阅读的三种取向4.2 阅读的四个步骤思想方法1.逻辑1.1 概念对某些事物的抽象概括描述。1.2 判断两个以上的概念结合在一起,就形成判断1.3 推理在既有的判断衍生出来的判断就是推论直接推论三端推论公式:大前提+小拳头+结论两难推论2.语言分析2.1 语言有效性明确一
2020-10-03 16:24:01 455
原创 傅佩荣的《哲学与人生》 - 第三章:人性的真相
文章目录一、人的现状 (希腊思想)1.1 河马史诗:能够=应该=必然(谬误)1.2 德尔斐神庙:认识你自己,凡是勿过度1.3 亚里士多德:认识理性的动物二、 人的起源(基督宗教)1.1 基督教和天主教1.2 上帝造人三、近代世界3.1 达尔文和柏格森3.2 失落的环节:理想的思考3.3 人与动物的分界3.4真正的生命:直观的发挥3.5 人到哪里去总结:快乐的存在。一、人的现状 (希腊思想)1.1 河马史诗:能够=应该=必然(谬误)这个观点不科学,进而发展道理德尔斐神庙阶段。1.2 德尔斐神庙:认识你
2020-10-03 16:23:28 821
原创 傅佩荣的《哲学与人生》 - 第一章
文章目录一、哲学是什么?定义:哲学原意:“爱智”对哲学的基本描述培养智慧发现真理印证价值一、哲学是什么?定义:哲学原意:“爱智”爱好智慧爱智的态度:不断追求真知。保持好奇不断质疑和询问。哲学的四维:理想的反省自身的经验是个宝库,像黄河之水浩浩荡荡,但也挟沙俱下。我们需要理性的反省自己的经验。许多人都像《乱世家人》中的赫斯嘉在经过许多灾难后,最后考在门边只说了一句话"明天再说吧”。相信“再说吧”这句话很多人都说过,之所以会这么说,就是因为实在想不清楚,不知道为什么会有这么多复杂的事情发生。
2020-10-03 15:36:43 1340
原创 TinyOS - TinyOS中串口的收发操作
文章目录一、串口概述二、源代码TestSerial.hTestSerialAppC.ncTestSerialC.ncMakefile三、现象数据分析四、举一反三。一、串口概述略二、源代码TestSerial.h#ifndef TEST_SERIAL_H#define TEST_SERIAL_H//这里自定义了一个结构体,作为发送我们需要发送的数据报//结构体很简单,就是一个 特殊变量的 counter计数器typedef nx_struct test_serial_msg { nx
2020-09-29 16:57:54 779
原创 TinyOS编程模式分析
文章目录一、概述。1.1 组件1.2 接口二、源码分析。2.1 打开源码2.2 源码结构。2.3 具体分析。BlinkC.ncBlinkAppC.nc2.4 烧录代码。一、概述。TinyOS的编程方式采用nesc语言,这是一种类C语言,nesc语言有几个最重要概念:组件,接口,模块。如下图BlinkC程序组件图:1.1 组件组件:MainC 、LedsC、TimerMilliC(Timer0)、TimerMilliC(Timer1)、TimerMilliC(Timer2)都被称作组件。其中Main
2020-09-26 16:51:51 2442
2019年湖南省物联网挑战赛第三题
2021-01-10
挑战赛Blink实现led灯闪烁源代码
2020-09-26
stm32、C#、android云端控制stm32Demo.zip
2020-07-05
ucosii移植软件及源代码.zip
2020-05-22
安全的即时通信软件.zip
2020-02-20
stm32f103zet6空工程模板.zip
2020-02-01
omnet++超级立方体网络实验实现代码.zip
2019-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人