- 博客(51)
- 收藏
- 关注
原创 STM32 f103 矩阵键盘
#include "stm32f10x.h"#include "delay.h"#include "key.h"void KEY_Init(void) //³õʼ»¯¾ØÕó¼üÅÌҪʹÓõÄGPIO¿Ú¡£{ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPI
2015-12-25 15:36:31
3707
2
原创 Keil 代码 变量等大小查看方法
代码占用ROM=Code+(RO-data)+(RW-data)RAM=(RW-data)+(ZI-data)工程中有个.map文件可以看到各个文件、变量占用空间大小 Code:程序代码所占字节RO-data:程序中定义的指令和常亮大小RW-data:已初始化变量大小ZI-data:未初始化变量大小
2015-12-22 12:14:21
4234
转载 uCOS II 消息队列的使用方法
1、 需在以下文件中配置如下内容 OS_CFG.H OS_MAX_QS N 你需要的值 根据需要自己配置#define OS_Q_EN 1 /* Enable (1) or Disable (0) code generation for QUEUES
2015-11-21 13:32:32
12091
原创 stm32基于Ucos消息队列的空闲中断信息读取储存和发送
最近做一个中继,一边是基于Wifi的网络,一边是基于串口的嵌入式设备。两者之间通过中继进行通信。具体结构:网络设备(手机,pad,PC等等)→→ WIFI网络→→ UART1→→ STM32消息队列→→UART2→→ 嵌入式设备直连的话会遇到以下 2 个问题:1.当WIFI网络或嵌入式设备发送来的数据过多,接收后来不及发送给另一边。数据会丢失2.数据不定长用了下面 2 个解决方法:1.基于Ucos的消息队列:将接收到的数据立刻存入队列中,达到一个缓冲的目的。保证接收到数据都发送出去,当然缓
2015-11-20 22:36:51
2979
1
原创 C# 将数据生成excel并储存
这里说一下C#怎么将数据生成excel并储存1.定义一个string的二维数组_data用来储存listview内的项和其子项2.弹出dialog对话框,编辑储存位置和文件名。将文件名储存到string path3.知道储存路径后,新建workbook工作薄,新建worksheet工作表,新建cells表格4.将_data数组内数据存入cells表格,并处理cells内格式style5.try储存path文件,catch文件被占用出错情况。输出日志信息(时间+文件名)
2015-11-13 11:45:33
8654
转载 string[][]和string[,]的区别
摘抄1:string[][] 是不规则的,可以理解成元素是 string[] 类型的一维数组string[,] 是规则的,可以理解是个矩阵,每个元素都是 string 类型可以假设,在 JsSerializer 里面有一个方法用 foreach 遍历处理 IEnumerable 的成员,那么你可以试一下代码:string[][] jagger;string[,
2015-11-12 22:16:20
1979
转载 SQL Server数据库基础知识归纳总结
1、数据库的“特点”:数据共享、数据完整性、数据独立性高、2、SQL的四个“系统数据库”:master、model、msdb、tempdb简称为“三M一T”;【master】:master数据库是SQL Server中最重要的数据库,记录了SQL Server系统中所有的系统信息,包括登入账户、系统配置和设置、服务器中数据库的名称、相关信息和这些数据库文件的
2015-11-11 14:25:37
2994
原创 C#串口 Demo
添加指令集:using System.IO.Ports;打开串口:serialPort1.PortName = "COM1";serialPort1.BaudRate = 9600;serialPort1.Open();发送数据:byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);string str =
2015-11-08 21:29:17
1855
转载 C#中利用委托实现多线程跨线程操作
C#中利用委托实现多线程跨线程操作- 张小鱼 2010-10-22 08:38在使用VS2005的时候,如果你从非创建这个控件的线程中访问这个控件或者操作这个控件的话就会抛出这个异常。这是微软为了保证线程安全以及提高代码的效率所做的改进,但是也给大家带来很多不便。其实解决这个问题有两种方法:一,是通过设置System.Windows.Forms.Control.Chec
2015-11-08 20:38:49
6393
原创 C# TCP/IP 连接实现数据收发 Demo (Visual Studio)
添加using指令集:using System.Net.Sockets;using System.Threading;using System.Net;添加定义(IP地址 IP接口 berkeley套接字接口):private IPAddress serverIP = IPAddress.Parse("127.0.00.1");private IPEndPoint serverF
2015-11-08 12:25:49
34083
13
转载 STM32F207运用串口空闲中断+DMA接收不定长数据
1.我们知道DMA可以自动的不在CPU干预下,自动把数据重外设存储到内存(我们这节讲的),内存到外设,内存到内存等。但是DMA接收的是指定长度的,在接收不定长数据的时候DMA就傻眼了。网上有许多方法讲解运用定时器超时检测来接收不定长数据,而我们现在要讲的是运用串口空闲中断+DMA的方式接收不定长数据。2.我们调试用的是串口1、DMA_Channel_4。具体的配置见下面程序:DMA
2015-11-07 11:49:33
4126
原创 51--步进电机驱动代码
#include #define uchar unsigned char #define uint unsigned int sbit dianji=P0^2; uchar zheng[]={0x40,0x20,0x10,0x08};//P1口6,5,4,3。对应的是A.B.C.D uchar fan[]={0x08,0x10,0x20,0x40}; void
2015-06-01 20:21:47
4357
原创 bit、sbin、sfr、sfr 16 区别分析
1.bit 和 sbit 都是 C51 扩展的变量类型。bit 和 int char 之类的差不多,只不过 char=8 位, bit=1 位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit 只有 0 和 1 两种值,意义有点像 Windows 下 VC 中的 BOOL。sbit
2015-05-28 09:17:21
2378
原创 oled.c And oled.h
最近在弄的一款CS基地的产品也要用到OLED,自己在K60、STM32、51上都都移植过,OLED还是挺不错的东西。记录一下.C和.H吧,省的之后电脑资料没了要移植的时候没模板。。OLED.c/* By LXK */#include "DEV_OLED.h"#include "common.h"#include "HW_LPTMR.h"#include "HW
2015-05-28 07:39:23
4082
转载 增量式和位置式PID
先介绍几个概念,首先是比例带比例带是一个无量纲的纯数值,其物理意义为:调节阀从全开到全关(输出做全量程范围变化时),输入(被控量)的变化占其全量程变化范围的百分数。如输入为温度,输出为阀门开度,1-100摄氏度量程,如希望温度从15——20度变化时,阀门从全开到全关,比例带为5%。以智能车速度控制为例,控制量占空比从0-100%变化,如设定速度值为60,测量值为40则100
2015-04-13 12:42:07
6083
原创 嵌入式通讯中串口接收出错
下面写了两端代码。1. char str[40]; int i; i=0; for(i=0;i<38;i++){ str[i] = LPLD_UART_GetChar(UART2); } for(i=0;i<38;i++){ LPLD_UART_PutChar(UART2,str[i]); if(str[i]=='N'){
2015-03-29 22:09:48
3840
原创 炉温控制(Keil代码+Proteus仿真+Matlab仿真)
炉温控制(Keil代码+Proteus仿真+Matlab仿真)。第一步:学习安装proteus,以本次试验为例讲解怎么使用proteus对工程进行仿真并和Keil生成的hex文件联调。第二部:学习安装keil,以本次试验为例讲解怎么编写51代码。第三部:学习安装matlab,以本次试验为例讲解怎么使用Simulink进行简单的PID仿真。
2015-03-27 16:06:45
26769
8
原创 记忆:嵌入式中 float型数无法进行除法和if判断
当在嵌入式编程中,我们遇到float或者其他类型的值无法除法运算或者if判断的时候,我们应该深入研究所有用到它的地方,是不是哪里运算将32bit 16bit 8bit等值弄乱了。
2015-03-23 20:42:51
1647
转载 浅谈Flash调试和RAM调试的区别
最近一直埋头于毕业论文的撰写当中,真是有种“两耳不闻窗外事,一心只写毕业论文”的感觉啊。成天大眼对小眼地面对着word、viso和知网客户端等等文字编辑工具真是有种麻木的赶脚,不写论文不知道,一写论文吓一跳,感觉让我写上几万行代码也比坐在电脑面前憋出几万字论文来的轻巧,“问君能有几多愁,恰似一江春水向东流”,哎,突然间发现,人生最最痛苦的不是人死了钱没花了,而是写了十几天的论文才发现,晕,还有一多
2015-03-03 21:00:39
4410
原创 科技制作发明A类和科技制作发明B类的区别
科技制作发明A和科技制作发明B区别:申报参赛的作品分为自然科学类学术论文、哲学社会科学类(含哲学、经济、社会、法律、教育、管理)社会调查报告和学术论文、科技发明制作共三大类。其中科技发明制作类分成两类:A类和B类。A类指科技含量较高、制作投入较大的作品;B类指制作投入较小,且为生产技术或社会生活带来便利的小发明、小制作。
2015-01-21 14:45:01
11075
原创 嵌入式调试过程卡死机记录
最近做项目时,偶尔调试会遇到死机的情况,幸好以前程序写得多,都能大概记得一点原因,想想还是记下来吧,好记星不如烂笔头,万一哪天忘了呢还能在博客里面找找。1.变量超范围。今日例子:20141220 /*Get Value MMA8451*/ Angle = LPLD_MMA8451_GetResult(MMA8451_STATUS_Z_READY, MMA
2014-12-20 00:59:55
2641
转载 一个应用实例详解卡尔曼滤波及其算法实现
为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就是下一
2014-11-29 17:53:02
3276
1
原创 Linux+Windows双系统下无线开关失效,无法连上wifi
转自国外网站,赶紧收藏了Wifi stops to work on Arch LinuxToday, my wifi stops work! Wicd is no longer detect any wifi network!The first thing, i check ifconfig?0102030405060
2014-11-27 19:19:06
1654
转载 Linux Command
目 录引言 1一、安装和登录 2(一) login 2(二) shutdown 2(三) halt 3(四) reboot 3(五) install 4(六) mount 4(七) umount 6(八) chsh 6(九) exit 7(十) last 7(十一) 动手练习 7二、文件处理 9(一) file 9(二) mkdir 9(三) grep 10(四) dd 11(五) find 11
2014-11-17 09:42:43
1198
原创 制作Kinect体感控制小车教程 <一>
最近自己没事DIY的一个东西,Kinect+Arduino制作的一个体感控制小车。感觉很好玩,分享给大家。
2014-10-01 14:25:28
5265
3
原创 Visual Stdio 2010中新建WPF与Arduino进行串口通信
Visual Stdio 2010中新建WPF与Arduino进行串口通信
2014-09-14 14:00:51
3043
转载 PHP在linux上执行外部命令(整理)
目录:一、PHP中调用外部命令介绍二、关于安全问题三、关于超时问题四、关于PHP运行linux环境中命令出现的问题一、PHP中调用外部命令介绍在PHP中调用外部命令,可以用,1>调用专门函数、2>反引号、3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个):PHP提供4个专门的执行外部命令的函数:exec(), sys
2014-08-20 16:10:28
941
原创 Kienct与Arduino学习笔记(2) 深度图像和真实世界坐标系中的深度图
Kinect + Processing, 深度图像和真实世界坐标系中的深度图.
2014-07-30 23:31:42
3471
原创 Processing:KinectOrbit库下载
processing网站上提供了几个摄像机控制库,http://url.cn/QHCXju
2014-07-27 22:42:39
3096
31
原创 Kienct与Arduino学习笔记(1) 基础知识之Arduino’Kinect‘Processing
对即将要学到的主要东西进行初步的理解。分为两大类,硬件和软件。硬件,即Kinect。软件,即Arduino和Processing。
2014-07-22 11:31:18
4897
原创 无法将类型“System.Drawing.Image”隐式转换为“System.Windows.Controls.Image”
准备从文件夹中读取一张图片并载入到
2014-05-30 11:10:19
12460
3
原创 鹰眼摄像头(OV7725)的使用
鹰眼摄像头(OV7725)的优点:1.高达150HZ的帧频率。2.硬件二值化。(也有人认为是缺点。)3.BGA封装。本文将讲解怎样驱动这一款优质的摄像头。
2014-05-25 20:48:15
54270
25
转载 数字地和模拟地
数字电路对干扰不敏感,模拟电路对干扰敏感。虽然认为地上的电压是处处相同的,但实际上不是,所以地上有电流在流动,但这个电流从数字部分流到模拟部分时就会有干扰,而且数字信号带有各种频率的分量,干扰会很严重。所以数字地和模拟地应该分开走,在电源部分的地上汇合,而且尽量不要走环形地。除了正确进行接地设计、安装,还要正确进行各种不同信号的接地处理。控制系统中,大致有以下几种地线:
2014-05-11 21:35:23
2665
原创 怎样让谷歌浏览器切换兼容模式打开网页
在平时填网上申报或者在网上填写一些文件的时候,由于浏览器原因,页面打开不全面或者是文本填写框不显示。针对这种情况,我们只需要将浏览器改为兼容模式打开这个网页即可正常浏览。 下面针对谷歌浏览器,列出步骤怎么更改为兼容模式:第一步:点击右上角的菜单图标第二步:点击图标所指的工具第三步:点击工具栏下的扩展程序一栏,之后会出现一个网页
2014-05-09 12:18:10
68722
1
原创 TPS76750接线图 TPS76750连接图
TPS76750(ACTIVE) 单输出 LDO、1.0A、固定电压 (5.0V)、低静态电流、快速瞬态响应
2014-04-26 16:18:21
2519
转载 十一种通用滤波算法
一.十一种通用滤波算法(转)1、限幅滤波法(又称程序判断滤波法)A、方法: 根据经验判断,确定两次采样允许的最大偏差值(设为A) 每次检测到新值时判断: 如果本次值与上次值之差 如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点: 能有效克服因偶然因素引起的脉冲干扰C、缺点 无法抑制那种周期性的干扰
2014-04-20 13:23:39
2022
3
原创 飞思卡尔(三)测速测正反转(K60 欧姆龙500线编码器DMA测速)
众所周知,DMA模块在嵌入式开发中的运用是极其广泛和实用的,学会并合理的利用DMA,无疑在比赛中会是一个助力。DMA模块在智能车中既可以采集图像,也可以用测速。本文就是介绍一下DMA和怎样使用DMA模块对编码器进行测速。 简单地说,DMA是直接内存读取(Direct Memory Access),是计算机科学中的一种内存访问技术,DMA模块可以不占用CPU资源传输数据,可以大大提高程序运行速度,从而在智能车竞赛中提高车子对赛道的反应能力。DMA的运用不仅仅局限于智能车竞赛,在很多地方都是有益无害的。
2014-04-13 19:12:19
15375
10
原创 OV7620的使用
转载请注明出处:http://blog.csdn.net/lxk7280智能车摄像头组的初期学习中,虽然有不少摄像头优于OV7620,但是相信大部分的车友第一个接触的都是OV7620。下面从其特性和性能等角度,剖析摄像头的特点。摄像头的输出格式有RGB565,YUY422等格式,我所接触的第一个摄像头OV7620的输出格式是YUV422。下面给大家介绍一下YUV422。
2014-03-26 22:24:07
14922
12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人