- 博客(43)
- 资源 (5)
- 收藏
- 关注
原创 eControl功能反馈
eControl是一款支持windows软件定制界面的可编程中控控制软件;主要用于与中控主机的连接实现智能控制、智能家居、智能照明等功能。 如果您在使用过程中发现有bug或者对我们的软件有什么建议,欢迎在此留言。...
2019-07-26 17:32:02 909
原创 STM32的USB例程修改步骤
STM32的USB例程修改步骤 我修改过的ST的Custom_HID例程http://download.csdn.net/source/2022984本文中修改好的例程http://download.csdn.net/source/2807366以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开
2010-01-01 16:29:00 34757 10
原创 在C#中使用SerialPort类实现串口通信(陆续更新)
在.NET Framework 2.0中提供了SerialPort类,该类主要实现串口数据通信等。本文章将本人在学习过程中从网络上搜集到的相关信息写出来供大家参考。下面主要介绍该类的主要属性(表1)和方法(表.2)。如果需要了解更多的信息请登录http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport(VS.80)
2009-08-23 13:16:00 113544 31
原创 CRC校验在STM32和C#中使用
/* Enable CRC clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);//STM32CRCu32 CRC32(u8 *pBuf, u16 nSize){ u32 index = 0; CRC_ResetDR(); //复位CRC for(index = 0; index < nSiz
2012-12-01 15:45:53 3630 2
原创 STM32 USB-HID通信移植步骤
这篇文章的目的是让大家以最短的时间将USB加到你的设备中。如果想学得更深就靠大家。HID只是适合低速传输,其理论上可以达到64KB/S,但多由于windows系统和硬件的关系一般达不到这个传输数度。但这个速度对于一般系统的控制和数据传输都已经足够了,而且是免驱,省去了很多麻烦。如果您需要高速传输可参考我的另外一篇文章《STM32的USB例程修改步骤》文章在http://blog.csdn.net/cy757/archive/2010/01/01/5117610.aspx一、安装完MDK后请打开C:/Ke
2010-12-17 22:13:00 37406 20
转载 STM32的位操作的方法
请关注以下文章,本文根据以下文章摘录、http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3861107&bbs_page_no=1&bbs_id=3020http://www.itqun.net/content-detail/
2010-08-17 00:53:00 7041 1
转载 S3C2440/6410 TOUCH抖动问题彻底解决
转自http://bbs.driverdevelop.com/htm_data/48/0909/118452.htmlharktrip 未测试,等测试过后将写出结果。#define TSP_SAMPLE_NUM 20 #define TSP_ADC_DELAY = 4000; 至于调用的TIMER中断,每秒次数降到50次即可 #define TSP_SAMPLE_RATE_L
2010-01-01 23:58:00 1338
转载 单片机中volatile定义的作用
转自http://tech.fuwuqi.com.cn/Development/Singlec/2009-09-04/5202847114707.shtml 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量
2009-12-31 10:09:00 1936
原创 STM32的USB通信资料
以下资料由网上收集usb的传输字节问题(来自computer00) STM32的USB端点缓冲不是固定的,由寄存器设置。而我的程序中,是如下定义的,端点大小为0x40,端点2做为输出端点,0xD8+0x40=0x118,也就是说,端点1缓冲前24个字节重叠,被输出数据覆盖了。/* EP1 *//* tx buffer base address */#define ENDP1_TXADDR
2009-12-28 10:15:00 6625 1
原创 ListView的使用
获得所选图标的索引方法一:private void listView1_SelectedIndexChanged(object sender, EventArgs e) { int k; k = listView1.Items.IndexOf(listView1.FocusedItem); textBox1.T
2009-08-27 11:44:00 3592 3
原创 C#窗口之间的控制及数据操作(陆续更新)
中父窗口和子窗口之间实现控件互操作 很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: public static yourMai
2009-08-26 19:44:00 1568
原创 C#常用小技巧(陆续更新)
先给个网址http://www.dotblogs.com.tw/chou/archive/2009/04/12/7986.aspx 产生随机数的类RandomRandom r =new Random();num=r.Next(1,500);//产生一个1-500之间的随机数。使用C#实现移动无边框窗体如需了解更多请上http://hi.baidu.com/nirvanan/bl
2009-08-24 22:50:00 1153
原创 LPC21XX 串口的接收和发送中断(MDK)
由于使用检测方式仅适合于数据量少的设备中使用,当需要发送或者接收大量数据时应该采用串口中断接收或发送的方式。/*============================================================LPC21XX 串口使用接收发送中断==========================================================
2009-08-23 14:17:00 6303 2
转载 c#中线程访问winform控件的若干问题
我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。 首先来看传统方法:public partial class Form1 : Form { public Form1() { InitializeComponen
2009-08-22 23:12:00 4934
转载 C# 16进制与字符串、字节数组之间的转换
在串口通讯过程中,经常要用到 16进制与字符串、字节数组之间的转换http://blog.csdn.net/feishanm/archive/2008/10/20/3112716.aspx 字符串转16进制字节数组 private static byte[] strToToHexByte(string hexString) {
2009-08-22 23:05:00 5648 1
转载 CListCtrl使用技巧
以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,
2009-08-13 16:13:00 921
转载 CString, int, string, char* 之间的转换
很有用的,所以把它记下来1 CString,int,string,char*之间的转换 string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string
2009-08-09 20:59:00 1072
原创 利用PreTranslateMessage,响应按钮控件的按下(WM_LBUTTONDOWN)和松开(WM_LBUTTONUP)
VC和button控制只有两个事件,一个是单击事件,一个事双击事件。在这个方面VB就方便多了。但是我们有其他办法解决。首先我们先学一些基础知识。 1...关于PreTranslateMessagePreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当你需要在MFC之前处理某些消息时,常常
2009-08-07 23:16:00 8368
转载 VC中句柄、指针、ID之间的转换
win32直接操作的是句柄HANDLE,每个句柄就对应windows窗口,而vc对HANDLE进行类封装,间接操作的都是HANDLE,现在句柄只是类的一个成员变量。从句柄到指针 CWnd* pWnd=CWnd::FromHandle(hWnd); //a temporary CWnd object is created //and attached. pWnd->Attach(hWnd); //A
2009-08-07 21:02:00 3438
原创 如何在两个对话框之间进行消息传递
#define WM_USERDEFMSG (WM_USER + 101) ON__MESSAGE(WM_USERDEFMSG, OnUserDefMsg) afx_msg LRESULT OnUserDefMsg(WPARAM wParam,LPARAM lParam); LRESULT ××××::OnUserDefMsg(WPARAM wParam,LPARAM lParam) //××××
2009-08-01 12:43:00 2674
原创 在VC中使用SerialPort类实现串口通信
在VC中实现串口通信有3中方法,mscomm 、api 和串口类。但在实际的编程中MSComm控件不好用,api则比较麻烦。建议使用串口类SerialPort(请到网络中搜索下载) 串口类SerialPort的用法如下: 在主对话框的.h文件添加以下内容: #include "SerialPort.h" CSerialPort m_ComPort; //串口类对象 afx_msg v
2009-08-01 12:35:00 7746
原创 让您写的VC6.0程序在WindowsXP中拥有XP风格的外衣
比如,你生成的exe文件为“Example.exe”,则这个Example.exe.manifest的文件的内容如下:新建一个文本文档,输入 version="1.0.0.0" processorArchitecture="X86" name="CompanyName.ProductName.YourApp" type="win32" /> Your application descriptio
2009-08-01 12:25:00 1015
转载 VC中退出应用程序-几种很有用的方法
1、对话框用 CDialog::OnOk(); Doc/View用 OnClose();2、PostQuitMessage(0);//最常用 PostMessage(WM_QUIT,0,0);//最常用 ::SendMessage(AfxGetMainWnd()->m_hWnd,WM_CLOSE,0,0);//最常用 ::PostMessage
2009-08-01 01:59:00 3627
转载 VC++七种延时方式
今天我要做微机接口与技术的试验,需要延时,一时想不起来,因此想看看VC++怎么实现,Sleep,看能不能通过跟踪看汇编代码一此偷懒,结果被费工夫了。她更不就跟踪进去。郁闷最后,想看看网上有没有,结果看到了这个,希望对大家有帮助。 VC++七种延时方式 方式一:VC中的WM_TIMER消息映射能进行简单的时间控制。首先调用函数SetTimer()设置定时间隔,如SetTimer(0,200,
2009-08-01 01:37:00 1405
原创 菜单的创建(步骤)
C XX Dlg.h文件 #define ID_MENU_OPENALL WM_USER + 701 #define ID_MENU_EXIT WM_USER + 705 afx_msg void OnHwSetting(); afx_msg void SwExit(); C XX Dlg.cpp文件 ON_COMMAND(ID_MENU_OPENALL, OnHwSetting) ON_CO
2009-07-14 00:20:00 771
转载 VC++中的ON_COMMAND_RANGE宏(附例子)
转自:http://www.cnblogs.com/wqj1212/articles/1089066.htmlVC++中的ON_COMMAND_RANGE宏和ON_COMMAND等宏一样,是用来声明消息处理函数的,与ON_COMMAND不同的是,此宏可用来定义一组消息的处理函数。两个宏的用法是:ON_COMMAND(id,memberFxn)ON_COMMAND_RANGE(id1,id2
2009-07-14 00:15:00 1795
原创 一个STM32F10x 计算波特率的宏(来自buickbuick )
STM32库里面设置usart的波特率是又乘又除, 初始化的代码可以直接用, 但要提高代码的效率, 就要直接填分数分频值的立即数进入BRR寄存器, 改变波特率 所以写了下面的宏, 希望大家有用 /* 波特率的分数分频值宏 */ //clk: usart时钟, bps: 需设置的波特率 #define M_USART_BAUD_RATE(_clk,_bps) / ((u16)(((_
2009-07-14 00:06:00 1816 1
原创 串口中断方式通信(非类库)
初始化 RCC->APB2ENR|=1<<14; //使能串口时钟 RCC->APB2ENR |=1<<2; //使能GPIOA时钟。 GPIOA->CRH&=0XFFFFF00F;//IO状态设置 GPIOA->CRH|=0X000004B0;//IO状态设置 USART1->BRR = M_USART_BAUD_RATE(SYSCLK,115200); //波
2009-07-13 23:57:00 1332
转载 Win CE驱动程序快速入门
有人也许和我一样比较心急,想尽快知道如何去写一个具体的驱动程序,这里,假设您对驱动程序已经有比较好的了解,告诉大家一个快速上路的方法。当然,如果您有足够的时间我建议在动手之前还是深入了解一下CE整个系统架构。在CE中,最简单的一个驱动程序莫过于一个内置(Built-in)设备的流接口驱动。对于一个不支持热拔插的设备,最快捷的方法就是为其实现一个内置的流接口的驱动。对于这样一类驱动程序,我
2008-08-08 02:05:00 1554
原创 VC常用的数据类型
数据类型意义BOOLBoolean值(TRUE or FALSE)BSTR32-bit字符指针BYTE8-bit整数,无正负号COLORREF32-bit数值,代表一个颜色值DWORD32-bit整数,无正负号LONG32-bit整数,有正负号
2008-08-08 01:56:00 579
转载 MFC中常用类,宏,函数介绍
常用类CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造: CRect( int l, int t, int r, int b ); 指明四个坐标CRect( const RECT& srcRect ); 由RECT结构构造CRect( LPCRECT lpSrcRect ); 由REC
2008-08-08 01:54:00 692
转载 AT24C01-AT24C256通用源程序(C51)
据说是AT24C01-AT24C256通用源程序,但按照我的经验,这个源程序仅适合AT24C04-AT24C256。 /*Sample:/*main(){ .../* ReadMem(l,x,y); /*读。l为本次访问的器件号,在宏定义时分配不同芯片的不同器件号, x为本次欲读出的字节数;y为本次读数的起始地址*/
2008-08-08 01:32:00 6949
原创 Win CE5.0背光驱动
在大多2440开发板BSP中的SMDK2440/DRIVERS/backlite目录下一般都有背光驱动。在注册表中添加如下函数的时候,开机时确实可以打印"!!!!!!!!!!!! BACKLIGHT ON !!!!!!!!!!!!,如果没有操作大概1分钟后也可以打印!!!!!!!!!!!! BACKLIGHT OFF !!!!!!!!!!!!。但打印("!!!!!!!!!!!! BACKLIGH
2008-08-07 18:11:00 2393 3
原创 VC++编程常用语句
这些是我刚刚入门时,编程中常用到的语句。很多时候可以直接在这里复制。UpdateData(false); //更新数据 UpdateData(); //获得数据 ////定时器控制 SetTimer(1,10,NULL);KillTimer(1);GetDlgItem(IDC_STATIC_SHOW1)->GetWindowRect(rcMark
2008-08-07 17:53:00 1736 1
原创 74HC595单片机C51驱动(源程序)
#include "reg52.h" #define uchar unsigned char sbit HC595_CS=P1^0; //STcp ////锁存时钟-----74HC595 12# sbit HC595_CLK=P1^1; //SHcp ////移位时钟-----74HC595 11# sbit HC595_DAT=P1^2;
2008-08-07 17:48:00 4338 2
原创 74LS164(74HC164)单片机C51驱动
#include #define uchar unsigned char #define uint unsigned int sbit AB =P1^0;sbit CLK=P1^1;sbit RET=P1^2;//延时函数 void mDelay(uchar Delay){ // 延时子程序
2008-08-07 17:44:00 2633
转载 C51单片机,128*64串口LCD驱动
CA12864K 串口C51演示程序// CA12864K 测试程序(串口) //*************************************************************************** //连线表: CPU=89C52 SystemClock=12Mhz
2008-08-07 17:37:00 2694
原创 单片机C51编程入门最好的例子(跑马灯)
#include #define uchar unsigned char #define uint unsigned int //延时子程序 void mDelay(uchar Delay){ uchar i; for(;Delay>0;Delay--) { for(i=0;i }}
2008-08-07 17:25:00 1544
原创 4×4矩阵式键盘(非中断)源程序
#include #define uchar unsigned char #define uint unsigned int uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF}; uchar temp;
2008-08-07 17:21:00 1053
原创 如何在windows CE添加LED驱动。
下面已QQ2440V3开发板的LED控制为例一、驱动部分打开目录/WINCE500/PLATFORM/smdk2440/GWE/NLEDDRV,编辑nleddrv.cpp文件,改文件中已有几个函数,我们只需要将GPIO相关设置输入即可。代码如下://// Copyright (c) Microsoft Corporation. All rights reserved./////
2008-07-20 00:02:00 2007
STM32 USB-HID通信
2010-12-17
STM32自定义USB设备修改例程
2010-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人