db9接口定义(DB9的螺纹规格)

1. db9接口定义,DB9的螺纹规格?

DB9是一种9针串口连接器,接口上的是螺母,对应的DB9孔式接口上的就是螺钉,属于美制4-40UNC,直径2.845mm,牙数40,螺距0.635mm,牙高0.378mm;

外螺纹(公差2A):外径最大2.82448mm,外径最2.69494小mm,中径最大2.413mm,中径最小2.3495mm,小径2.06756mm;

外螺纹(公差3A):外径最大2.8448mm,外径最2.71526小mm,中径最大2.43332mm,中径最小2.38506mm,小径2.08788mm。

db9接口定义(DB9的螺纹规格)

2. RS232的RX和TX脚如何判断?

楼上几位回答的已经很好了,简单补充一下。

UART,232,485都是串口,只是电平不一样,UART一般用于电路板内部通信或者短距离通信,最常用的就是单片机,STM32等都有,板子上有个串口设备,就可以直接使用UART的TX,RX管脚连接使用,或者留个排针或者端子座对外,注意如果要外接,需要供电和共地,这种情况适用于距离较短的串口模块,比如刷卡,蓝牙,WiFi小模块等等;

如果距离较大,在米一级,最好使用一个MAX232芯片转一道,这个芯片的作用就是把TTL电平的高转为232电平的-15V,把TTL的低转为232电平的+15V,在长距离传输的时候抗干扰性能更好,

此时不再使用简单的VCC 、TX、RX、GND,而是使用标准接口DB9,在电脑等各种设备上都能看到一个梯形的口,里面有9个针脚,就是DB9接口,在设计时有选择的使用管脚,要注意串口线两端连接的引脚对应关系,保证TX接RX。

232电平通信可以满足米到10米的距离,再远怎么办,环境很恶劣怎么办,用485,485是工业级的通信方式,抗干扰能力强,通信距离可以达到千米,与UART转232类似,使用485也需要转一道,一般使用MAX485芯片。

最后,通信距离除了和电平有关,还和波特率,通信协议等有关,实际做的时候还需要在基本的设计上遇到问题解决问题。具体的使用你还需要查阅各个芯片的datasheet,希望能帮到你。

3. 个人电脑如何控制单片机?

个人电脑控制单片机,主要通过以下步骤:1)建立个人电脑和单片机的通信连接

普通的单片机通常有UART、SPI、IIC、USB等通信模块。

和电脑通信最常用的是UART,可以有两种方式和电脑建立连接(现在的笔记本电脑很少有支持RS232的DB9接口,所以需要使用USB转TTL,或者USB转485的数据线):

从网上购买USB转TTL的串口线:

通过UART-TTL,将单片机的串口TX,RX引出,加限流保护电阻之后,将串口线的地和单片机的地接到一起,将单片机的串口TX接到串口线的RX,将单片机的串口RX接到串口线的TX。

还可以通过RS485总线与电脑连接;

仍然从网上购买USB转RS485的数据线:

RX,TX,以及发送/接收使能控制脚如下图连接至485芯片(如MAX485),将单片机的串口转成485总线。

除了串口之外,还可以从网上购买支持UART接口的以太网模块或者wifi模块。

通过以太网模块,或者wifi模块内置的TCP/IP协议栈,采用TCP/IP通信与个人电脑建立连接。

单片机与模块之间的控制(如初始化、建立TCP客户端/服务端,发送/接收TCP/UDP报文等)可以通过标准的AT指令实现。

2)制定协议以及编写软件

如果是通过RS485连接,建议采用MODBUS通信协议。

个人自定义协议,我通常采用如下格式:

1字节帧头,2字节数据长度,1字节命令字,n字节payload,1字节crc8校验

包括单片机软件和上位机软件,

不管是串口/RS485通信,还是TCP/IP通信,都是单片机串口的通信程序。

包括发送和接收程序,一般开辟发送/接收两块缓存,在串口中断接收程序中,将串口接收到的数据放在环行队列,在主程序中根据协议从环行队列中取出数据进行解析,当解析到有效数据之后,再抛给应用层程序进行相关处理(如IO口控制,IO口读取,FLASH读写等)。

