自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (4)
  • 收藏
  • 关注

转载 无刷直流电机换相原理

一、安培定则1、在学习工作原理前我们先来学习一下安培定则,安培定则,也叫右手螺旋定则,是表示电流和电流激发磁场的磁感线方向间关系的定则。通电直导线中的安培定则(安培定则一):用右手握住通电直导线,让大拇指指向电流的方向,那么四指指向就是磁感线的环绕方向;通电螺线管中的安培定则(安培定则二):用右手握住通电螺线管,让四指指向电流的方向,那么大拇指所指的那一端是通电螺线管的 N 极,如下图所示。图片来源:[野火EmbedFire]《电机应用开发实战指南—基于STM32》2、我们知道在磁极中同名相吸,

2021-04-12 23:24:32 7891 1

原创 数据结构手把手教学——循环队列

文章不空谈理论,完全采用手把手教学,并有综合示例练习题,看完这篇,你绝对能掌握数据结构循环队列。

2020-02-03 18:09:44 2575

原创 数据结构手把手教学——链栈

文章不空谈理论,完全采用手把手教学,并有综合示例练习题,看完这篇,你绝对能掌握数据结构链栈。

2020-01-30 17:43:14 2333

原创 数据结构手把手教学——顺序栈

文章不空谈理论,完全采用手把手教学,并有综合示例练习题,看完这篇,你绝对能掌握数据结构顺序栈。

2020-01-28 17:24:36 646

原创 手把手教你如何在没有开发板的情况下学习RT-Thread——RT-Thread simulator的使用

前言细心的朋友可能发现,RT-Thread的bsp目录下有一个simulator文件夹,simulator可以用于模拟开发板环境进行学习RT-Thread,本文将详细讲述如何在没有开发板环境下学习RT-Thread。使用visual studio 2015作为编译器,因为在这里我还搭建了虚拟LCD。一、搭建RT-Thread simulator环境1、下载RT-Thread源码我是在W...

2020-01-08 09:31:00 5552 1

原创 数据结构手把手教学——双向循环链表

文章不空谈理论,完全采用手把手教学,并有综合示例练习题,看完这篇,你绝对能掌握数据结构双向循环链表。

2019-12-28 13:44:37 1252

原创 使用RT-Thread Studio创建基于芯片工程

一、前言前面使用RT-Thread Studio创建基于BSP工程,而只有已经做好提交到RT-Thread的BSP才能用,如果想使用RT-Thread Studio基于自己的开发板创建一个工程怎么做呢?只需要创建基于芯片的工程即可,这里我使用中移物联的NBIOT开发进行使用,芯片是STM32F103RET6。二、创建工程1、在创建的时候选择基于芯片,选择对应的芯片型号,并选择控制台串口,其他...

2019-12-27 15:59:47 2788

原创 使用RT-Thread Studio创建基于BSP工程

上周六RT-Thread在深圳开发者大会发布了RT-Thread Studio工具,我也是到现场参加了开发者大会,了解了RT-Thread Studio工具,它可真的RT-Thread开发者的一大利器,使用它真的减去了很多开发过程中的繁琐,不用再去学习ENV怎么使用,对于刚刚接触RT-Thread的小伙伴来说,真的是太方便了。点击这里下载RT-Thread Studio,本文积累学习RT-Thr...

2019-12-27 10:27:51 2061

原创 C语言深度解剖——关键字

一、auto在缺省情况下,编译默认的所有变量都是auto。二、register使用该关键字是让编译器尽可能把变量存在CPU的内部寄存器中,而不是内存寻址访问,从而提高了效率。之所以说是尽可能,是因为CPU的寄存器是有限的,如果用register修饰的变量超过了CPU的寄存器,CPU也不能把全部的变量都放在寄存器中。那什么是寄存器?寄存器就是一块一块的存储空间,它能直接和CPU打交道,内存却...

2019-12-18 14:52:23 351

原创 数据结构手把手教学——单向循环链表

文章不空谈理论,完全采用手把手教学,并有综合示例练习题,看完这篇,你绝对能掌握数据结构单向循环链表。

2019-12-08 17:19:40 736

原创 数据结构手把手教学——单向链表

文章不空谈理论,完全采用手把手教学,并有综合示例练习题,看完这篇,你绝对能掌握数据结构单向链表。

2019-12-03 23:35:30 948

原创 cJSON学习笔记——初识cJSON

一、JSON1、JSON的介绍①、JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式。②、JSON 独立于语言,JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。③、JSON 解析器和 JSON 库支持许多不同的编程语言。④、SON是存储和交换文本信息的语法。...

2019-12-02 16:49:32 517

原创 数据结构手把手教学——顺序表

文章不空谈理论,完全采用手把手教学,并有综合示例练习题,看完这篇,你绝对能掌握数据结构顺序表。

