自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个不甘寂寞的编程之路

出生于电气,无奈走上计算机编程之路,且行且珍惜吧、、、

  • 博客(60)
  • 资源 (30)
  • 收藏
  • 关注

原创 c++键盘按键监控以及键值表

监控代码int scanKeyboard(){ int in; struct termios new_settings; struct termios stored_settings; tcgetattr(0, &stored_settings); new_settings = stored_settings; new_settings...

2020-04-17 23:53:35 4881

原创 超声波模块HC-SR04调试经验分享

这段时间要用超声波做一个演示实验,就是使用超声波和舵机结合,做一个自动壁障演示实验。就是将超声波接到舵机上,通过转动舵机来获取各个方向到小车的距离,从而控制小车运动,避开障碍物,并寻找最佳路径。整个小车基于航太电子提供的51智能小车,如下图:车前面的超声波模块就是固定在下面的舵机上面的,实际实验时需要将显示屏取下,否则会档到舵机。下面简单说下超声波模块:HC-SR0

2016-03-25 23:36:21 72487 8

转载 字符串与整数、浮点数、无符号整数之间的转换常用函数

atof(将字符串转换成浮点型数)表头文件 #include 定义函数 double atof(const char *nptr);函数说明atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结    束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123

2016-01-13 22:37:50 3918

原创 基于stm32和ESP8266实现wifi模块smartlink功能以及TCP连接

一直想把wifi模块和stm32连接起来,但是网上找了很久,并没有C语言相关的库,只有基于arduino的ESP8266 C++库,这个库是没办法直接给stm32使用的,所以自己动手丰衣足食,自己手动将基于arduino的ESP8266 C++库移植成简单的C库,方便使用,目前这个库实现了基本的功能,可以实现波特率修改,smartlink,断线重连等功能,wifi模块主要运行在STA模式。因为

2016-01-12 16:21:55 19821

原创 C语言模拟C++方式读取串口操作实现

在使用C++编程对串口操作时,经常有用到serialport.read(),serialport.print()之类的函数,而且系统自带接收buf,不用考虑数据漏失的问题,那么在C语言环境下,怎么做呢?特别是51或STM32编程,或者要将C++代码转换成C代码时对这一块也不好移植,下面提供一个API,方便大家使用。首先看接口文件,也就是头文件:serialpoortAPI.h#ifnd

2016-01-12 15:11:28 6311 2

原创 wifi模块ESP8266_AT arduino 库文件部分方法解析及优化

一直想使用arduino平台来控制ESP8266模块,现在终于差不多实现了,从网上找来了一个相关的库文件,已经实现了大部分功能,但仍有部分功能需要优化,比如smartlink部分未加入。在这里首先感谢ITEAD提供的文章帮助,http://www.arduino.cn/thread-7540-1-1.html。我的平台是arduino uno ,只有一个串口,为了方便仿真,我选择使用软件来

2016-01-05 18:17:58 11157 2

原创 stm32 TIM1PWM多通道捕获模式测速

因为一个项目的要求,需要测速,之前就想学一下stm32的捕获模式了,借这个机会,刚好利用一下,现在分享出来。硬件:MCU:stm32f103zet6平台:航太电子流行7号智能小车显示:mini12864软件:语言:C语言IDE:keil5测速部分环境是典型的测速方法,测速码盘加光电对管,单片机采集光电对管模块传来的PWM波,要对两个轮子测速,实际速度

2015-12-27 20:25:37 21711 17

原创 STM32GPIO推挽模式注意

STM32推挽模式:_OUT_PP       ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的这种模式用的情况还是比较多的,但是有个注意的地方,不是所有情况都适用于推挽模式,比如当外部有外加上拉电阻时,若使用这种模式,无论输出什么电平,外部IO一直位高电平特别是有几个引脚连接到了仿真器接口,一般是有上拉的,在测试时要注意这几个IO口 GPIO_InitStruct

2015-10-25 23:28:21 1966

原创 工程师表白神器--炫彩心形DIY

这段时间做了个玩具,用彩色LED搭建了一个心形图案,并用STC51单片机驱动,实现心形LED炫彩闪动,超级炫酷的,总工有32个灯,使用了单片机的所有IO口,可以灵活控制每个LED的闪烁,然后配上适合的音乐,绝对是屌丝工程师表白神器

2015-10-23 10:44:13 8108

原创 51单片机单串口同时实现AT指令和调试信息输出

很多外部模块是使用串口的方式与单片机通信的,但有的单片机只有一个串口,且不能硬件仿真,比如我使用的STC90C516,如果将唯一的串口给了外部模块,就不能打印调试信息了。不过如果是使用AT指令只这样的模块,比如蓝牙SPP,WiFi模块,是使用AT指令的方式通信的我们可以保留单片机串口与PC的连接,串口同时与模块连接,这样单片机的发送信息同时被模块和PC收到了。模块只对AT指令有反应,对其他格式不正确的指令无反应,

2015-10-20 22:45:29 6893 2

原创 keil C51使用串口时程序跑死的问题

在使用STC51单片机的串口时,有时候会进入一种很奇怪的情况,就是程序进入了一下子跑死了,初始化代码如下:void UsartConfiguration(unsigned int bps){ SCON = 0X50; //设置为工作方式1 10位异步收发器 TL2 = RCAP2L = bps; //set auto reload value TH2 = RCAP2H = bps>

2015-10-17 22:34:29 3351

原创 STC单片机timer2捕获模式测频率

在使用STC单片机测频率最常用的方法是在一定时间内计算脉冲个数,这种方式一般需要一个计数器和一个定时器配合,而且对低频信号也不太准确,下面我们可以用到timer2的捕获模式通过测量两个下降沿的时间,来计算频率,这样做仅使用timer2就好了,而且对低频信号测量准确,经实际测试,在100Hz一下时,精度可达0.05Hz。

2015-10-16 11:30:56 10614 5

原创 PID 控制从模拟到数字变换方法

网上有很多对PID算法的讲解,对PID从模拟到数字变换方法也有不少描述,但是就是太多了,导致很多不准确甚至错误的也进来了,导致对初学者很难理解PID算法,特别是对P,I,D这三个参数怎么来的也很模糊,下面给出一种我觉得可以让人信服的计算方法

2015-10-12 21:59:10 2715

原创 基于51单片机modbusRTU从机设计

在了解modbus协议后就是基于该协议的设计了,下面先说一下基于航太电子HTM52单片机的从机设计。设计思想如下:modbus协议是以主从的方式通信的,也就是上位机发送指令,下位机应答机制,发起通信的一直是上位机,下位机只要应答就好了。modbus协议被设计出来是针对PLC应用的,这里我们可以简单的模拟PLC环境,可以在单片机里面设计一块共享区,该区域是上位机和下位机共享的,均可以读取或写入该区域的值,所有的modbus协议都是针对该快区域的操作,下位机也是根据这块区域的值做相应的操作。

2015-10-11 16:43:52 28533 6

原创 Git .gitignore 过滤文件和文夹

1、.gitignore文件格式如下:# 以'#'开始的行,被视为注释.                                                                                                                          # 忽略掉所有文件名是 foo.txt的文件.foo.t

2015-10-10 12:01:59 2421

转载 modbus通讯协议解析

1.什么是modbus协议,主要应用在哪些方面?(来源于:http://www.emtronix.com/product/ModBus_software.html) Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控

2015-10-09 21:54:56 6497 2

原创 基于HTM-52万能遥控破解

不同型号的遥控器使用不同的红外协议,那怎么做一个万能遥控破解器来实现对所有遥控的破解呢,这里介绍一种简单粗暴的方法。

2015-10-08 21:28:49 1124

原创 单片机串口发送数据帧

很少看到有资料写如何以中断的方式发送一帧数据,如果以等待的发送数据帧,对高速运行的单片机来说是很浪费时间的,下面就介绍一种使用中断方式发送数据帧,操作平台采用51 mcu

2015-09-30 20:35:25 14488 1

原创 TFT液晶屏使用自建的英文字库

现在大部分液晶屏是不带字库的,需要吸入文字的时候,需要像画画那样,一个一个点的写,最简单的方法是需要写某个字符,就对某个字符取模,但这样灵活性太差了,下面介绍一种方法,自建字库以及驱动程式,前台应用时直接调用就好了。首先是建立字库字库的基本组成单元如下的结构体:// ------------------ 英文字模的数据结构定义 ------------------------ //

2015-09-29 21:09:01 3425

原创 git 打标签操作

现在git 提供的windows git客户端已经可以完成大部分日常操作了,但是觉得有个功能很有用但还没做上去,那就是打标签的操作。当有版本更新的时候,打标签就显得很重要了。

2015-09-28 20:08:46 2493

原创 巧妙使用static 为数据打包并发送

只要做过项目的朋友对关键字static应该都有一些了解,但未见了解很全面的。在C语言中,关键字static有以下明显的作用:1.static变量分配到静态内存中,这一点和全局非静态变量相同。2.在函数体,static变量只要不进行修改操作,在被调用过程中其值将保持不变。3.在模块内,全局static变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量,具有私有特

2015-08-25 13:45:58 1513 1

转载 10种软件滤波方法的示例程序

10种软件滤波方法的示例程序(JKRL) 假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();1、限副滤波/*  A值可根据实际情况调整    value为有效值,new_value为当前采样值      滤波程序返回有效的实际值  */#define A 10char value;char fil

2015-08-25 13:41:07 676

转载 WinForm窗体及其控件的自适应

原文转自:http://www.cnblogs.com/gguozhenqian/p/4288451.html3步骤:1.在需要自适应的Form中实例化全局变量   AutoSizeFormClass.cs源码在下方     AutoSizeFormClass asc = new AutoSizeFormClass();2.Form_Load事件中     

2015-08-09 22:28:49 2707

原创 keil编译后生成的M51文件解析

通过*.m51文件我们可以清楚的看到单片机存储器的使用情况,以及可以看到每个变量包括局部变量的位置。之前碰到一个问题,同样的程序,在small模式下编译后运行没问题,但在large模式下可以编译,但是运行出错。最后查看m51文件,发现了问题,在一个对时序要求很严格的地方声明几个局部变量,这几个局部变量有的被分配到data中,有的分配到xdata,在xdata中的变量访问时间要大于data中,导

2015-07-17 23:17:44 12116

转载 mysql处理海量数据时的一些优化查询速度方法

原文:http://www.itjhwd.com/4588798/最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法。由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件查询,其查询

2015-07-17 22:50:35 1523

原创 stm32f103串口实现映射功能

在实际开发中,经常遇到串口的默认输出IO口被其他模块占用了,所以我们要用到串口IO口映射功能,是指将原来实现功能的IO口映射到其他指定IO口,其他不变。具体操作如下:先贴出默认下的串口初始化设置:void USART1Conf(u32 baudRate){ USART_InitTypeDef USART_InitSturct;//定义串口1的初始化结构体 GPIO_InitType

2015-07-01 18:12:27 6019 1

原创 STM32M CUBE实现printf打印调试信息以及实现单字节接收

在写单片机程序时我们一般喜欢使用printf来通过串口打印调试信息,但这个函数是不可以直接使用的,必须做点对库函数的改动。STM32M CUBE是ST官方提供的库以及初始化工具,很好很强大,但是在UART方面值提供了如下函数:HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint

2015-06-28 19:09:37 3198

转载 stm32 M3启动文件解析

本文转载自:http://blog.sina.com.cn/s/blog_69bcf45201019djx.htmlDATA_IN_ExtSRAM EQU 0 ;;1定义是否使用外部SRAM,为1则使用,为0则表示不使用Stack_Size EQU 0x00000400 ;;2定义栈空间大小为0x00000400个字AREA STACK, NOINIT, READWRITE, ALIG

2015-06-27 10:56:51 1357

转载 STM32 GPIO模式介绍

本文转载于 http://blog.sina.com.cn/s/blog_4d1854230101ciz1.html一、GPIO口简介1.1 一般来说STM32的输入输出管脚有以下8种配置方式:输入① 浮空输入_IN_FLOATING  ——浮空输入,可以做KEY识别② 带上拉输入_IPU          ——IO内部上拉电阻输入  ③ 带

2015-06-25 16:03:52 1165

原创 C51中遇到一个有关data与xdata的问题,已解决

环境:我在某个C文件定义了一个结构体变量,然后该变量只是在本文件内被一个函数使用,然后又在中断中调用了该函数,目的是改变一个IO口的输出状态,结果执行时怎么也达不到要的效果。struct BE{ unsigned int CountFR; //定时器计数值,通过改变计数值改变音频频率 unsigned char PWR_time; //开启时间,单位为10mS unsigned

2015-06-04 22:58:20 4920

转载 ORACLE触发器详解

转载自CSDNhttp://blog.csdn.net/indexman/article/details/8023740/

2014-12-12 08:36:12 495

原创 ORACLE VIEW和SEQUENCE的用法

说下oracle中视图和序列的用法:视图视图是通过对一个或多个表定义查询得到的,视图定义所依据的表被称为基表,说简单点就是视图联合一张或多张表另外成立一张表,可以对这张表进行搜素和DML操作。建立视图 create view terminal_view as (select a.terminal_name, b.pdline_name,c.process_name,d.stage_

2014-12-11 15:12:00 2332

原创 使用JQuery使浏览器内的控件自适应浏览器大小

使用JQuery使浏览器内的控件自适应浏览器大小首先在中加入对jQuery的引用在JS中添加方法window.onresize和window.onload该方法为系统函数,在有触发时自动调用 window.onresize = function () { var Width = document.body.offsetWidth;//读取浏览器的宽

2014-12-09 09:06:21 1974

转载 在windows下编写启动服务的脚本

由于最近系统装了很多的服务,而一些服务只有在特定的时候才会使用到,所以就想到写一个脚本来手动启动服务,而不用在开机的时候自动启动。使用命令行启动服务在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:net start 服务名net stop 服务名用sc可打开被禁用的服务,语法是:sc config 服务名 start= dema

2014-11-28 11:05:06 3498

原创 文件属性获取及控件ListView使用常用方法

使用控件ListView显示某个目录下所有文件的一些属性,点击控件头可实现排序

2014-11-28 09:59:19 1438

原创 C#软件监控外部程序运行状态

需要外挂一个程序,用于监控另一个程序运行状态,一旦检测到另一程序关闭,就触发一个事件做其他处理。引用的类using System.Diagnostics;//引入Process 类 声明private Process[] MyProcesses;主要处理部分,该段代码可放在定时器中循环检测监控的程序是否启动 MyProcesses = Proc

2014-11-27 16:57:06 5396

原创 TCP/IP异步通讯服务端实现方法

近期做了个TCP/IP异步通讯服务端实现方法,也是在网上胡乱搜索,然找了个自认为比较好的,然后封装一下,供后面自个使用,也供大家参考,如有不好的地方,欢迎指正,谢谢!下面说一下这个方法里面的几个知识点:1、托管这个东西真心好用,虽然不知道具体怎么弄的,托管可以实现一个对象中的方法交由其他对象实现,而且可以同时触发多个方法,组件的触发函数就是由托管实现的,具体实现如下:先声明一个托管

2014-08-18 13:58:11 2999

转载 安装和卸载windows服务

使用名为 InstallUtil.exe 的命令行实用程序,可以快速安装服务应用程序。与在 Visual Studio 中创建的大多数项目不同,Windows 服务项目不能通过按 F5 从开发环境直接运行。 这是因为必须安装项目中的服务后,项目才能运行。手动安装服务从 Windows 的“开始”菜单中,依次选择“Visual Studio 2010”、“Vi

2014-08-14 10:54:10 637

原创 C# 跨线程调用form控件技巧及byte[]与string型相互转换

跨线程调用form控件技巧ss = "OK"; this.BeginInvoke(new MethodSocket(InvokerReadMsg), ss);//this指向本窗体,回调函数InvokerReadMsg, private void InvokerReadMsg(object obj)//在这个函数里面可以直接访问Form控件txtContent

2014-07-25 14:54:34 1206

原创 C#调用天气预报网络服务

本程序通过调用网络上公开的天气预报网络服务来显示某个地区三天的天气,使用到的网络服务地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx,该天气预报 Web 服务,数据来源于中国气象局 http://www.cma.gov.cn/天气图标可至【http://www.webxml.com.cn/images/weathe

2014-07-23 14:37:06 2530

Tesla NHTSA测试报告

Tesla NHTSA测试报告,包含特斯拉多角度的测试数据及经验分析

2018-10-30

国家车联网产业标准

国家车联网产业标准,为加快推动车联网和智能网联汽车创新融合发展,发挥标准在产业发展中的引领和支撑作用,研究制定国家车联网产业标准体系建设指南

2018-10-30

基于STM32的wifi模块连接实现

使用ESP8266 wifi模块与STM32连接,提供C语言版的ESP8266库函数,并用串口打印实时连接状态,实现smartlink和TCP连接功能,亲自编写,测试可用。

2016-01-12

C语言字符串处理函数扩展

C语言对字符串处理的函数扩展,比如实现了子串截取,查找返回index值等

2016-01-12

串口操作接口

在使用C++编程对串口操作时,经常有用到serialport.read(),serialport.print()之类的函数,而且系统自带接收buf,不用考虑数据漏失的问题,那么在C语言环境下,怎么做呢?特别是51或STM32编程,或者要将C++代码转换成C代码时对这一块也不好移植,下面提供一个API,方便大家使用。

2016-01-12

arduino wifi模块ESP8266AT库

在原有库的基础上新增了smartlink功能,并增加了其他一些AT指令功能

2016-01-12

小车智能防撞报警装置设计

本实验采用了stm32的PWM捕获模式来获取速度,并兼顾了红外遥控功能来模拟实际驾驶,测速采用超声波模块测速,该工程可直接下载编译使用

2015-12-27

STM32串口烧录教程

STM32串口烧录教程以及PL2303驱动软件安装

2015-10-27

PL2303USB转串口驱动

PL2303USB转串口驱动,win7,xp,64/32全支持

2015-10-27

STM32串口烧录软件

STM32串口烧录软件,官方出品,免安装

2015-10-27

PID算法及仿真

详细解释了各种PID算法,对连续系统,离散系统,增量式PID等都有相应的推导和仿真

2015-10-12

彩屏demo例程单色刷屏文字显示

现在大部分液晶屏是不带字库的,需要吸入文字的时候,需要像画画那样,一个一个点的写,最简单的方法是需要写某个字符,就对某个字符取模,但这样灵活性太差了,下面介绍一种方法,自建字库以及驱动程式,前台应用时直接调用就好了。

2015-09-29

算法PID详解

关于PID在实际应用中的详细解释,以温度控制为例

2015-08-25

数据打包发送方法

只要做过项目的朋友对关键字static应该都有一些了解,但未见了解很全面的。在C语言中,关键字static有以下明显的作用:1.static变量分配到静态内存中,这一点和全局非静态变量相同。 2.在函数体,static变量只要不进行修改操作,在被调用过程中其值将保持不变。 3.在模块内,全局static变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量,具有私有特点。 4.在模块内,一个static函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用,也具有私有特点。 如果我们能够很好地利用static的这些特性,书写高内聚低耦合,更具模块化的代码就不会显得象句口号;如果不能很好地理解和使用它,一切都只是空谈。下面来举个例子来说明static在实际应用可能会遇到问题。

2015-08-25

基于HTM-52万能遥控破解源代码

遥控器破解程序说明 平台:航太电子HTM_52单片机开发板 由于存储红外信息需要较大的空间,原来的24C02改成了24C08,如果只是电视遥控,大家可以将程序改回为24C02存储 操作方法: 1、单击按键S16进入读模式,然后将被破解的遥控对着红外接收头按下按键,单片机自动记录红外信息并存储。 2、单击按键S1,将红外信息对应到按键S1上,完成信息存储和匹配 3、对着被控设备如电视单击S1,即可实现使用单片机来控制电视 如果存储芯片够大,也可以存储足够多的按键信息到单片机按键上,每个按键可以存储一个按键信息

2015-07-13

uCGUI VS2008直接运行工程文件

从ucos官网直接下载的GUI库若没有VC6.0环境是不能直接运行在VS2008的,需要设置几个地方,本资源已经修改好了配置环境,可以直接运行

2015-07-01

stm32f104 ucosiii ucGUI

Demo 程序 1.ucosiii + ucGUI + stm32固件库 2.ucGUI源代码,未生成库,其中底层文件 LCDTemplate.c 依然有优化空间 3.ucosiii Demo 信号量 队列 标志 互斥量 4.GUI函数大部分在GUI.h里面

2015-06-30

stm32f429 RTOS CUBE实现printf输出以及单字节接收

STM32M CUBE实现printf打印调试信息以及实现单字节接收

2015-06-28

C#TCP/IP同步和异步通信

基于C#的TCP/IP同步以及异步通信实现方法,我已经把两种方法封装好了,直接调用就可以了,不仅可以实时获取连接的客户端,还可以实时刷新客户端连接,很好用的,如果有什么问题,欢迎联系我!

2014-08-18

基于科大讯飞语音云识别软件

这是我花了5天时间做出来的基于科大讯飞语音云的语音识别和文字转语音的软件,支持多种中文语言,使用C++/CLR开发,讯飞提供的是C的开发包。同时录音部分还使用了DirectX,使用该软件需要安装DirectX。需要该软件详细介绍的可以访问我的CSDN博客。整个代码相当于拼凑出来的,若大家有其他意见,欢迎指教。

2014-06-17

html5彩色火焰球

基于HTML5的动画设计,相对原创增加了彩色,也使彩色球不会消失,很好玩的一个动画网页。

2014-04-25

USB2.0中文协议

介绍了USB2.0的协议,十分详细

2012-11-30

LCD菜单界面

介绍了一种制作LCD12864多级菜单的简单方法。

2012-11-30

uCOS-II-V290 源码

最新的uCOS-II源码,来自于官网的,适合做代码移植的人,其中的介绍也十分详细

2012-04-15

洗衣机程序

基于89c51平台的洗衣机程序,可实现洗衣机全自动运行

2012-04-15

无线遥控小车

对普通的遥控小车的制作讲解较详细,特别是对无线部分,适合初级学者使用

2012-02-17

舵机精确控制的方法

对舵机的各类参数有详细的解释,并提供了精确控制舵机转向的方法

2012-02-17

步进电机控制,详细介绍了对步进电机如何控制

文件里有不错的例程和对步进电机的详细介绍,适合初学者

2011-12-03

单片机开发小工具(适合初学单片机的人)

压缩包内包含32种平时开发单片机的小工具,比如串口调试助手,ISP下载软件,字模提取,汉字生成器,内容丰富

2011-07-12

空空如也

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

TA关注的人

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