- 博客(48)
- 资源 (14)
- 收藏
- 关注
原创 STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收,解决第一笔数据无法收发问题
STM32 实现使用Command自动进入USB DFU的功能目的:为了实现方便的进入DFU模式,快速更新固件,所以想使用备份区域的寄存器作为标志来判断是否要进行DFU模式.使用工具:STM32CubeMX 6.01 生成代码DfuSe V3.0.6 DFU驱动STM32虚拟COM端口驱动程序 在App端需要用到USB虚拟串口来发送进入DFU的指令编译工具可以使用IAR或KEIL,依照个人习惯,本文使用KEIL 5DFU代码生成:STM32CubeMX部分:打开STM32C
2020-09-10 17:51:18
3118
3
转载 关于蓝牙的几个帖子
nrf51822-添加DFU服务http://blog.csdn.net/lilifang_2011/article/details/72876736nrf51822 DFU 空中升级教程http://blog.csdn.net/u011256124/article/details/51658159
2018-03-09 14:55:45
241
原创 使用2个timer实现步进马达脉冲加减速控制
本帖主要是记录自己的想法,如果有更好的建议请留言,目的为了实现对电机的加减速和步数控制,使用两个timer主要是想保证脉冲的稳定性以及不受主循环的延时影响,
2017-08-31 08:29:35
2071
转载 USB3.0的物理层测试探讨
USB简介USB(Universal Serial Bus)即通用串行总线,用于把键盘、鼠标、打印机、扫描仪、数码相机、MP3、U盘等外围设备连接到计算机,它使计算机与周边设备的接口标准化。在USB1.1版本中支持两种速率:全速12Mbps和低速1.5Mbps;而USB2.0中支持三种速率:高速480Mbps、全速12Mbps、低速1.5Mbps。在2002年Intel把USB2.0端口整合到
2016-10-22 21:31:32
1689
转载 Wince6.0系统启动后直接运行应用程序的实现与问题
最近在做项目程序的初始化配置,需要实现开机自启动、程序初始化配置等等。在网上搜了下,要实现WINCE系统启动后直接运行程序,有三种方法,这里主要是结合我的实际经历来阐述一下值得注意的一些问题。 1、不管是哪种方法,首先都得把应用程序app.exe放入NK映像中,在project.bib中添加 app.exe $(_FLATRELEASEDIR)\app.exe
2015-06-20 21:33:01
1470
1
转载 修改飞凌OK6410的默认LCD显示设备
我用的飞凌OK6410开发板在烧入系统(Wince6.0系统)后,默认是采用4.3寸触摸屏显示,而我的项目中采用的是HDMI高清显示,因此每次烧完系统后,都要重新用DNW来配置为高清显示驱动,比较麻烦,所以我打算修改一下eboot的程序,使其烧入系统后的默认显示设备为HDMI高清显示。下面主要是阐述一下我的思路和方法。 分析: 之所以默认采用4.3寸触摸屏显示,是因为初始写入B
2015-06-20 19:47:24
898
转载 在WinCE下调用校准触摸屏的API和源代码
在头文件中加入函数指针定义:typedef BOOL (WINAPI *_TouchCalibrate)();然后使用如下代码,加载coredll.dll,取TouchCalibrate函数地址,进行调用。// TODO: Add your control notification handler code hereHINSTANCE hinstance = LoadLibra
2015-06-18 21:28:56
791
1
转载 VC中使用纯资源dll实现多语言版本
用VC纯资源dll解决国际化问题这的确是个老话重谈了,因为这里面确实也没有什么可以称的上技术含量的,只是实现起来有点烦琐,不过我还是要写出来,希望刚接触这方面的同行们不至于走太多的弯路。 由于MFC应用程序也有自己的资源文件,当你调用MFC函数比如 CString::LoadString 或其它 LoadIcon 时,MFC应用程序框架首先跟踪搜索EXE文件的资源,然后才是DLL和MFC的
2015-06-17 20:43:12
2293
1
转载 Wince 检测 SD卡/USB 拔插
在wince系统中,如何检测USB/SD卡的拔插呢?可能有的会写一个线程专门去侦察USB/SD 的拔插情况,我觉得这样又费资源又费时间,很不划算,有没有更好的办法呢?当然有,今天我就介绍一种新的方法:WM_DEVICECHANGE,如下:[cpp] view plaincopyLRESULT Cxxx::DefWindowProc(UINT mess
2015-06-15 23:41:47
645
原创 c语言数据类型长度
头文件和中说明了基础数据的长度。float,double和long double的范围就是在IEEE 754标准中提及的典型数据。关键字位长(字节)范围格式化字符串char1-128..127(或0..255,与体系结构相关)%cunsigned char10..255 signed char1-1
2015-06-15 14:56:58
663
转载 MFC format函数详解
Format是一个很常用,却又似乎很烦的方法,以下是它的完整概貌,以供大家查询之用:一、字符串首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多
2015-06-14 17:09:48
816
转载 MFC复选框CheckBox使用
MFC中复选框checkbox控件,至少有三种方法对其进行操作,他们是利用Cbutton成员函数GetCheck和SetCheck,第二种是利用CWnd成员函数IsDlgButtonChecked,最后就是把checkbox复选框控件与BOOL型变量相关联。一、用CButton成员函数MFC中复选框CheckBox的基类是CButton。那么就可以用GetDlgItem来获取复选框
2015-06-14 14:49:38
33723
3
转载 wince 软输入面板(SIP)相关函数一览
转自:http://www.devdiv.com/thread-20281-1-1.htmlint SipEnumIM( IMENUMPROC pEnumIMProc );该函数枚举当前存在的输入法int SipEnumIMProc( IMENUMINFO* pIMInfo );回调函数,配合SipEnumIM函数使用BOOL SipGetCurrentIM( CL
2015-06-14 08:20:08
1298
转载 WINCE 6.0 输入法添加
WINCE6.0里面有两种IME输入法,一个是MSPY 3.0 ,另一个是Pocket IME.这两个任选其一都可以。 组件添加:一、POCKET IME添加:1.在Catalog View添加“Core OS”->“CEBASE”->“International”->“Locale Specific support”->“Chinese (Simplifi
2015-06-06 15:26:43
2254
转载 WinCE下开发程序常见问题
一. wince中,如何根据进程名称获得该进程IDDWORD GetProcessID(CString name){ HANDLE procSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if(procSnap == INVALID_HANDLE_VALUE) {
2015-06-06 14:29:35
2829
原创 WINCE 6.0 编辑框自动弹出软键盘
1.在工程源文件下添加头文件 #include "SIPAPI.H"2.给编辑框添加获得焦点和失去焦点的消息映射BEGIN_MESSAGE_MAP(CSDProDlg, CDialog) //{{AFX_MSG_MAP(CSDProDlg) ON_EN_KILLFOCUS(IDC_EDIT4, OnKillfocusEdit4) ON_EN_SETFOCUS
2015-06-06 14:06:12
1794
转载 VC如何改变编辑框的背景颜色方法
这里介绍的改变文本编辑框的背景颜色的方法不需要对CEdit生成新的类,步骤如下:(1) 新建一个基于对话框的MFC应用程序,程序名称为Test;(2) 在对话框上添加两个文本框,ID分别为IDC_EDIT1和IDC_EDIT2;(3) 在CTestDlg的头文件中添加几个成员变量,如下所示;class CTestDlg : public CDialog{protecte
2015-06-06 13:32:20
586
转载 WinCE串口编程API函数
·打开串口:HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttr
2015-05-29 16:01:00
1650
转载 WIN CE下的串口通信 1
1 Windows CE简介Windows CE是一种小型的、基于ROM的、具有Win32子集API的操作系统。它的优势在于小尺寸、Win32 API子集和对多平台的支持能力。在Windows CE下编程需要注意的是,Windows CE设备的资源很少,存储器、显示器都很小,接口也比较少,而且根据实际情况变化很大。另外,Windows CE只支持Unicode,这在编程中要格外注意。在Wi
2015-05-29 15:58:12
706
转载 wince中的串口编程
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使
2015-05-29 15:55:42
618
转载 VGA Signal Timing
640 x 350VGA 640x350@70 Hz (pixel clock 25.175 MHz)General timingScreen refresh rate70 HzVertical refresh31.46875 kHzPixel freq.25.175 MHz
2015-05-11 09:36:10
1126
转载 VGAtiming information
VGAtiming informationThisdocuments tries to collect together information about standard VGA card timingdetails.Informationform HP monitor manualHorizonal TimingHorizonal Dots 640
2015-05-04 15:10:25
555
转载 VGA时序及其原理
显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。隔行扫描是指电子束扫描时每隔一行扫一线,完成一屏后在返回来扫描剩下的线,隔行扫描的显
2015-05-04 14:55:29
2245
转载 BMP(图像文件格式(Bitmap))
BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Wi
2014-08-18 15:41:56
6209
转载 USB Class Codes
December 7, 2011http://www.usb.org/developers/defined_classUSB defines class code information that is used to identify a device’s functionality and to nominally load a device driver based on tha
2014-07-21 16:52:31
459
转载 USB命令(请求)和USB描述符
一、USB命令 在USB规范里,对命令一词提供的单词为“Request”,但这里为了更好的理解主机与设备之间的主从关系,将它定义成“命令”。 所有的USB设备都要求对主机发给自己的控制命令作出响应,USB规范定义了11个标准命令,它们分别是:Clear_Feature、Get_Configuration、Get_Descriptor、Get_Interface、Get_Stat
2014-07-21 16:43:45
494
转载 获取其他程序的信息(VC实现)
介绍 最近正试着从其他程序的listview控件中获取信息,因为需要传递一个指针以便存放取得的字符串,但Windows使用的是虚拟内存,指针是不允许跨进程访问的。 Windows是这样通过虚拟内存来管理分配给所有应用程序的内存的:它让程序认为自己拥有2GB的内存空间可用,它也通过保护来避免程序互相占用内存.这样当一个程序有问题时,不会影响到其他程序。
2014-06-19 12:52:17
1800
转载 list control的用法 --virtual List
LVIF_TEXT The pszText member must be filled in.LVIF_IMAGE The iImage member must be filled in.LVIF_INDENT The iIndent member must be filled in.LVIF_PARAM The lParam member must be filled in.LV
2014-06-06 10:01:29
860
转载 MFC format函数详解
Format是一个很常用,却又似乎很烦的方法,以下是它的完整概貌,以供大家查询之用:一、字符串首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多
2014-03-18 11:05:33
11151
转载 C++ MFC combo box和list control控件的使用
Combo Box用法: combo box控件由两部分组成:编辑框和选择框(列表框)组成,对应的类是CComboBox1、改变下拉框大小:先点向下的箭头,就可以调整下拉框大小2、如果 ComboBox 的 Sorted 属性设置为 true, 则新添加项将按字母顺序插入到列表中。 否则,在列表的结尾处插入项。3、要立即响应选择框的改变(即选择框一改
2014-03-10 14:24:48
1319
转载 VC中radiobutton控件的用法
先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton *)
2011-11-02 08:38:22
936
转载 VC++ List Control 的具体用法
1. ListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资
2011-09-21 17:07:19
1958
转载 #if, #elif, #else, #endif 使用
有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不
2011-09-14 16:54:07
1400
转载 CreateFile,ReadFile等API详解(或者说MSDN的翻译)
一、*****CreateFile***** 这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象:控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。 函数原型:HANDLE CreateFi
2011-09-13 09:38:37
788
转载 为初学者补充USB基本知识
USB的重要关键字: 1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点) 2、帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包
2011-09-09 09:00:10
515
转载 windows主机端与自定义USB HID设备通信详解
WriteFile 函数被调用后,虽然也是经过驱动程序,但是最终会反映到设备中。也就是说,调用 WriteFile 后,设备会接收到输出报告的请求。如果设备使用了中断 OUT 传输,则 WriteFile 会通过中断 OUT 管道来进行传输;否则会使用 SetReport 请求通
2011-09-09 08:48:50
1025
转载 language code
Languages Information Language codesLanguages - SKUs SENGDISPLAYNAME LCID 4 ltr code 3 ltr code 2 ltrEnglish E
2011-09-07 11:53:51
1002
转载 VC中创建多个线程的方法
<br />在VC中,无非是创建线程和写线程函数 <br />一、常规方法:纯使用Platform SDKAPI.<br />1, 创建线程: <br />#include <windows.h> <br />在MFC中通常在OnInitDialog()下面创建线程 <br />//定义参数:SerialControl <br />//------------------变量函数初始化调用区域-------- <br /> CSerialControl * m_SerialControl=new CSe
2010-07-01 14:25:00
669
转载 编辑类控件
以窗口类名"EDIT"创建的编辑类控件是一个可以用来接受用户键盘字符输入的矩形区域,可以在其内进行编辑操作。该控件是程序接受用户字符输入的一种主要手段,输入的内容存放在其父窗口容量有限的(32KB)局部堆中。 MFC的CEdit类提供了有关编辑类控件的功能函数。编辑控件既可以在对话框模板上创建也可以通过代码来直接创建,这两种方式均要通过CEdit的构造函数来构造一个CEdit对象。CEd
2010-07-01 10:10:00
1016
转载 按钮类控件
按钮类控件是窗口类名被系统预定义为BUTTON的一类控件,该类控件具有十余种不同的窗口风格,包含了普通的下压式按钮、单选按钮、复选按钮和分组框等多种常用的按钮形式。具体情况列表如下:按钮风格 说明 BS_AUTOCHECKBOX 同复选按钮类似,点击一下选中,再次点击取消。 BS_AUTORADIOBUTTON 同单选按钮类似,点击后选中标志将从同组的其他单选按钮处移到当前选项。 BS_AUTO3STATE 同三态复选按钮类似,只是在用户点击后改变状态。 BS_CHECKBOX 复选按钮 BS_DEFP
2010-07-01 10:03:00
566
Keil.STM32F4xx_DFP.2.14.0_开发.zip
2020-08-10
Keil.STM32F1xx_DFP.2.3.0_开发.zip
2020-08-10
Keil.STM32F0xx_DFP.2.1.0_开发.zip
2020-08-10
ARM.CMSIS-Driver.2.6.1_开发.zip
2020-08-10
ARM.CMSIS.5.7.0_开发.zip
2020-08-10
Keil.MDK-Middleware.7.12.0.pack
2020-08-10
Keil.ARM_Compiler.1.6.3.pack
2020-08-10
Keil C51语言使用技巧及实战
2008-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人