2019-12-01 18:10:14 2142 3

转载 物联网协议Coap协议介绍

COAP协议简介Coap(Constrained Application Protocol)是一种在物联网世界的类web协议,它的详细规范定义在 RFC 7252。COAP名字翻译来就是“受限应用协议”,顾名思义,使用在资源受限的物联网设备上。物联网设备的ram,rom都通常非常小,运行TCP和HTTP是不可以接受的。一、COAP协议特点1、 COAP协议网络传输层由TCP改为UD...

2019-11-27 16:23:47 980

转载 存储器容量计算及相关概念

存储容量的定义 :存储容量是指主存能存放二进制代码的总位数存储器容量计算公式:按位计算 (b) : 存储容量 = 存储单元个数 x 存储字长按字节计算(B): 存储容量 = 存储单元个数 x 存储字长 / 8存储单元 :CPU访问存储器的最小单位,每个存储单元都有一个地址。存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码...

2019-11-12 14:02:03 12995 1

原创 TFTP 从Windows下载文件失败的几种原因总结

原因一:Windows 防火墙没有关闭1、关闭防火墙:2、看看是否能ping通:原因二:文件路径没有选对原因三:Windows开启了其它的tftp进程1、在Windows任务管理器将所有tftp进程关闭,然后再重新开启tftpd32工具:...

2019-09-29 10:42:53 9183 1

原创 详讲OneNET HTTP请求、响应报文格式

在我之前的一篇博客:基于RT-Thread的AT device实现ESP8266 通过socket对接OneNET进行POST和GET 中,使用了RT-Thread的AT device软件包实现的socket常用的API接口,同时实现POST数据流到OneNET以及从OneNET GET到数据流。本章将着重讲解如果使用socket来分装HTTP协议的POST和GET。一、socket的常用接...

2019-08-19 15:48:42 2615 1

原创 中国移动NBIOT卡的几种APN应用场景

如果想连接OneNET的时候不进入休眠模式,一直保持在线模式,可以APN参数: 需要设定CMNBIOTONENET,CMNBIOTONENET这个APN连接的服务器是coap://192.168.24.100:5683。...

2019-08-13 08:26:45 12303

原创 基于VS2012 C#调用bartender自动打印条形码

GitHub:https://github.com/sanjaywu/BarcodePrintTool一、在引用添加Interop.BarTender.dll1、在资源解决方案的引用这里,右击选择“添加引用”:2、按照如下步骤添加Interop.BarTender.dll引用:3、添加完成二、使用bartender工具设置打印模板1、页面大小设置:2、条码设置:三、代码...

2019-08-01 19:45:50 5028 2

原创 移远NBIOT模组BC26 OpenCPU对接OneNET详细讲解

本文主要讲解移远NBIOT模组BC26 OpenCPU方式对接OneNET,使用的是BC26_OpenCPU_SDK_V1.2:https://github.com/sanjaywu/BC26_OpenCPU_SDK_V1.2。为方便调试,还会涉及到BC26_OpenCPU UART的讲解。一、实现UART打印调试信息1、宏定义打印信息的UART端口这里采用UART0来打印信息,同事UA...

2019-06-25 21:03:34 3824 5

原创 基于VS2012的C#上位机开发入门——按下按钮显示Hello Wolrd

本文学习C#开发PC端上位机是基于VS2012,下载链接如下:链接:https://pan.baidu.com/s/1XOmpljy2LKDEp-l7CkNFYw提取码:dz3z一、新建一个工程1、打开VS2012,点击左边的“新建项目”,如下图所示:2、在点击“新建项目”之后,弹出如下窗口:(1)、在左边选择:其他语言 ——> Visual...

2019-06-24 21:03:50 2687 1

原创 BC26 OpenCPU RTC/PSM_EINT API接口

RTC/PSM_EINT能够将BC26从deep sleep模式唤醒,当RTC/PSM_EINT事件发生,注册的回调函数将会通知用户。BC26 OpenCPU SDK:https://github.com/sanjaywu/BC26-OpenCpu1、注册一个RTC定时器s32 Ql_Rtc_RegisterFast(u32 rtcId, Callback_Rtc_Func callba...

2019-06-21 09:11:45 1634

原创 BC26 OpenCPU Timer API接口

BC26 OpenCPU 提供两种定时器,通用定时器和快速定时器,一个任务在同一时间最多允许运行10个通用定时器,OpenCPU提供一个快速定时器,快速定时器的精度要高于通用定时器。BC26 OpenCPU SDK:https://github.com/sanjaywu/BC26-OpenCpu1、注册一个通用定时器s32 Ql_Timer_Register(u32 timerId, C...

2019-06-17 20:46:30 638

原创 BC26 OpenCPU Time API接口

