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 = ; // 获取系统当前有多少可用设备
SI_GetNumDevices(&dwNumDevices);
printf("zengjf debug: dwNumDevices = %d.\n", dwNumDevices); // 如果设备数为零,则没必要继续运行
if(dwNumDevices ==)
return -; // 打开第0个可用的设备
if ( SI_Open(, &m_hUSBDevice) == SI_SUCCESS)
printf("zengjf debug: SI_Open USBDevice success.\n");
else {
printf("zengjf debug: SI_Open USBDevice fails.\n");
return -;
} // 初始化一些要传输的数据和一些将需要的数据
char testData[] = "zengjf";
DWORD hasWritten = ;
DWORD hasRead = ; // 将数据写入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 -;
} // 睡眠1s,等待数据返回,这里是因为已经在C8051F340单片机内部已经设置了,会返回一串字符
Sleep(); // 重新清理掉testData中的数据,为接收数据做准备
memset(testData, , sizeof(testData)); // 读取单片机内部C8051F340单片机发送回来的数据,单片机只发了16个字符,hasRead中保留真事读取字符个数
if ( SI_Read( m_hUSBDevice, testData, , &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 -;
} // 关闭通信连接
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 -;
} return ;
}
VC++ 6.0 C8051F340 USB PC侧通信 Demo的更多相关文章
- VC++ 6.0 C8051F340 USB 通信 CAN 数据解析
// HelloWorld.cpp : Defines the entry point for the console application. // /*********************** ...
- VC++ 6.0 C8051F340 MFC programming note
/************************************************************************************** * VC++ 6.0 C ...
- 目标电脑未安装VC++6.0或者VS,运行APP丢失DLL问题解决办法
一.背景 VS或者VC++6.0编译出来的程序需要在未安装VS/VC++6.0的电脑上跑,很大情况会出现MSVCRXXX.dll 或者其他DLL丢失的情形,本篇就DLL相关问题做个记录. 二.正文 1 ...
- VC++6.0一些常见问题解决方法(打开多个窗口、行号、添加文件无响应、更改.exe图标及名称等等)
背景: 最近使用VC++6.0做一个界面,供测试CAN通信使用.由于客户希望我们提供简单方便的函数接口让其最快速使用CAN,DLL(动态链接库)是不二之选.做DLL需要两个VC窗口进行测试才方便.可是 ...
- 《VC++ 6简明教程》即VC++ 6.0入门精讲 学习进度及笔记
VC++6.0入门→精讲 2013.06.09,目前,每一章的“自测题”和“小结”三个板块还没有看(备注:第一章的“实验”已经看完). 2013.06.16 第三章的“实验”.“自测题”.“小结”和“ ...
- VC++ 6.0中实现三叉切分窗口与多视图 [转]
一.引用 当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图.应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一 ...
- 基于FPGA的红外遥控解码与PC串口通信
基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...
- VC++使用socket进行TCP、UDP通信实例总结
1. 两台计算机通信需要协议,通信的两台计算机IP必须唯一 2. 同一个计算机可以进行多个应用程序与其他计算机通信,IP地址唯一,而端口号是区别同一计算机(同一IP)的唯一 ...
- PC蓝牙通信C#代码实现
PC蓝牙通信C#代码实现 这篇文章主要为大家详细介绍了PC蓝牙通信C#代码实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了C#实现PC蓝牙通信代码,供大家参考,具体内容如下 ...
随机推荐
- telnet不是内部或外部命令的解决方案
telnet主要是为了维护使用,windows默认不打开这个功能,所有无法登陆 按照下面截图,可轻松打开telnet功能 点击控制面板 选择程序和功能 点击左上角打开 turn windows fea ...
- Jmeter 中对响应报文处理后断言用到BeanShell Assertion
Jmeter中常用的断言可以是Response Assertion 如果需要对响应报文中的某个字符串进行解码,对解码之后的值在进行断言要怎么做呢? 仔细观察一下,可以用下面俩个元件 Regular E ...
- VC++异常处理
1.测试代码: #include <stdio.h> #include <windows.h> void main() { __try { DWORD dwDemonObj = ...
- TinyXML用法小结2
参考:http://www.cnblogs.com/hgwang/p/5833638.html TinyXML用法小结 1. 介绍 Tinyxml的官方网址:http://www.grinn ...
- R-FCN论文理解
一.R-FCN初探 1. R-FCN贡献 提出Position-sensitive score maps来解决目标检测的位置敏感性问题: 区域为基础的,全卷积网络的二阶段目标检测框架: 比Faster ...
- CodeSmith公共类维护
CodeSmith在使用过程中,我们经常会出现同一个方法在不同的页面调用,如果我们在每个页面都写一个这样的方法,那么代码量非常大,同时如果以后需要修改也要在每个页面分别去修改,这无疑是劳命伤财,如果能 ...
- C# Arc Gis实例教程——网络链接
http://www.doc88.com/p-305888679879.html http://www.doc88.com/p-992232217007.html http://www.cnblogs ...
- Party CodeForces - 906C (状压)
大意: 给定n(n<=22)个人, m个关系谁跟谁是朋友, 朋友关系是双向的, 每次操作可以选择一个人, 使他的朋友互相成为朋友, 求最少多少次操作可以使所有人互相认识 这个题挺巧妙的了, 关键 ...
- 模拟模拟vij1120
花生采摘 描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”. 鲁宾逊先生和多多都很开心,因为花生正 ...
- 字符串 dfs
1222: FJ的字符串 [水题] 时间限制: 1 Sec 内存限制: 128 MB 提交: 52 解决: 9 状态 题目描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ ...