<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lxk7280的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lxk7280</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lxk7280]]></copyright><item><title><![CDATA[STM32 f103 矩阵键盘]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/50403502</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/50403502</guid><author>lxk7280</author><pubDate>Fri, 25 Dec 2015 15:36:31 +0800</pubDate><description><![CDATA[#include "stm32f10x.h"
#include "delay.h"
#include "key.h"


void KEY_Init(void) //³õÊ¼»¯¾ØÕó¼üÅÌÒªÊ¹ÓÃµÄGPIO¿Ú¡£
{


 	GPIO_InitTypeDef  GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPI]]></description><category></category></item><item><title><![CDATA[Keil 代码 变量等大小查看方法]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/50378999</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/50378999</guid><author>lxk7280</author><pubDate>Tue, 22 Dec 2015 12:14:21 +0800</pubDate><description><![CDATA[代码占用ROM=Code+(RO-data)+(RW-data)

RAM=（RW-data)+(ZI-data)

工程中有个.map文件可以看到各个文件、变量占用空间大小 






Code：程序代码所占字节
RO-data：程序中定义的指令和常亮大小
RW-data：已初始化变量大小
ZI-data:未初始化变量大小]]></description><category></category></item><item><title><![CDATA[uCOS II 消息队列的使用方法]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49963867</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49963867</guid><author>lxk7280</author><pubDate>Sat, 21 Nov 2015 13:32:32 +0800</pubDate><description><![CDATA[1、 需在以下文件中配置如下内容

        OS_CFG.H

        OS_MAX_QS      N     你需要的值

        根据需要自己配置

#define OS_Q_EN                   1    /* Enable (1) or Disable (0) code generation for QUEUES        ]]></description><category></category></item><item><title><![CDATA[stm32基于Ucos消息队列的空闲中断信息读取储存和发送]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49951889</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49951889</guid><author>lxk7280</author><pubDate>Fri, 20 Nov 2015 22:36:51 +0800</pubDate><description><![CDATA[最近做一个中继，一边是基于Wifi的网络，一边是基于串口的嵌入式设备。两者之间通过中继进行通信。
具体结构：
网络设备（手机，pad，PC等等）→→ WIFI网络→→ UART1→→ STM32消息队列→→UART2
→→ 嵌入式设备
直连的话会遇到以下 2  个问题：
1.当WIFI网络或嵌入式设备发送来的数据过多，接收后来不及发送给另一边。数据会丢失
2.数据不定长
用了下面 2 个解决方法：
1.基于Ucos的消息队列：将接收到的数据立刻存入队列中，达到一个缓冲的目的。保证接收到数据都发送出去，当然缓]]></description><category></category></item><item><title><![CDATA[C# 将数据生成excel并储存]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49814839</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49814839</guid><author>lxk7280</author><pubDate>Fri, 13 Nov 2015 11:45:33 +0800</pubDate><description><![CDATA[这里说一下C#怎么将数据生成excel并储存

1.定义一个string的二维数组_data用来储存listview内的项和其子项
2.弹出dialog对话框，编辑储存位置和文件名。将文件名储存到string path
3.知道储存路径后，新建workbook工作薄，新建worksheet工作表，新建cells表格
4.将_data数组内数据存入cells表格，并处理cells内格式style
5.try储存path文件，catch文件被占用出错情况。输出日志信息（时间+文件名）]]></description><category></category></item><item><title><![CDATA[string[][]和string[,]的区别]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49805593</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49805593</guid><author>lxk7280</author><pubDate>Thu, 12 Nov 2015 22:16:20 +0800</pubDate><description><![CDATA[摘抄1：

string[][] 是不规则的，可以理解成元素是 string[] 类型的一维数组

string[,] 是规则的，可以理解是个矩阵，每个元素都是 string 类型

可以假设，在 JsSerializer 里面有一个方法用 foreach 遍历处理 IEnumerable 的成员，那么你可以试一下代码：


string[][] jagger;
string[,]]></description><category></category></item><item><title><![CDATA[SQL Server数据库基础知识归纳总结]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49781185</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49781185</guid><author>lxk7280</author><pubDate>Wed, 11 Nov 2015 14:25:37 +0800</pubDate><description><![CDATA[1、数据库的“特点”：

数据共享、数据完整性、数据独立性高、

2、SQL的四个“系统数据库”：

master、model、msdb、tempdb简称为“三M一T”；

【master】：

master数据库是SQL Server中最重要的数据库，记录了SQL Server系统中所有的系统信息，包括登入账户、系统配置和设置、服务器中数据库的名称、相关信息和这些数据库文件的]]></description><category></category></item><item><title><![CDATA[C#串口 Demo]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49721939</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49721939</guid><author>lxk7280</author><pubDate>Sun, 08 Nov 2015 21:29:17 +0800</pubDate><description><![CDATA[添加指令集：
using System.IO.Ports;


打开串口：
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.Open();
发送数据：
byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);
string str = ]]></description><category></category></item><item><title><![CDATA[C#中利用委托实现多线程跨线程操作]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49721425</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49721425</guid><author>lxk7280</author><pubDate>Sun, 08 Nov 2015 20:38:49 +0800</pubDate><description><![CDATA[C#中利用委托实现多线程跨线程操作

- 张小鱼 2010-10-22 08:38

在使用VS2005的时候，如果你从非创建这个控件的线程中访问这个控件或者操作这个控件的话就会抛出这个异常。这是微软为了保证线程安全以及提高代码的效率所做的改进，但是也给大家带来很多不便。
其实解决这个问题有两种方法：
一，是通过设置
System.Windows.Forms.Control.Chec]]></description><category></category></item><item><title><![CDATA[C# TCP/IP 连接实现数据收发 Demo （Visual Studio）]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49717601</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49717601</guid><author>lxk7280</author><pubDate>Sun, 08 Nov 2015 12:25:49 +0800</pubDate><description><![CDATA[添加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]]></description><category></category></item><item><title><![CDATA[STM32F207运用串口空闲中断+DMA接收不定长数据]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/49700663</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/49700663</guid><author>lxk7280</author><pubDate>Sat, 07 Nov 2015 11:49:33 +0800</pubDate><description><![CDATA[1.我们知道DMA可以自动的不在CPU干预下，自动把数据重外设存储到内存（我们这节讲的），内存到外设，内存到内存等。但是DMA接收的是指定长度的，在接收不定长数据的时候DMA就傻眼了。网上有许多方法讲解运用定时器超时检测来接收不定长数据，而我们现在要讲的是运用串口空闲中断+DMA的方式接收不定长数据。

2.我们调试用的是串口1、DMA_Channel_4。具体的配置见下面程序：

DMA]]></description><category></category></item><item><title><![CDATA[51--步进电机驱动代码]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/46315905</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/46315905</guid><author>lxk7280</author><pubDate>Mon, 01 Jun 2015 20:21:47 +0800</pubDate><description><![CDATA[#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]]></description><category></category></item><item><title><![CDATA[bit、sbin、sfr、sfr 16 区别分析]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/46117245</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/46117245</guid><author>lxk7280</author><pubDate>Thu, 28 May 2015 09:17:21 +0800</pubDate><description><![CDATA[1．bit 和 sbit 都是 C51 扩展的变量类型。


bit 和 int char 之类的差不多，只不过 char=8 位, bit=1 位而已。都
是变量，编译器在编译过程中分配地址。除非你指定，否则这个地址是随机的。
这个地址是整个可寻址空间，RAM+FLASH+扩展空间。bit 只有 0 和 1 两种值，意
义有点像 Windows 下 VC 中的 BOOL。
sbit]]></description><category></category></item><item><title><![CDATA[oled.c And oled.h]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/46115683</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/46115683</guid><author>lxk7280</author><pubDate>Thu, 28 May 2015 07:39:23 +0800</pubDate><description><![CDATA[最近在弄的一款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]]></description><category></category></item><item><title><![CDATA[增量式和位置式PID]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/45024247</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/45024247</guid><author>lxk7280</author><pubDate>Mon, 13 Apr 2015 12:42:07 +0800</pubDate><description><![CDATA[先介绍几个概念，首先是比例带



比例带是一个无量纲的纯数值，其物理意义为：调节阀从全开到全关（输出做全量程范围变化时），输入（被控量）的变化占其全量程变化范围的百分数。如输入为温度，输出为阀门开度，1-100摄氏度量程，如希望温度从15——20度变化时，阀门从全开到全关，比例带为5%。

以智能车速度控制为例，控制量占空比从0-100%变化，如设定速度值为60，测量值为40则100]]></description><category></category></item><item><title><![CDATA[嵌入式通讯中串口接收出错]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/44732133</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/44732133</guid><author>lxk7280</author><pubDate>Sun, 29 Mar 2015 22:09:48 +0800</pubDate><description><![CDATA[下面写了两端代码。
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'){]]></description><category></category></item><item><title><![CDATA[炉温控制（Keil代码+Proteus仿真+Matlab仿真）]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/44671869</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/44671869</guid><author>lxk7280</author><pubDate>Fri, 27 Mar 2015 16:06:45 +0800</pubDate><description><![CDATA[炉温控制（Keil代码+Proteus仿真+Matlab仿真）。第一步：学习安装proteus，以本次试验为例讲解怎么使用proteus对工程进行仿真并和Keil生成的hex文件联调。第二部：学习安装keil，以本次试验为例讲解怎么编写51代码。第三部：学习安装matlab，以本次试验为例讲解怎么使用Simulink进行简单的PID仿真。]]></description><category></category></item><item><title><![CDATA[记忆：嵌入式中 float型数无法进行除法和if判断]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/44568973</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/44568973</guid><author>lxk7280</author><pubDate>Mon, 23 Mar 2015 20:42:51 +0800</pubDate><description><![CDATA[当在嵌入式编程中，我们遇到float或者其他类型的值无法除法运算或者if判断的时候，我们应该深入研究所有用到它的地方，是不是哪里运算将32bit 16bit 8bit等值弄乱了。]]></description><category></category></item><item><title><![CDATA[浅谈Flash调试和RAM调试的区别]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/44043369</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/44043369</guid><author>lxk7280</author><pubDate>Tue, 03 Mar 2015 21:00:39 +0800</pubDate><description><![CDATA[最近一直埋头于毕业论文的撰写当中，真是有种“两耳不闻窗外事，一心只写毕业论文”的感觉啊。成天大眼对小眼地面对着word、viso和知网客户端等等文字编辑工具真是有种麻木的赶脚，不写论文不知道，一写论文吓一跳，感觉让我写上几万行代码也比坐在电脑面前憋出几万字论文来的轻巧，“问君能有几多愁，恰似一江春水向东流”，哎，突然间发现，人生最最痛苦的不是人死了钱没花了，而是写了十几天的论文才发现，晕，还有一多]]></description><category></category></item><item><title><![CDATA[科技制作发明A类和科技制作发明B类的区别]]></title><link>https://blog.youkuaiyun.com/lxk7280/article/details/42968303</link><guid>https://blog.youkuaiyun.com/lxk7280/article/details/42968303</guid><author>lxk7280</author><pubDate>Wed, 21 Jan 2015 14:45:01 +0800</pubDate><description><![CDATA[科技制作发明A和科技制作发明B区别：


申报参赛的作品分为自然科学类学术论文、哲学社会科学类（含哲学、经济、社会、法律、教育、管理）社会调查报告和学术论文、科技发明制作共三大类。其中科技发明制作类分成两类：A类和B类。
A类指科技含量较高、制作投入较大的作品；
B类指制作投入较小，且为生产技术或社会生活带来便利的小发明、小制作。]]></description><category></category></item></channel></rss>