BC26 OpenCPU 提供了时间相关的API接口,可以设置、获取本地时间,也可以将转换日历为秒或将秒转换为日历时间。BC26 OpenCPU SDK:https://github.com/sanjaywu/BC26-OpenCpu1、BC26 OpenCPU 时间结构体typedef struct { s32 year; //Range:2000~2127 s3...

2019-05-31 14:14:21 738

原创 BC26 OpenCPU System API接口

一、System API1、resets the system,重启系统void Ql_Reset(u8 resetType);入口参数: resetType: 必须为0。2、挂起当前任务直到时间超时void Ql_Sleep(u32 msec);入口参数: msec:任务挂起的时间,单位:ms。*注意事项:任务挂起时间不能太长,否则任务会...

2019-05-30 18:10:05 2006

原创 基于RT-Thread的AT device实现ESP8266 通过socket对接OneNET进行POST和GET

一、介绍1、实现功能通过esp8266 WiFi模块对接OneNET,使用OneNET的HTTP协议,基于RT-Thread的AT device软件包,实现POST数据流到OneNET云平台和从OneNET云平台GET数据流,使用Finsh/MSH测试命令进行测试。2、软硬件平台(1)STM32F103RET6、外部12M晶振(2)ESP8266 WiFi模块(3)BH1750光照强度...

2019-05-13 13:57:45 3878 1

原创 手把手教你玩转 OneNET kyLinMini板_裸机基础例程_EDP控制LED灯

前言本教程写得比较简单,适合有OneNET麒麟座mini板的、刚开始接触OneNET的初学者。一、代码下载和解压1、到OneNET社区论坛下载代码,https://open.iot.10086.cn/bbs/forum.php ,找到飞哥的帖子点进去(也可用链接地址:https://open.iot.10086.cn/bbs/thread-863-1-1.html),如下图所示:按照...

2019-05-06 20:09:03 2318 2

原创 基于OneNET的智能化老人监护系统项目

我们团队大学时期做的一个项目,开源给大家,如有问题请指正指出。项目名称:智能化老人监护系统硬件平台:STM32、彩色OLED、SIM868、WiFi、MPU6050。开发环境:Keil、STemwin、ucosⅢ、LabView、中国移动OneNET、高德地图API。项目描述:该项目是由手表客户端和PC端上位机结合的监护系统,主要实现对用户的体温、血压和心率数据采集、摔倒检测、定位...

2019-04-25 21:46:45 2773 4

原创 基于RT-Thread的光照强度传感器BH1750FVI 软件包

最近抽时间学习了RT-Thread I2C设备框架,不得不说RT-Thread让开发更加简单。我用的是RT-Thread的软件I2C,在使用这个软件包之前必须先配置I2C,通过ENV工具可以方便的配置。例如:Enable I2C2 BUS (software simulation)(29) i2c2 scl pin number(28) i2c2 sda pin number1 ...

2019-04-22 20:39:39 1530 4

原创 MT2625方案的NBIOT模组通过socket AT命令实现POST/GET数据流到OneNET

前言本文适用于任何使用MT2625方案的NBIOT模组,MTK官方释放的AT命令是有socket命令的,利用socket,我们可以实际对接OneNET,本文将用socket对接OneNET的HTTP服务器,实现POST/GET数据流。实现STM32+NBIOT的代码在GitHub:https://github.com/sanjaywu/NBIOT_OneNET_Demo。一、AT...

2019-04-11 20:20:54 2901 9

原创 JZ2440移植UBOOT 2012.04.1

前言在前面,了解了Bootloader的作用以及从0写一个Bootloader之后,最近花了差不多一个星期学习韦东山老师的JZ2440移植UBOOT 2012.04.1,看了视频和参考博客园NQian的博客进行学习。我制作的最新补丁:https://github.com/sanjaywu/UBOOT_2012.04.1_JZ2440_patch。一、JZ2440移植UBOOT 2012....

2019-04-10 09:17:37 528

原创 Bootloader的作用与实现

一、为什么要用Bootloader?1、对于不同的CPU体系结构都有不同的Bootloader,例如ARM、MIPS都有自己的Bootloader。除了依赖于CPU的体系结构外,Bootloader还依赖于具体的嵌入式板级设备的配置,比如ARM架构CPU会有不同的板卡,而板卡的硬件地址分配,外设芯片类型等又大不相同。因此针对不同的板卡,尽管他们的CPU架构一样,但是还是需要针对硬件资源的配置去写...

2019-04-02 21:10:19 3413

原创 韦东山ARM裸机学习笔记——代码重定位

