社区
硬件/系统
帖子详情
【请教高手】如何用VC向单片机串行传输数据啊,急,分不够再加
嵌入式电子
2004-04-05 10:57:19
小弟第一次接触VC与单片机的问题啊,如题,请各位大侠帮忙啊,急啊~
...全文
99
8
打赏
收藏
【请教高手】如何用VC向单片机串行传输数据啊,急,分不够再加
小弟第一次接触VC与单片机的问题啊,如题,请各位大侠帮忙啊,急啊~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sohou
2004-04-07
打赏
举报
回复
我一猜旧知道你在做毕业论文!操作串口应该很简单的啊,你随便看看资料不就OK,说的这么吓人,急什么!
fu0212
2004-04-06
打赏
举报
回复
串行通讯 用串行控件 能简单点 单片机?什么系列的 ? 要通过电平转换的 MAX232
zhangnanonnet
2004-04-06
打赏
举报
回复
你用API不就可以了,CREATEFILE,READFILE,WRITEFILE什么的,98/NT/2000都可以
给你个例子
extern "C" bool PASCAL Link()
{
m_hCardInterFace =
CreateFile("COM1", // 建立和COM1通讯连接
GENERIC_WRITE,
NULL,NULL,
OPEN_EXISTING,
NULL,
NULL);
if(m_hCardInterFace!=INVALID_HANDLE_VALUE)
{
m_CommTimeouts.ReadIntervalTimeout = 1000;//读操作两个字节之间的时间(单位:毫秒)
m_CommTimeouts.ReadTotalTimeoutMultiplier = 1000;//读操作的时间(单位:毫秒)
m_CommTimeouts.ReadTotalTimeoutConstant = 1000;
m_CommTimeouts.WriteTotalTimeoutMultiplier = 1000;
m_CommTimeouts.WriteTotalTimeoutConstant = 1000;
SetCommTimeouts(m_hCardInterFace, &m_CommTimeouts);
return true;
}
return false;
}
extern "C" void PASCAL Unlink() //断开打印机
{
CloseHandle(m_hCardInterFace);
}
bool SendCommand(CString CommandWord) //向打印机发出命令,并且返回命令状态
{
DWORD t1,dwRead;
COMSTAT t2;
CString Command=0x1b;
Command+=CommandWord;
Command+=0x0d;
WriteFile(
m_hCardInterFace,
Command.GetBuffer (Command.GetLength ()),
Command.GetLength (),
&dwRead,
NULL);
if(!ClearCommError(m_hCardInterFace,&t1,&t2))
{
switch(t1)
{
case CE_OOP:
TRACE("G CE_OOP\n");
return false;
break;
case CE_PTO://超时错误
TRACE("G CE_PTO\n");
return false;
break;
case CE_IOE:
TRACE("G CE_IOE\n");
return false;
break;
}
}
return true;
}
嵌入式电子
2004-04-06
打赏
举报
回复
多谢一楼,看来那些文章后现在心里总算有点头绪了,但是,我还有一点不确定的就是:是不是VC只是负责与PC机的串口通讯,至于具体如何写入单片机是由什么控制的呢?单片机与PC机串口连接后,PC机串口的数据就会自动写入单片机么?
狂放之歌
2004-04-06
打赏
举报
回复
以前有兄弟贴过哦!
http://www.gjwtech.com.
共同进步~~
zhangcrony
2004-04-06
打赏
举报
回复
//这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收
//和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的
//程序编写: 龚建伟 webmaster@gjwtech.com
//技术主页:http://www.gjwtech.com
//您有这方面的问题可以和我讨论
#include <reg51.h>
#include <string.h>
#define INBUF_LEN 4 //数据长度
unsigned char inbuf1[INBUF_LEN];
unsigned char checksum,count3;
bit read_flag=0;
void init_serialcomm(void)
{
SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr
TMOD |= 0x20; //TMOD: timer 1, mode 2, 8-bit reload
PCON |= 0x80; //SMOD=1;
TH1 = 0xF4; //Baud:4800 fosc=11.0592MHz
IE |= 0x90; //Enable Serial Interrupt
TR1 = 1; // timer 1 run
// TI=1;
}
//向串口发送一个字符
void send_char_com(unsigned char ch)
{
SBUF=ch;
while(TI==0);
TI=0;
}
//向串口发送一个字符串,strlen为该字符串长度
void send_string_com(unsigned char *str,unsigned int strlen)
{
unsigned int k=0;
do
{
send_char_com(*(str + k));
k++;
} while(k < strlen);
}
//串口接收中断函数
void serial () interrupt 4 using 3
{
if(RI)
{
unsigned char ch;
RI = 0;
ch=SBUF;
if(ch>127)
{
count3=0;
inbuf1[count3]=ch;
checksum= ch-128;
}
else
{
count3++;
inbuf1[count3]=ch;
checksum ^= ch;
if( (count3==(INBUF_LEN-1)) && (!checksum) )
{
read_flag=1; //如果串口接收的数据达到INBUF_LEN个,且校验没错,
//就置位取数标志
}
}
}
}
main()
{
init_serialcomm(); //初始化串口
while(1)
{
if(read_flag) //如果取数标志已置位,就将读到的数从串口发出
{
read_flag=0; //取数标志清0
send_string_com(inbuf1,INBUF_LEN);
}
}
}
dove21
2004-04-06
打赏
举报
回复
要具体说说你想干什么??这样大家好再进一步的帮你
dove21
2004-04-06
打赏
举报
回复
关于vc方面的http://www.gjwtech.com这个网站应该很详细了!单片机方面就象上面的兄弟说得那样,要看单片机的代码怎么写的,也就是和vc的协议问题!硬件方面肯定要电平转换的,那个应该很简单的!
DSP入门教程
对于有JTAG仿真口的DSP,可以将JTAG串接在一起,用一套仿真器同时调试多个DSP,每个DSP可以用不同的名字,在不同的窗口中调试。C55x系列是TI的第三代DSP,功耗为
VC
54xx的1/6,性能为
VC
54xx的5倍,是一个正在发展的...
CSDN回帖得
分
大全(近两年)
√vs2005调用dll的时候Initialize()函数返回错误 [
VC
/MFC ... [
VC
/MFC 界面] 40 chencheng8095 05-23 00:2911 xianglitian06-10 11:51管理√CFileFind::FindFile 支持通配符么? [
VC
/MFC 基础类] 100 wysbk002 05-22
DSP技术-2-DSP的C语言同主机C语言的主要区别在哪里?
但在CCS中,为了方便调试,可以将数据通过prinf命令虚拟输出到主机的屏幕上。 2)DSP的C语言的编译过程为,C编译为ASM,再由ASM编译为OBJ。因此C和ASM的对应关系非常明确,非常便于人工优化。 ...
开发TI DSP需要知道的
三.DSP发展动态 1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。C24x系列建议使用LF24xx系列替代C24x系列,LF24xx系列的价格比C24x便宜,性能高于...2.TMS320C3x TMS320C3x系列包括C3x和
VC
33,主要推荐使用
VC
33。C
DSP 入门教程
DSP 入门教程1、TI DSP 的选型主要考虑处理速度、功耗、程序存储器和数据存储器的容量、片内的资源,如定时器的数量、I/O 口数量、中断数量、DMA 通道数等。DSP 的主要供应商有TI,ADI,Motorola,Lucent和Zilog 等,...
硬件/系统
2,640
社区成员
17,239
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章