欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 口号 > c如果没有可用串口号

c如果没有可用串口号

时间:2016-11-08 15:27

java或者c都连接不上rs232 9针串口

供参考void MCU_Initialize(void){ SCON =0xDC; \\\/\\\/在11.0592MHz下,设置串行口波特率为9600,方式3,并允许接收 9为 SCON = 0x50; TCON = 0x00; TMOD |=0x21; \\\/\\\/定时器工作于方式2,自动装载方式 T0 16位定时器 TH1=0xFD; IP = 0X90; ES=1; ET0=1; \\\/\\\/TR1=1; EA=1;}\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/发送一个字节\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/*void putchar(unsigned char byte){ if(JO_check(byte)==1) TB8=0; else TB8=1; SBUF=byte; while(!TI) TI=0;} *\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/串口接受程序 与350通信\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/\\\/void RX() interrupt 4{ if(RI==1) { RI=0; C8051F350[CaiYangJiShu]=SBUF; if(RB8==JO_check(C8051F350[CaiYangJiShu])) { Ji_Ou_fail=0; \\\/\\\/奇偶效验失败 通知F350从新发送 } CaiYangJiShu++; if(CaiYangJiShu==8) { TR1=0; CS_350=1; CaiYangJiShu=0; \\\/\\\/ CAIYANG_over=0; \\\/\\\/完成一次采样标志 if(C8051F350[0]==0x55 && C8051F350[1]==0x55 && C8051F350[6]==0xAA && C8051F350[7]==0xAA&&Ji_Ou_fail==1) { CAIYANG_over=0; CaiYnagDat=0; CaiYnagDat<<=8; CaiYnagDat += C8051F350[5]; CaiYnagDat<<=8; CaiYnagDat += C8051F350[4]; CaiYnagDat<<=8; CaiYnagDat += C8051F350[3]; CaiYnagDat<<=8; CaiYnagDat += C8051F350[2]; } } }}这个程序是带奇偶校验的,可以在设置的时候去掉

使用串口调试助手(RS232),为什么电脑上只有一个串口

(COM1)

其实,很多 电脑 并没有COM串口就算有,也只有 一个串口是用来通信的,通信 就需要2 端,这样 才能形成一个当然,如果 调试串口程序,可以用 的 如 vspd

谁能给我一个用C语言编写的串口通讯程序,不好意思我对这方面零基础,想找个简单程序学学

#include \\\/*标准输入输出定义*\\\/#include \\\/*标准函数库定义*\\\/#include string.h#include \\\/*文件控制定义*\\\/#include \\\/*POSIX 终端控制定义*\\\/#include \\\/*错误号定义*\\\/ #define FALSE -1#define TRUE 0int OpenDev(char *Dev){int fd = open( Dev, O_RDWR | O_NOCTTY); if (-1 == fd){ perror(Can't Open Serial Port);return -1;}elsereturn fd;}int main(int argc, char **argv){unsigned char rbuf[4096];struct termios newtio;int fd;int rlen;int mode = 0;newtio.c_iflag = 0;newtio.c_oflag = 0;newtio.c_cflag = B9600|CS8|CREAD|CLOCAL;\\\/\\\/波特率9600,数据8位,自己可以改,其它的流控什么的没加。

newtio.c_lflag = 0;newtio.c_cc[VTIME] = 0;newtio.c_cc[VMIN] = 1;fd=OpenDev(COM1);\\\/\\\/输入你的串口名称if (fd < 0)exit(0);printf(Open serial OK\\\ );tcflush(fd,TCIOFLUSH);tcsetattr(fd, TCSANOW, &newtio);while (1) \\\/\\\/循环读取数据{ write(fd, 1234567890,10);if((rlen = read(fd, rbuf, 4096))>0){ printf(\\\ Len %d\\\ ,rlen); rbuf[rlen] = '\\\\0'; printf( %s\\\ , rbuf); }sleep(1);}close(fd); exit (0);} 别忘了给分啊。

我想用C语言实现一个串口发送的功能

可以。

首先你可以用程序判断你待发送的字符的校验和y设你在校验位要发送的位为x设校验方式为z 因为 x=y xor z 所以 z=x xor y 即根据校验和y 与 你的要求x 决定用奇校验还是偶校验。

要是没有猜错,你可能是想用校验位来多一个发送位,达到特殊控制功能。

不要忘记,上述方法只能在一个字符发送完成后才能改变校验方式。

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片