- 博客(26)
- 资源 (30)
- 收藏
- 关注
原创 如何理解FreeRTOS中的vTaskDelay(n)
FreeRTOS提供了一个任务睡眠函数,该函数是一个非常有用的系统API。void vTaskDelay(portTickType xTicksToDelay); //任务睡眠函数 该函数目的在于告诉操作系统,现在无任务在做,请告诉kernel将时间分配给其他任务,并在某个时间点将该任务唤醒。这个时间点就是函数的入参,一般都是以tick为单位。...
2018-11-28 00:06:10 14651
原创 FreeRTOS 简单总结(待完善)
1)如何声明任务函数原型:void ATaskFunction( void *pvParamaters); 返回值必须为无效的,且带有一个空隙指针参数; 任务可以理解为在自己权限范围内的小程序,是一个死循环,不会退出; 没有返回值,决不能出现回报;2)一个任务函数是什么样的(任务描述)?//@func : 如何实现一个任务;void ATaskFunction(void...
2018-11-27 00:51:29 908
原创 ##__VA_ARGS__ 总结
在嵌入式的交叉编译过程中,经常会用到宏定义控制程序运行模式,或者控制打印模式,提高程序开发和调试效率,比如在某个项目中,设置了几种程序运行模式,控制打印输出:#define MY_PRINTF_NORMAL 0#define MY_PRINTF_MUST 1#define MY_PRINTF_ERROR 2#define MY_PRINTF_DEBUG 3//#...
2018-11-25 17:44:12 6275
原创 嵌入式开发中, \r和\r\n的区别
在嵌入式开发中,经常会涉及到用UART去打印一些运算中间层数据作为调试,或者是打印输出结果。为了处理数据的方便性,经常会涉及到数据的换行操作。那么在换行过程中\r和\r\n有什么区别呢?在windows系统中:'\r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;'\n' 换行,换到当前位置的下一行,而不会回到行首;举个例子:...
2018-11-25 10:13:22 1121
原创 ADC VS参考电压在测量时和AD值的大小对应关系
背景是这样的,用24位的ADC,外接人体电阻,进行电阻AD值采集,当VS = 2.4V时,体电阻的AD值对应值为9.86 * 10 ^ 5量级,当VS = 2.8V时,体电阻的AD值对应值为7.01 * 10 ^ 5量级。 问题在为什么AD值不一样,且测量同一个外接电阻,VS = 2.4V时AD值比VS = 2.8V大?本文做一个较为深入的整理和分析。分析如...
2018-11-21 14:21:42 12800 3
原创 存储器系统的大小端整理,以及大小端的判定方法
存储器有两种映射机制,大端存储(big-endian)和小端存储(little-endian)。以32bit machine,int型数据为例:1.小端存储(little-endian) 数据的最低位字节被看做是最低位字节,最高位字节被看做是最高位字节。2. 大端存储(big-endian) 数据的最高位字节保存在最低地址字节,最低位字...
2018-11-15 19:40:02 1216
原创 C语言和汇编语言的字节*(byte)和位(bit)操作总结
本文章以CHIPSEA的CPU 汇编指令集和C语言,对字节操作和位操作做一个简单的总结,一是可以为大家嵌入式的开发提供一点想法,二是加深自己的理解,便于能力提高。Q1:如何进行按位取反操作?// C Program (64bit Machine)#include <stdio.h> unsigned char ini_data; int main...
2018-11-14 01:54:27 9505
原创 底层硬件中,如何实现对有符号数据(sign-magnitude)的存储?
在底层硬件中,运算其实是按照补码的形式来进行运算的,为什么要使用补码,使用原码进行运算有什么不好的地方?使用补码又会有什么好处? CHIPSEA的24bitSigma Delta ADC输出的AD源码是带符号位吗?输出的AD码是源码还是补码? 本文带您解开这个答案。Q1 : 使用源码进行底层运算有什么不好的地方? ...
2018-11-13 21:23:41 2770
原创 嵌入式C语言的字节对齐理解(图文)
1.字节对齐? 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于系统长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 2. 计算机为什么要对齐? 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果取它...
2018-11-13 08:56:05 1098
原创 关于变量的存储类别的理解。
作为在嵌入式底层搬砖两年的一个embeder,最近两度被xxx提问关于关键字的用法提问住了,于是回来马上对嵌入式C中的关键字做一个总结和框图化整理。 C语言中关键字:auto、extern、static、 register、const、volatile、_Thread_local(多线程,并发用到)、_Atomic(多线程,并发用到)auto 变量: ...
2018-11-10 16:54:33 285
原创 关于变量的存储期,作用域,和链接的理解
最近在用C做一个WIFI模块的项目开发,但是对C中变量的应用和工程的体系架构的理解深刻度还不够,特在这里对此做一个总结和框图化整理。理解有误处请指正,谢谢。对象(object): 从硬件角度来说的,指的是被存储的每个值所占用的物理内存; 用存储期来描述对象,指的是对象在内存中保留多长时间。标识符(identifier): 从软件角度来说的...
2018-11-10 15:27:20 275
原创 UART的同步通信和异步通信,通信方式,多机通信,流控
大致对UART做了一个简单的整理。异步通信:同步通信: 串行的单工,半双工,全双工:串口的多机通信: UART的RTS, CTS:一、流控,顾名思义就是流量控制的意思。目的是协调收发双方,使数据不会丢失。二、很多人用了串口很久都不知道这回事,这是因为很多场合确实没有必要。收发双方波特率固定,并且接受数组足够大,这时不会出现接收方...
2018-11-09 15:02:01 10339
转载 对嵌入式驱动的一些理解
驱动是一种软件,这个软件一方面可以直接与CPU、各种总线和外设进行交互,让这些板上的硬件组成单元活跃起来,另一方面,它还与操作系统和应用程序联系,将自己对外的接口嵌入到系统或者应用程序中,当业务需要某一个外设参与时,它就开始活跃了,听从上层的指令,并将旨意传达到硬件资源,让硬件工作。简而言之,所谓驱动,驱而动之,以“主”之意,驱使硬件“动”起来。并不是专指某个通信的驱动或者是某个...
2018-11-09 13:57:44 1254
原创 对于堆栈的一些理解
本文以CHIPSE公司的CSU18MX86为例,对堆栈做一个简单的知识整理。 该SOC总共由三个堆栈,PC, STATUS, WORK。其中PC是硬件堆栈, STATUS, WORK是软件堆栈实现。那么,硬件堆栈和软件堆栈有什么区别呢?然后,堆和栈有什么区别呢? 栈内存:栈内存首先是一片内存区域,存储的都是局部变量,凡是定义在方括号中的都是局部变量(...
2018-11-09 11:51:13 933
原创 汇编中调用子函数时,参数传递的三种实现方式
1)用寄存器(变量)传递参数, 在参数不多的时候采用这种方式(用的最多)。 附图实现的功能为串口发送ASCII码到上位机。,采用的就是寄存器传递参数方式。2)用地址表传递参数 在主程序中建立一个地址表,把要传递的参数都存放到地址表中,然后将地址表的首地址通过寄存器传送到子程中,最后子程序通过地址表获取参数。 3)用堆栈传递参数 ...
2018-11-09 11:29:11 5134
原创 汇编如何实现查表(C语言中的case - switch分支功能)
汇编如何实现C语言中的分支功能?C语言: switch (R_DSP_BUFFER1) { case lable1:statement; case lable1:statement; case lable1:statement; ...
2018-11-09 10:44:54 2489
原创 以CSU18BX86,解析一下CPU的架构
用了接近两年的CHIPSEA芯片,但是对贵司芯片的CPU架构还是没有一个系统的认识,本文章针对CHIPSEA某一款芯片,对其架构做一个比较简单的认识和总结。 废话不多说,上图:1. RSIC CPU (An instruction set architecture (ISA, 指令集架构)) 1)精简指令集:RISC指令集只提供很有限的...
2018-11-09 09:45:08 435
转载 运行.sh文件的六种方式
是UNIX/LINUX 操作系统的脚本文件。前三个是表示在当前的父shell中生成一个子shell来运行*.sh文件 sh test.sh bash test.sh ./test.sh (./和test.sh之间没有空格切实在文档所在的目录下文件要有执行权限这个命令无法自动补全) /etc/test.sh (全路径的情况下执行文件要有执行权限)最后的这两种是相当于在父shell进程...
2018-11-08 15:15:56 5813
原创 C/S结构理解
Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同...
2018-11-07 21:10:18 2926
转载 嵌入式系统的低功耗设计(转载)
不知从什么时候开始,随便做个什么电子产品,至少是电池供电的,都要求低功耗特性了。好在市面上随便什么芯片都敢在自己的数据手册的第一页赫然写着低功耗。究竟怎样算低功耗?小于5mA?小于1ms?小于100uA?离开了应用场合,似乎数值也失去了单纯的意义,总之越小越好。但感觉上,能用水果点亮的应用应该就是低功耗了吧。认真说来,有点怀念当年随便一个应用500mA,芯片微微发烫,用手一摸...
2018-11-05 16:12:37 1299
转载 ARM - AHB总线详解
1. 简介 AHB总线规范是AMBA总线规范的一部分,AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用于高性能、高时钟频率的系统结构,典型的应用如ARM核与系统内部...
2018-11-02 14:55:28 16451
转载 WPA/WPA2, WPA-PSK/WPA2-PSK, WEP 三种安全机制的概念和区别
现在基本家家户户都安装有无线WIFI,而且可能不止一个,不过为了安全,大家都会设置密码,但是下面会有三种加密方式,而且安全性能和设置也不一样,可能很多人习惯性的选择了 WPA-PSK/WPA2-PSK密码设置,而另外两种加密方式很少有人考虑,下面装机之家小编来为大家讲讲这三种加密方式 WPA-PSK/WPA2-PSK、WPA/WPA2、WEP有什么区别,以及如何选择AES和TKIP加密算法。...
2018-11-02 14:33:56 115365 2
转载 ESP8266 SoftAP模式 Station模式 SoftAP+Station模式说明
一、ESP8266模块工作模式ESP8266模块可以工作在多种模式下实现不同的功能。(1)SoftAP模式(软路由模式)在此模式下,模块本身相当于一个路由器,其他设备可链接到该模块发送的信号,主要应用在主从设备的主机部分。 (2)station模式(客户端模式)在此模式下,模块相当于一个客户端,可以链接到其他路由器发出的WIFI信号。主要应用在网络通信中。 (3)So...
2018-11-02 14:26:21 22867 2
转载 Websocket详解和实现
本文转载于https://www.cnblogs.com/jingmoxukong/p/7755643.html,感谢分享!WebSocket 详解教程目录 概述 WebSocket 客户端 WebSocket 服务端 WebSocket 代理 FAQ 完整示例 资料概述WebSocket 是什么?WebSocket 是一种网络通信协议。RFC6455...
2018-11-02 11:37:50 4108 1
原创 如何区分标准SPI, Dual SPI, Quad SPI?
最近在拿ESP8266做项目,在烧录Bin文件到模组时,遇到SPI接口的配置问题,在此,对SPI Flash的模式做一个小结:知识点转载于https://blog.csdn.net/miaokoko/article/details/79051209, 感谢分享!1. 标准SPI标准SPI通常就称SPI,它是一种串行外设接口规范,有4根引脚信号:clk , cs, mosi...
2018-11-02 09:16:59 32630 2
转载 关于TVS管的选型和应用
最近在做基于人体秤的血流动力学项目,其中硬件设计的过程中,需要用Micro USB进行锂电池的充电设计。在锂电池的接口处需要设计TVS二极管,抑制瞬态电压。设计如下: 其中涉及到了TVS的选型,在这里对TVS的相关知识做一个大致的整理和记录。 本记录转载于http://m.elecfans.com/article/571895.html 感谢博主的分享。 ...
2018-11-01 09:04:44 7737
Linux内存管理总结
2018-11-19
程序,进程,线程解析
2018-11-10
UART知识汇总
2018-11-09
汇编语言程序基本结构与组成
2018-11-09
DHCP基础知识简介(图文)
2018-11-07
CAN总线协议原理特点
2018-11-05
CAN总线协议入门
2018-11-05
FreeRTOS工作原理
2018-11-05
嵌入式实时系统FreeRTOS(经典学习资料)
2018-11-05
802.11abgn详细介绍和对比(经典)
2018-11-02
WebSocket图文解析
2018-11-02
SSL和OPENSSL 资料整理
2018-11-02
TCP/IP体系结构
2018-11-01
TCP/IP协议栈详细解释(绝对经典!强烈推荐)
2018-11-01
TCP/IP协议简要介绍
2018-11-01
FreeRTOS经典学习资料
2018-10-30
WIFI技术培训资料
2018-10-19
WIFI技术简要而全面的介绍
2018-10-12
华为WIFI培训资料
2018-10-12
WIFI国家及行业标准
2018-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人