当应用层需要发送数据时,请求串口发送,将数据填入发送缓存,之后串口程序串口发送中断程序中将数据逐字节送入串口发送寄存器。

以下是我在产品中实际使用的串口程序。

#include "Uart.h"

#include "IO.h"

#include "crc.h"

#include "Timer.h"

#include "Strs.h"

#include "WiFi.h"

#define P_UA_TX_P GPIOA

#define P_UA_TX_V 9

#define P_UA_RX_P GPIOA

#define P_UA_RX_V 10

#define UART_WIFI ((USART_TypeDef *) USART1_BASE)

STRUARecType g_ua_stRecRegs;

STRUASendType g_ua_stSendRegs;

#define ENABLE_UART_TX() {\

UART_WIFI->CR1 |= USART_CR1_TXEIE;\

}

//禁止发送中断,使能接收

#define DISABLE_UART_TX() {\

UART_WIFI->CR1 &= ~USART_CR1_TXEIE;\

g_ua_stSendRegs.m_uchSendTimer = 0;\

}

#define ENABLE_UART_INT() {\

NVIC_EnableIRQ(USART1_IRQn);\

}

void fnUA_Init(void);

void fnUA_RealTime(void);

void fnUA_IOInit(void);

void fnUA_RegInit(void);

void fnUA_IOInit(void)

{

//使能外设时钟

U16 bandrate;

SET_IO_AFMODE_PP(P_UA_TX_P, P_UA_TX_V);

SET_IO_IN_WITHOUTPULLUP(P_UA_RX_P, P_UA_RX_V);

//复位UART1外设模块

RCC->APB2RSTR |= RCC_APB2RSTR_USART1RST;

RCC->APB2RSTR &= ~RCC_APB2RSTR_USART1RST;

//使能外设时钟

RCC->APB2ENR |= RCC_APB2ENR_USART1EN;

//使能UART功能

UART_WIFI->CR1 = 0; //OVER8=0:16bit sample;M=0:8data bits;PCE=0:parity disable;

UART_WIFI->CR2 = 0; //ABREN=0:Auto baud rate detection is disabled;one stop bit;

UART_WIFI->CR3 = 0; //OVRDIS=0: Overrun enable;ONEBIT=0: Three sample bit method;EIE=0: Error interrupt enable

// 24M FCK 配置波特率为19200U; 24000000/19200=1250(0x04e2)

bandrate = ((U32)SYSCLK_SYS_FREQ / 2 / (U32)115200);

UART_WIFI->BRR = bandrate;//);

UART_WIFI->SR |= (USART_SR_PE |USART_SR_FE|USART_SR_NE |USART_SR_ORE|USART_SR_TC);

//接收/接收中断使能

UART_WIFI->CR1 |= USART_CR1_RE | USART_CR1_RXNEIE;

//发送使能

UART_WIFI->CR1 |= USART_CR1_TE ; //TCIE = 0;TXEIE = 0;IDLEIE = 0;

//使能UART外设模块

UART_WIFI->CR1 |= USART_CR1_UE;

ENABLE_UART_INT();

}

void fnUA_RegInit(void)

{

memset(&g_ua_stRecRegs, 0, sizeof(g_ua_stRecRegs));

memset(&g_ua_stSendRegs, 0, sizeof(g_ua_stSendRegs));

}

void fnUA_Init(void)

{

fnUA_RegInit();

fnUA_IOInit();

}

void USART1_IRQHandler(void)

