博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VC++ 6.0 C8051F340 USB PC侧通信 Demo
阅读量:5951 次
发布时间:2019-06-19

本文共 2493 字,大约阅读时间需要 8 分钟。

// 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 
#include
#include "SiUSBXp.h"#include
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

你可能感兴趣的文章
idea Error:(1, 10) java: 需要class, interface或enum, 未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533...
查看>>
Java Code Examples for org.apache.ibatis.annotations.Insert
查看>>
为linux扩展swap分区
查看>>
python \uxxxx转中文,Python列表中的字典 \uxxxx转中文,
查看>>
tomcat配置访问项目时不需要加项目名称
查看>>
转JMeter 利用Jmeter批量数据库插入数据
查看>>
在多模块开发的时候,利用项目继承可以将结构信息、部署信息,将共同的依赖放在一个父类中。...
查看>>
[原创] IAR7.10安装注册教程
查看>>
Java图像渐变
查看>>
解决ios下的微信打开的页面背景音乐无法自动播放(转载)
查看>>
fidder设置断点,修改请求参数等
查看>>
Material Design之RecyclerView的使用(一)
查看>>
系统编程是什么
查看>>
git rebase简介(基本篇)
查看>>
Backup and Recovery Basics1
查看>>
C语言各种keyword
查看>>
Rescue
查看>>
1775. [国家集训队2010]小Z的袜子
查看>>
前端学习 -- Html&Css -- 表单
查看>>
android的toogleButton和switch的使用方法
查看>>