- 博客(139)
- 资源 (30)
- 收藏
- 关注
原创 《一》初识NB-IoT(NB-IoT背景,简介,标准化过程,技术优势,与其他无线技术对比)
初识NB-IoT ******************************************************时间:2018.11.27*******************************************************一.背景物联网的无线通信技术种类繁多,大致可以归为两大类:一类是短距离通信技术:包括Zigbee、...
2018-12-10 23:10:17 6508
原创 (D题FDC2214手势识别装置)2018年全国大学生电子设计大赛(TI杯)参赛经验总结
每次写总结开始,都想要写一段开场白,比如怀念青春,时光飞逝什么的,这次要不要例外呢? 哈哈,就是想皮一下,下面进入正题: 时光飞逝,转眼间已经成为学校里(除了研究生)最老(呆的时间久,年龄不一定)的一批学生了,去年在实验室几个学长的带领下,抱大腿,混了个省三等奖(去年做的是滚球系统),也算是见过世面的人了,哈哈。 所以今年参加TI杯的心情和去年大不相同。少了一份的激动,多...
2018-07-28 13:55:35 37678 44
原创 MG995舵机工作原理及基于STM32的驱动源代码
MG995舵机工作原理及基于STM32的驱动源代码一·MG995舵机工作原理1.MG995舵机简介产品型号 MG995 产品尺寸 40.7*19.7*42.9mm 产品重量 55g 工作扭矩 13KG/cm 反应转速 53-62R/M 使用温度 -30~+60° 死区设定 4微秒 插头类型 JR、FUTABA通用
2018-01-29 14:55:43 57948 47
原创 将十六进制转换为对应的字符串,将字符串转换为对应的十六进制字符串,
/*************************************功能:将输入的字符串转成对应的HEX 16进制格式作者:贺远日期:2019.05.15参数:hexdata 要转换的HEX数字 n 字符串长度, buff 输出缓存区返回值:无例:0x814439 转换为 :"814439"(HEX格式)*******************...
2019-09-28 19:51:52 2387
原创 基于STM32的NB-IoT模块驱动
一、概述 目前这个NB-IoT在国内还是比较火的,最近刚好使用了一款NB-IoT模块。将驱动程序贡献给大家。希望能对用到的朋友有点帮助。二、NB-IoT模块介绍 本次采用的是有人物联网公司的WHNB75模块。(支持电信网络)WH-NB75 是基于 WH-NB73 模块开发出...
2019-09-28 17:36:34 10822 15
原创 基于STM32的GPS模块驱动(AIR530)
一、概述 由于做项目要用到GPS定位,于是在某宝购买了这款GPS模块。项目采用的MCU是STM32。废话少说,进入正题。二、GPS模块简介 Air530 模块是一款高性能、高集成度的多模卫星定位导航模块。体积小、功耗低,可用于车载导 航、智能穿戴、无人机等 GNSS 定位的应用中。而且提供了和其他模块厂商兼容的软、硬件接口,大幅 减少了用户的开发周期。 模...
2019-09-28 17:15:14 19604 20
原创 2018年秋招总结(华为,中兴,CVTE,海康威视,百度,诺瓦科技。。。。)
一· 自我介绍 来自小地方,学校是双非渣本,大学大部分时光靠的是内疚学习法。英语四级没过,挂过科。大概就这样,下面把惨不忍睹的秋招经历给大家分享一波,希望对大家有所帮助。二·面试经验我就按时间顺序来写吧。大三下学期,也就是今年春招,我投了CVTE,通过笔试,去酒店现场面试,一面直接被刷掉,感觉自己太菜了,就没有再去找实习。 面经中技术面试相关问题我不进行详细罗列了。会在...
2018-11-16 15:28:30 14653 19
原创 JLINK 与STM32的SWD连接接线方式
有些开发板只能用Jlink烧写程序,但是没有提供标准Jlink接口,我们可以使用下面的办法,烧写:
2018-08-19 10:08:58 39886
转载 volatile的概念,用法讲解
转自:https://www.cnblogs.com/reality-soul/p/6140192.html.volatile的本质:1> 编译器的优化在本次线程内, 当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中;以后,再取变量值时,就直接从寄存器中取值;当变量值在本线程里改变时,会同时把变量的新值copy到该寄存器中,以便保持一致。当变量在...
2018-08-18 16:54:33 626
转载 32位,64位编译器下c语言数据类型对应字节数
转自:https://blog.csdn.net/wocjj/article/details/7446703一、程序运行平台 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(...
2018-08-18 16:11:05 3455
转载 Windows进程通信的方式
windows大部分移植于Unix,因此理清哪些是各自特有的,哪些是一致的,同时理清哪些原理是一致的只不过实现方式有所不同,如此对进程间通信就有了一个全面的了解。 红色是最常见也是需要理解掌握的,这里留待后续做全面的说明,下面先介绍一下空闲内存和管道: (一)共享内存是在两个正在运行的进程之间传递数据的一种非常有效的方式。共享内存允许两个不相关的进程访问同一个...
2018-08-18 15:48:44 1654
转载 char[0]在结构体中的应用
struct MyData { int nLen; char data[0];}; 在结构中,data是一个数组名;但该数组没有元素;该数组的真实地址紧随结构体MyData之后,而这个地址就是结构体后面数据的地址(如果给这个结构体分配的内容大于这个结构体实际大小,后面多余的部分就是这个data的内容);这种声明方法可以巧妙的实现C语言...
2018-08-18 10:14:50 843
原创 keil 5的软件仿真遇到的问题:error 65: access violation at 0x40021000 : no 'read' permission的解决办法
我们有时候在用keil 5的软件仿真时会碰到这个问题: error 65: access violation at 0x40021000 : no 'read' permission很纳闷,硬件调试都对,但是用软件调试时会出错。下面介绍一下如何避免这个错误:①首先打开一个工程。用keil5打开旧版本文件会出现如下对话框,选择箭头所指向的就行。:②然后配置为软件仿真:...
2018-08-15 22:27:10 46426 21
原创 记访客破十万
记录一下博客访客突破十万,可能对于那些博客大佬来说,这点访客量连零头都不够,但对于我来说,我已经很满意了,以后继续努力~!!!!! 另外,希望秋招能找个好工作!!! ...
2018-08-12 23:08:04 458 5
转载 C语言中const用法解析
const修饰的变量存储位置,和不用const修饰的没区别!!!!!!转自:http://blog.csdn.net/xingjiarong/article/details/47282255关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它...
2018-08-12 16:45:16 13696
原创 Keil仿真 全速运行时 观察窗口变量没刷新的解决办法
真是难受的很,单步调试正确,全速运行就卡了 ·······,终于知道了解决的办法, :在仿真时点击工具栏里的view选择下面的periodict window update...
2018-08-10 14:18:56 11790 7
原创 全局变量与静态全局变量的区别
一·全局变量作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量。 二·静态全局变量是显式用static修饰的全局变量,作用域是声明此变量所在的文件,其他的文件即使用extern声明也不能使用。这是extern声明全局变量的用法...
2018-08-08 22:05:32 2757
转载 extern声明全局变量的用法
这篇文章主要讲解一下extern声明全局变量的一些用法,虽然知识点比较浅显,但是却容易犯错,仅与那些初学C++的朋友分享,希望没有让大牛们见笑。extern最基本的用法是声明全局变量的。这里需要注意两点,一是“声明”,二是“全局变量”;我们先来分析这两个概念。声明:声明和定义是有区别的。声明不等于定义,声明只是指出了变量的名字,并没有为其分配存储空间;定义指出变量名字同时为变量分配存储空间,定...
2018-08-08 21:53:54 32363 7
转载 信号量原理的总结
谈到信号量,大多数会立马想到PV操作,这个用荷兰语表示的专有名词。对比前面我们说的,四种实现临界区互斥的软件设计算法,PV操作更加的优良,现在这里就将对其原理进行详细的解释分析,以及如何在题目的场景中使用,包括算法的设计和问题的分析。http://blog.csdn.net/u011240016/article/details/52628467首先,信号量机制我们着重谈两个设计思路,核...
2018-08-05 15:30:48 757
转载 什么是回调函数
1 定义和使用场合回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,就是由别人的函数运行期间来回调你实现的函数。这一设计允许了底层代码调用在高层定义的子程序(如图1-1所...
2018-08-03 17:33:36 66610 2
原创 手势识别,2018年TI杯D题源代码,所有功能都实现
https://download.csdn.net/download/he__yuan/10566311
2018-08-03 15:26:51 2690
原创 基于STM32F103的FDC2214驱动程序
https://download.csdn.net/download/he__yuan/10566296
2018-08-03 15:25:36 4205 3
转载 C语言如何将数据转化为字符串格式
函数功能:把格式化的数据写入某个字符串函数原型:int sprintf( char *buffer, const char *format [, argument] … );返回值:字符串长度(strlen)例子:char* who = "I";char* whom = "CSDN";sprintf(s, "%s love %s.", who, whom); //产生:"I...
2018-07-28 14:15:03 5111
转载 C语言常见经典面试题 以及 C语言面试宝典
1 预处理问题1:什么是预编译?何时需要预编译?答:预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作。主要处理#开头的指令。如拷贝#include包含的文件代码、替换#define定义的宏、条件编译#if等。.何时需要预编译:1、总是使用不经常改动的大型代码体。2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,...
2018-07-28 14:06:30 15371
转载 PID算法的解析
LZ以前有个小小的理想,就是让手边的MCU自己“思考”起来,写出真正带算法的程序。 前段时间做一个比赛项目的过程中,对经典、实用的PID算法有了一点点自己的理解,就写了这些,与大家分享 因为LZ想尽办法,试着用最易于理解的语言说清楚原理,不做太多的理论分析。(LZ文学功底不行), 所以下面的内容会有不严谨的地方,或者有解释错误的地方。大神们发现了,一定要帮我补充,或者给予批评~~~谢谢你们...
2018-06-19 22:19:49 84527 42
原创 C语言将32位数字转换为四个8位的数字,或者字节
转化为16位或其他的类似:#include<stdio.h> int main(){ unsigned long long x=0x11223344; int i,a[4];// char a[4];//转换为字节 for(i=0;i<4;i++) { a[i]=(x>>(i*8))& 0xFF; printf("%x\n"...
2018-06-15 20:46:28 67655
转载 提问的智慧
提问的智慧D.H.Grand[nOBODY/Ginux] 2001 在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。 首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们思维的好问题。 如若不然,我们还来干吗?如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不尽。好...
2018-06-14 09:08:13 361
原创 自己动手写嵌入式操作系统《一》
最近在学习自己动手写嵌入式操作系统,分享学习过程,希望各位大佬指教! 先预热一下,这几天较忙,过几天再码字,上详细学习过程
2018-06-13 23:31:02 3168 1
转载 裸机程序的前后台系统 (Foreground/Background System)
前后台系统 (Foreground/Background System) 这种系统可称为前后台系统或超循环系统(Super-Loops)。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为(foreground)。后台也可以叫做任务级。前台也叫中断级。时间相关性很强的关键操...
2018-06-07 08:49:40 4281
原创 基于MSP430G2253的OLED驱动(SPI)
本例OLED通过SPI与开发板建立连接(编辑器是IAR FOR MSP):这个是OLED驱动:#include"MSP430G2553.h"#include"12864.h"#include"qumo.h"#include"stdio.h"void delay(int ms)//延时{ int ii,jj; if (ms&a
2018-06-06 10:40:08 5501 10
转载 错误:重复定义变量的解决办法——不要在头文件里定义变量
在写C代码的时候,经常需要在头文件中包含有些预定义的信息。比如一些结构体的声明,外部变量,函数的声明等。有时候觉得有必要在头文件中定义一些变量,这样在源文件中就不需要定义了。但是这样做,有很大的问题。比如[cpp] view plain copy //test.h 1 #ifndef _TEST_H 2 #define _TEST_H 3 int x; 4 c...
2018-05-28 16:21:57 3071 1
转载 Error[e16]: Segment DATA16_I (size: 0x8074 align: 0x1) is too long for segment definition
由于我在程序里定义了一个很大的数组,有8192个元素,每个元素都是32位,仅该数组大小就有32768(32K)字节,而我使用的MSP430F5438A的RAM只有16KB大小。编译报告显示如下:676 bytes of CODE memory32784 bytes of CONST memory(+2 bytes shared)32784 bytes of DATA memory(+...
2018-05-10 15:02:35 711
转载 map的基本用法
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map最基本的构造函数; map<string , int >mapstring; map<int ,string >mapint; map<sring, char>mapstrin...
2018-05-08 22:25:18 1168 1
原创 找出数组中重复的元素
注意:找出数组中重复的元素,数组中也有可能不存在重复的数,也有可能存在多个方法一:使用位图法,再申请一个数组b,用b[a[i]]存储a[i]的重复次数:方法二:使用map映射表。map是一个容器。第一个元素为关键字KEY,第二个元素为关键字的值。#include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;map&am
2018-05-08 22:21:34 2140 1
转载 MSP430系列微控制器简介
内容涉及以下: ●按照所处理的信号,对电子线路的分类 ●数字电路的特点 ●常用数字集成电路器件的种类和特点 ●微控制器(Microcontroller,MCU)的结构 ●德州仪器(TI)公司MSP430系列微控制器(MCU)的特点 ●MSP430微控制器的最小系统电路 ●MSP430微控制器的内部资源 ●不同型号MSP430微控制器芯片的区别引言电子线路的功用是完成信号...
2018-05-04 21:26:48 6490
原创 求数组中唯一重复的数字
求数组中唯一重复的数字: 数组a[n],1至n-1存在a中,有一个是重复的,找出这个数字。第一种方法:#include<stdio.h>int main(void){ int a[11]={1,2,3,4,5,6,7,7,8,9,10}; int i,sum=0,x; for(i=0;i<11;i++) { sum+=...
2018-05-03 21:47:11 1247
原创 求数组中出现次数大于一半的数字
思路: 是要找的元素,计数器加一,不是则减一,当计数器为0,说明相同的元素个数已经被不同元素个数抵消完,则换下一个元素,最后剩下的就是最多的那个数字 相当于不断从数组里删除不同的两个数(不管包不包含要找的过半数),到最后剩下的将全是相同的数字了,即要找的数字#include<stdio.h>int main(void){ int arr[]={1,1,1,1,...
2018-05-02 21:26:33 408
转载 vim从入门到放弃
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类史上最好的文...
2018-04-25 19:02:36 223
原创 在排序数组中找出给定数字出现的次数
这个思路不是很难,由于平时练习甚少,还是在细节浪费了一些时间,以后注意细节 :先用二分法找到给定数字,然后找它左面出现几次,右面出现几次,然后相加#include<stdio.h>int main(void){ int n,a[]={1,2,2,3,4,4,4,4,4,5,6,7,7,7,7,8,9,10,11,11,11,12,13}; ...
2018-04-23 22:39:30 997
学习嵌入式的几点建议
2018-07-26
ME3616-NB-LOT资料
2018-07-26
基于 STM32的RTX教程
2018-06-06
MG995舵机基于STM32的驱动源代码
2018-01-29
STM32库开发实战指南
2017-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人