VC++ 6.0 C8051F340 USB PC侧通信 Demo
// HelloWorld.cpp : Defines the entry point for the console application. // /**************************************************************************** VC++ 6.0 C8051F340 USB 通信 Demo* 声明:* 1. 本程序另外需要C8051F340单片机程序配合;* 2. 本程序是在拥有SiUSBXp.h、SiUSBXp.lib、SiUSBXp.dll的基础上做的,* 本人目前还并不知道这是从何而来,同事遗留。* * 2015-7-11 晴 深圳 南山平山村 增剑锋**************************************************************************/#include "stdafx.h" #include <windows.h> #include <time.h> #include "SiUSBXp.h" #include <string.h>int main(int argc, char* argv[]) {printf("Hello World!\n");HANDLE m_hUSBDevice = INVALID_HANDLE_VALUE;DWORD dwNumDevices = 0;// 获取系统当前有多少可用设备SI_GetNumDevices(&dwNumDevices); printf("zengjf debug: dwNumDevices = %d.\n", dwNumDevices);// 如果设备数为零,则没必要继续运行if(dwNumDevices ==0) return -1;// 打开第0个可用的设备if ( SI_Open(0, &m_hUSBDevice) == SI_SUCCESS)printf("zengjf debug: SI_Open USBDevice success.\n"); else {printf("zengjf debug: SI_Open USBDevice fails.\n");return -1;}// 初始化一些要传输的数据和一些将需要的数据char testData[17] = "zengjf";DWORD hasWritten = 0;DWORD hasRead = 0;// 将数据写入C8051F340单片机if ( SI_Write( m_hUSBDevice, testData, strlen(testData), &hasWritten) == SI_SUCCESS ) printf("zengjf debug: SI_Write USBDevice success, hasWritten length = %d.\n", hasWritten);else {printf("zengjf debug: SI_Write USBDevice fails.\n");return -1;}// 睡眠1s,等待数据返回,这里是因为已经在C8051F340单片机内部已经设置了,会返回一串字符Sleep(1000);// 重新清理掉testData中的数据,为接收数据做准备memset(testData, 0, sizeof(testData));// 读取单片机内部C8051F340单片机发送回来的数据,单片机只发了16个字符,hasRead中保留真事读取字符个数if ( SI_Read( m_hUSBDevice, testData, 20, &hasRead) == SI_SUCCESS ) {printf("zengjf debug: SI_Read USBDevice success, hasRead length = %d.\n", hasRead);printf("zengjf debug: get data from C8051F340 -- testData[ %s ].\n", testData);} else {printf("zengjf debug: SI_Read USBDevice fails.\n");return -1;}// 关闭通信连接if ( SI_Close(m_hUSBDevice) == SI_SUCCESS )printf("zengjf debug: SI_Close USBDevice success.\n");else {printf("zengjf debug: SI_Close USBDevice fails.\n");return -1;}return 0; }
转载于:https://www.cnblogs.com/zengjfgit/p/4638819.html
VC++ 6.0 C8051F340 USB PC侧通信 Demo相关推荐
- VC++ 6.0 C8051F340 MFC programming note
/*************************************************************************************** VC++ 6.0 C8 ...
- VC++6.0上实现PC机与单片机串口通信的PC端上位机软件
1.简介 我做这个的主要原因是选了一个PC和单片机的全双工串口通信作为课设题目,单片机端是用汇编语言编程且要预先下载到板子里,关于这个这里我就不多说,主要说说怎么实现PC端的上位机软件.早知道要写软件 ...
- STM32开发,串口和PC机通信(串口中断、FIFO机制),安富莱+正点原子程序合并
STM32开发,串口和PC机通信(串口中断.FIFO机制),安富莱+正点原子程序合并 1 概述 1.1 资源概述 1.2 实现功能 2 软件实现 2.1实现步骤 2.2 main()函数代码 2.3 ...
- RS232接口转USB接口的通信方法
2006-05-03 21:44:07 组图]RS232接口转USB接口的通信方法 RS232接口转USB接口的通信方法 USB作为一种新的PC机互连协议,使外设到计算机的连接更加高效.便利.这种接口 ...
- android 4.0.4 usb调试,安卓手机4.0怎么打开usb调试?图文详解附视频
安卓手机更新换代的太快,系统每次升级多少会有点不同 总会有那么点不适应,就连如何调试USB都不知道怎么设置了? 下面就来就讲讲目前主流品牌手机4.0手机USB调试. 大部分Android设备打开&qu ...
- 计算机dos通讯,PC双机通信DOS
<PC双机通信DOS>由会员分享,可在线阅读,更多相关<PC双机通信DOS(64页珍藏版)>请在人人文库网上搜索. 1.1 第第9 9章章 串行通信接口串行通信接口 主要内容: ...
- 单片机与PC机一样都是计算机,51单片机与PC机通信资料
<51单片机与PC机通信资料>由会员分享,可在线阅读,更多相关<51单片机与PC机通信资料(14页珍藏版)>请在人人文库网上搜索. 1.专业综合实习报告专 业: 电子信息工程 ...
- 基于VC++6.0的DLL开发
原文地址:http://blog.163.com/twnhr@126/blog/static/78927547200910254346804/ 基于VC++6.0的DLL开发 最近在开发一个基于网络的 ...
- 用VC++6.0 Sockets API实现聊天室程序
用VC++6.0 Sockets API实现聊天室程序 1.VC++网络编程及Windows Sockets API简介 VC++对网络编程的支持有socket支持,WinInet支持,MAPI和IS ...
最新文章
- CodeForces 679B Bear and Tower of Cubes
- Android图片360全景旋转
- 《浪潮之巅》读书笔记(中)
- sqoop mysql 安装_Sqoop安装及验证_MySQL
- adobe stream的最后一行空行_玩转Java8Stream(五、并行Stream)
- 用VC++绘制位图按钮
- dateutils 工具类_五金工具泡壳封边机
- Python内置函数sorted()高级排序用法
- 如何限制修改IP地址
- Goland的常用快捷键
- 软件开发 外包_软件开发外包:选择它的理由
- Windows | 管理员权限打开CMD 快捷键
- 【ITSM】什么是ITSM,IT部门为什么需要ITSM
- npm run build时报错“caniuse-lite is outdated”
- Word Maze(单词迷宫)
- 手游大话藏宝阁找不到服务器,大话西游手游藏宝阁指定交易在哪里 藏宝阁怎么没有指定我...
- wildfly部署springboot项目
- 一切编程语言都是纸老虎
- GridView分页功能
- ClassNotFoundException: org.apache.spark.AccumulatorParam 解决方案
热门文章
- 关于Android studio找不到sqlite数据库的解决方法
- HDU 4864 Task(贪心或高斯消元)
- 教育行业的互联网焦虑症
- 跟我学PHP第二篇- 配置Mysql以及PHP WampServer篇(1)
- SQL注入漏洞全接触--高级篇
- 数据源的配置和使用 视频下载
- qqsafe病毒 arp网站挂马 原理剖析-786ts.qqsafe-qqservicesyydswfhuw8ysjftwf.org(转载)
- Selenium-基础操作
- Python实现将不规范的英文名字首字母大写
- Atcoder 084D - Small Multiple(最短路径+思维)