{

unsigned char temp =0;

static U8 crc = 0;

//Receive Int

if(UART_WIFI->CR1 & USART_CR1_RXNEIE)

{

while(UART_WIFI->SR & USART_SR_RXNE)

{

temp = UART_WIFI->DR;

g_ua_stRecRegs.m_uchRingBuff[g_ua_stRecRegs.m_uchInP & (UA_RX_RINGBUFF_SIZE - 1)] = temp;

g_ua_stRecRegs.m_uchInP++;

}

}

//Transmitter Int

if(UART_WIFI->CR1 & USART_CR1_TXEIE)

{

if(UART_WIFI->SR & USART_SR_TXE)

{//UART发送中断

if(g_ua_stSendRegs.m_uchIsSending)

{

if(0 == g_ua_stSendRegs.m_uchIndex)

{

crc = 0;

}

if(g_ua_stSendRegs.m_uchIndex < g_ua_stSendRegs.m_uchCount)

{

temp = g_ua_stSendRegs.m_uchBuff[g_ua_stSendRegs.m_uchIndex];

if(g_ua_stSendRegs.m_uchIndex == (g_ua_stSendRegs.m_uchCount - 1))

{

temp = crc;

}

else

{

crc += temp;

}

UART_WIFI->DR = temp;

g_ua_stSendRegs.m_uchIndex ++;

}

else

{

DISABLE_UART_TX();

g_ua_stSendRegs.m_uchIsSending = FALSE;

}

}

}

}

}

#define UA_RX_CHARTIME 8

void fnUA_RecMsg(void)

{

U16 outp;

U8 temp;

static U8 crc = 0;

if(g_tm_stTimerFlag.Bits.bTimer16ms)

{

if(g_ua_stRecRegs.m_uchCharTime)

{

g_ua_stRecRegs.m_uchCharTime--;

if(0 == g_ua_stRecRegs.m_uchCharTime)

{

g_ua_stRecRegs.m_uchPointer = 0;

}

}

}

if(FALSE == g_ua_stRecRegs.m_uchReceived)

{

while(g_ua_stRecRegs.m_uchInP != g_ua_stRecRegs.m_uchOutP)

{

outp = g_ua_stRecRegs.m_uchOutP & (UA_RX_RINGBUFF_SIZE - 1);

g_ua_stRecRegs.m_uchOutP++;

temp = g_ua_stRecRegs.m_uchRingBuff[outp];

if(0 == g_ua_stRecRegs.m_uchPointer)

{

if(0x55 == temp)

{

crc = 0;

g_ua_stRecRegs.m_uchPointer = 1;

}

}

else if(1 == g_ua_stRecRegs.m_uchPointer)

{

if(0xFF == temp)

{

g_ua_stRecRegs.m_uchPointer = 2;

}

else if(0x55 != temp)

{

g_ua_stRecRegs.m_uchPointer = 0;

}

}

else if(g_ua_stRecRegs.m_uchPointer <= 3)

{

g_ua_stRecRegs.m_uchBuff[g_ua_stRecRegs.m_uchPointer - 2] = temp;

g_ua_stRecRegs.m_uchLen = 0;

g_ua_stRecRegs.m_uchPointer ++;

}

else if(g_ua_stRecRegs.m_uchPointer <= 5)

{

g_ua_stRecRegs.m_uchLen = g_ua_stRecRegs.m_uchLen << 8;

g_ua_stRecRegs.m_uchLen |= (U16)temp;

g_ua_stRecRegs.m_uchBuff[g_ua_stRecRegs.m_uchPointer - 2] = temp;

g_ua_stRecRegs.m_uchPointer ++;

if(g_ua_stRecRegs.m_uchLen >= (UA_RX_BUFF_SIZE - 5)) //msgid, length;

{

g_ua_stRecRegs.m_uchPointer = 0;

}

}

else

{

g_ua_stRecRegs.m_uchBuff[g_ua_stRecRegs.m_uchPointer - 2] = temp;

g_ua_stRecRegs.m_uchPointer++;

if(g_ua_stRecRegs.m_uchPointer >= (g_ua_stRecRegs.m_uchLen + 7))

{

g_ua_stRecRegs.m_uchPointer = 0;

if(crc == temp)

{

g_ua_stRecRegs.m_uchRecvTimer = 6;

g_ua_stRecRegs.m_uchLen += 5;

fnWF_ResetDeadTime();

g_ua_stRecRegs.m_uchReceived = TRUE;

}

break;

}

}

crc += temp;

}

}

}

void fnUA_Monitor(void)

{

if(g_tm_stTimerFlag.Bits.bTimer16ms)

{

if(g_ua_stSendRegs.m_uchSendTimer)

{

g_ua_stSendRegs.m_uchSendTimer --;

if(0 == g_ua_stSendRegs.m_uchSendTimer)

{

fnUA_Init();

}

}

}

}