前言以下所写的内容都是基于韦东山JZ2440开发板的,更多内容可参考韦东山第一期ARM裸机视频代码重定位章节或韦东山S3c2440代码重定位详解学习。一、什么是代码重定位?代码重定位就是将代码的text段、rodata段、data段等从一个地址搬移到另外一个地址。本来程序烧写好之后是在某一个地址开始运行的,经过代码重定位之后,可以在另外一个地址运行。例如:程序烧写在Nor ...

2019-03-21 20:19:41 1115

原创 韦东山ARM裸机学习笔记——S3C2440的串口驱动编程原理

前言讲解韦东山JZ2440开发板的串口驱动原理,对韦东山在维基教程串口使用内容的一些补充,串口使用点击这里进入。这里主要讲的是串口驱动的编程思路,如何根据s3c2440的芯片手册编写出最简单的串口驱动。一、串口的初始化串口初始化包括引脚初始化、串口时钟初始化和中断模式、波特率配置以及参数配置等。1、引脚初始化(1)看JZ2440开发板的原理图,可知UART0的引脚是GP...

2019-03-20 11:12:59 1209

原创 RT-Thread学习的综合应用——使用AP6181 WiFi模组对接OneNET应用示例

RT-Thread学习的综合应用——使用AP6181 WiFi模组对接OneNET应用示例学习了RT-Thread的内核也有一段时间了,由于各种各样的琐事自己没有去做一个综合应用示例,刚最近有点时间,做了一个对接OneNET的历程,采用的是OneNET的EDP协议,关于OneNET的EDP协议可以点击跳转至OneNET EDP协议讲解与应用这篇博客看一下,这篇博客会比较详细的介绍对接EDP协议...

2019-03-16 12:21:24 8652 7

原创 STM32串口唤醒STOP模式的实现

前言STM32常见的低功耗模式有三种:睡眠模式、STOP模式以及待机模式,STM32L系列还有其他低功耗模式。这里主要讲的是STOP模式,STOP模式可以通过外部中断或事件唤醒,但是不能通过串口中断唤醒,因为串口中断本身不是外部中断,那么如何才能实现串口唤醒STOP模式呢?因为我这里只是为了做验证,为了快速验证,我也就没有用RT-Thread的PM电源管理组件进入STOP模式,感兴趣的读...

2019-03-12 18:22:43 8756 7

转载 SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库(转)

SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库(转)原文博客链接:https://blog.csdn.net/arminkztl/article/details/52051636原文GitHub链接:https://github.com/armink/SFUD/blob/master/README.md0、SFUD 是什么SFUD ...

2019-03-01 11:32:10 1031

原创 RT-Thread学习笔记——PIN 设备

前言本文主要学习RT-Thread的设备驱动框架之PIN 设备,这里以及后面更新的博客内容将不会详细介绍I/O 设备模型,当学习PIN 设备以及其他设备需要对I/O 设备模型有所了解,请和我一样刚学习RT-Thread的朋友们先自行到《RT-Thread编程指南》看一下I/O 设备模型。这里主要讲解如何访问PIN 设备,针对PIN设备各个函数讲解,以及教你如何基于PIN设备实现自己的GPIO...

2019-02-25 11:57:31 7190

原创 RT-Thread学习笔记——中断管理

前言本文学习RT-Thread的中断管理,这里主要包括异常与中断的基本概念、RT-Thread 中断工作机制,更多关于RT-Thread的中断管理请看《RT-Thread编程指南》,后面通过使用STM32来进行实验。一、异常与中断的基本概念异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果不及时进行处理,轻则系统出错,重则会导致系统毁灭性瘫痪。所以正确地处理异常,避免错...

2019-02-19 16:17:36 7438

原创 RT-Thread学习笔记——内存管理

前言本文讲RT-Thread的内存管理,包括为何不使用C标准库的内存管理函数、内存管理的特点、RT-Thread 程序内存分布、内存堆管理、内存池管理以及使用STM32进行实验。一、不直接使用 C 标准库中的内存管理函数的原因很多人会有疑问,什么不直接使用 C 标准库中的内存管理函数呢?在电脑中我们可以用 malloc()和 free()这两个函数动态的分配内存和释放内存。但...

2019-02-18 16:44:55 7018 3

虚拟LCD显示(含显示函数和字库)

虚拟LCD,基于VS移植和编译,可实现模拟LCD显示,含显示显示单个字符、显示字符串函数,ascii码字库。

2020-01-08

TCPUDP测试工具

TCP&UDP;测试工具,能方便开发者调试各类协议,连接服务器。

2018-12-07

中文版_Pro Git_第二版

Pro Git 第二版中文版,本书不管是对初学Git的开发人员还是深入了解Git的都有帮助。

2018-11-13

MTK 10A(包含)以后的软件版本编译工具RVCT3.1安装教程

MTK 10A(包含)以后的软件版本编译工具RVCT3.1安装教程(适用于MT2503/6260/6261等)

2018-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除