void fnUA_RealTime(void)

{

U32 data;

fnUA_Monitor();

fnUA_RecMsg();

if(g_tm_stTimerFlag.Bits.bTimer100ms){

if(g_ua_stRecRegs.m_uchRecvTimer)

{

g_ua_stRecRegs.m_uchRecvTimer--;

if(0 == g_ua_stRecRegs.m_uchRecvTimer)

{

g_ua_stRecRegs.m_uchReceived = FALSE;

}

}

}

}

U8 fnUA_SendReq(U16 msgid, U16 len)

{

U8 res = FALSE;

g_ua_stSendRegs.m_uchBuff[0] = 0x55;

g_ua_stSendRegs.m_uchBuff[1] = 0xFF;

g_ua_stSendRegs.m_uchBuff[2] = (U8)(msgid >> 8);

g_ua_stSendRegs.m_uchBuff[3] = (U8)msgid;

g_ua_stSendRegs.m_uchBuff[4] = (U8)(len >> 8);

g_ua_stSendRegs.m_uchBuff[5] = (U8)len;

g_ua_stSendRegs.m_uchCount = len + 7;

g_ua_stSendRegs.m_uchSendTimer = (200);

g_ua_stSendRegs.m_uchIndex = 0;

g_ua_stSendRegs.m_uchIsSending = TRUE;

ENABLE_UART_TX();

res = TRUE;

return(res);

}

U8 fnUA_IsSend(void)

{

U8 res = TRUE;

if(FALSE == g_ua_stSendRegs.m_uchIsSending)

{

res = FALSE;

}

return res;

}

简单的调试,可以用串口调试工具,采用MODBUS协议的工业控制可以用wincc等组态软件。

对于上位机软件,需要选择集成开发环境和编程语言。

这里选择非常多,可以用C语言的VC, PASCAL语言的delphi,脚本语言python,甚至可以用图形化编程语言labview.

我个人比较喜欢用delphi,接下来讲一下delphi的编程实现。

先在delphi上设计人机界面,比如下图的界面。

采用MSCOMM或者SPCOMM实现串口通信。

根据用户的操作发送数据给单片机,接收单片机的数据显示在界面上,有些基本需要通过数据库控件,采用access或者mysql数据库,将采集到的数据保存下来。

4. 485接口参数?

485光端机技术参数:

1、接口特性:串口符合EIARS-232/485协议。

2、传输介质:单模/多模(光纤),屏蔽双绞线(串口)。

3、电气接口:DB9(RS-232串口)工业接线端子(RS-485/422串口)。

4、工作方式:异步工作,点对点或多点,2线半双工,4线全双工。

5、防雷保护600WTVS防雷管防浪涌保护(RS-485/422串口)。

6、传输速率:300bps—115200bps。

7、外观尺寸:100L*69W*22H毫米。

8、使用环境:温度:-20℃-60℃,湿度:5%—95%。

9、传输距离:多模2KM,单模20KM(40KM,60KM需定制)。

10、光纤接口:ST,SC,FC接口任选。

5. com1和com2是什么互换?

COM1、COM2都是COM口,即串行通讯端口,简称串口。一块主板一般带有两个COM串行端口。通常用于连接鼠标及通讯设备(如连接外置式MODEM进行数据通讯)等,一台PC机上的COM端口连接器通常是9针公D-shells接口。COM针脚定义和RS-232C接口定义(DB9)一样。

端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。

硬件端口:CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。其中硬件领域的端口又称接口,如:并行端口、串行端口等。

网络端口:在网络技术中,端口(Port)有好几种意,集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

6. db9连接器和VGA接口有什么区别?

db9连接器和VGA接口是两种不同的接口,两者的区别主要体现在以下几个方面:1.应用场景不同:db9连接器主要用于串口设备,如数码终端设备、调制解调器等,而VGA接口主要用于视频显示器的接口。2.接口形式不同:db9连接器是一种9针的连接器,而VGA接口是一种15针的连接器。3.传输数据方式不同:db9连接器主要是通过串口进行数据传输,而VGA接口则是通过模拟信号进行视频输出。在实际使用中,我们需要根据不同的需求选择合适的接口,否则可能会导致设备无法正常连接或者工作。

7. db9公头接口定义以太网?

DB9公头接口定义是以太网的一种接口类型,它是一种串行通信接口,通常用于连接计算机和其他设备。DB9公头接口的定义如下:公头(针型)引脚接口定义为2:RXD(Receive Data),3:TXD(Transmit Data),5:GND;母头(孔型)引脚接口定义为1:RXD(Receive Data),2:TXD(Transmit Data),3:GND 。

免责声明:本文作者:“游客”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(141)
一路刷平台(微信QQ没人聊天了)
上一篇 2023年12月05日
英语填字游戏(有文字互动游戏嘛)
下一篇 2023年12月05日

相关推荐

  • 哒哒英语下载(哒哒abc学前英语培训好吗)

    哒哒英语费用方面较市场中等水平。在学习的宝宝里面包含部分明星的孩子。当然,哒哒英语的主课、辅课、测评课、直播课、公开课几乎涵盖主流的英美加澳外教。教材方面,哒哒英语据我了解引用的都是当下最新主流原版教材,比如wonders,另外哒哒英语貌似还...

    2023年11月18日
  • 会声会影x9(会声会影转换MP4格式为什么清晰度那么低)

    1.原先是什么格式。转换格式同时也意味着视频的编码方式的转变,有些编码方式有损。比如f4v转换成MP4。...

    2023年11月24日
  • 免费下载画图软件(影拓手绘板怎么下载驱动)

    可以啊,在appstore上下载一个Procreate,不过要求系统必须升级到iOS13以上,可以用爱思助手解锁了免费版。...

    2023年11月25日
  • linux压缩命令(linux基本操作命令)

    linux系统中操作指令有很多,最常用操作指令是:cd命令、cd命令、grep命令、find命令、cp命令、mv命令、rm命令、ps命令、kill命令、killall命令、file命令、tar命令、cat命令、chgrp命令、chown命令、...

    2023年11月25日
  • 东道主的东道是方向还是方位(dong的第一声汉字怎么写)

    答:东[dōng]东(拼音:dōng)是汉语一级通用规范汉字(常用字)。此字始见于商代甲骨文。“东”的古字形像两头用绳索扎住的口袋,是“橐”的初文。东的常用义是太阳升起的方向,引申指向东。春秋时秦晋合兵围攻东方的郑国,郑派使者游说秦穆公,不要...

    2023年11月27日
  • 免费看mv大片的软件(剪辑视频用什么免费软件好)

    一、看你是在手机上剪辑还是在电脑上面剪辑,不管是手机还是电脑,都有一些免费的,而且非常好用的剪辑软件。...

    2023年11月28日
  • 超级机器人学园(智能制造和机器人专业哪个好)

    二者区别在于智能制造工程是采用先进的技术使得制造更加智能化,提高加工质量;机器人工程是对机器人做研究,使机器人有感知和自主控制的能力等。...

    2023年11月28日
  • 东芝笔记本怎么样(东芝笔记本怎么样)

    东芝笔记本挺好的,东芝的显示屏幕拥有东芝专利技术,显示效果超好,图像清晰而又明亮,非常适合看图片和电影。同时还拥有专业音响,音质不同凡响。东芝电脑自带很多常用软件,很多是自主研发的,比较简单适用,而且东芝电脑性能稳定。...

    2023年11月29日
  • wordpress安装(wordpress安装教程)

    1.WordPress安装教程很简单易懂。2.因为WordPress是一款开源的博客系统,它的安装过程非常简单,只需要下载安装包,上传到服务器,然后按照提示进行安装即可。3.在安装过程中,需要注意一些细节问题,比如数据库的配置、文件权限等等,...

    2023年11月30日
  • 星空极速2.5官方下载(你有过哪些被吓到腿软的经历)

    有一天下午快下班时,临时接到一个采访任务,说是凌晨出击,我问领导,采访的内容是什么,领导说,到了现场就知道了,现在不要问那么多。...

    2023年12月01日
返回顶部