N 3 串口
一、串口UARTUnervisal Async Recveiver Transimitter通用异步收发器。全双工串行RXD接收信号线TXD发送信号线CH340电平转换芯片单工通信时数据接收方和发送方是固定的通过一根信号线实现数据收发数据传输的方向是单一的只能由发送方发给接收方。半双工通信时数据接收方和发送方不是固定的双方都可以发送或接收数据通过一根信号线实现数据收发数据传输的方向可以是双向的同一时刻数据传输的方向是单一的。I2CSLC(时钟线) SDA(数据线)全双工通信时数据接收方和发送方不是固定的双方都可以发送或接收数据通过两根信号线实现数据收发数据传输的方向是双向的。UART、SPI(MOSI MISO CS片选线)串口发送数据遵循LSB低位先行原则先发送数据低位再发送高位MSB串行通过一根信号线将要发送的数据逐个bit逐个bit的进行发送1.传输速度慢2.成本低实现简单3.传输距离远RS485 差分抗干扰性好并行通过多根信号线同时去传输多个bit1.传输速度快2.成本高实现复杂3.传输距离近30米以内存在信号偏移、电磁波干扰奇校验奇校验值为1若数据位中1的个数加上奇校验中的1保持1的总个数为奇数个则代表奇校验通过。偶校验偶校验值为0若数据位中1的个数加上偶校验中的0保持1的总个数为偶数个则代表偶校验通过。奇偶校验无法判断偶数个bit出错的问题。串口通信参数波特率bits per second,每秒传输bie数量 。24004800960011520088位数据位 NNone无校验 Oodd奇校验 EEven偶校验11位停止位同步有时钟线通信双方可以通过时钟线来实现通信频率同步。异步没有时钟线通信双方无法通过时钟线实现同步。串口是一种异步通信协议但可以通过波特率实现类似同步。TTL: 高电平5V 低电平0VRS232: 负逻辑 高电平-3 V - -15V 低电平3V - 15VRS485: 差分 高电平 2V - 6V 低电平 -2V - -6V二、串口寄存器串口寄存器发送接收缓冲器 SBUF2400bps TL1232 TH1232定时器初值的计算公式2-2smod * focs / 32 / bps / 12#include reg51.h #include uart.h xdata char recv_buffer[32]; unsigned int pos 0; // 串口接收中断服务函数 void uart_handler(void) interrupt 4 { if ((SCON (1 0)) 1) { if (pos 32) { recv_buffer[pos] SBUF; recv_buffer[pos] 0; } } SCON ~(1 0); } // 串口初始化 void uart_init(void) { // 1. 配置串口工作模式:SM0 0 SM1 1 8位UART模式 SCON ~(3 6); SCON | (1 6); // SM1 SCON ~(1 7); // SM0 // 2. 允许串口接收数据 SCON | (1 4); // 3. PCON 波特率加倍 PCON ~(3 6); PCON ~(1 6); PCON | (1 7); // 4. 配置定时器1工作模式:8位自动重装载 TMOD ~(0x0F 4); TMOD | (1 5); // 5. 设置定时器1初值:2400bps TL1 232; TH1 232; // 6. 允许定时器1开始计数 TCON | (1 6); // 7. 允许CPU响应所有中断 IE | (1 7); // 8. 允许串口产生中断 IE | (1 4); } // 发送单个字符 void uart_sendchar(char ch) { SBUF ch; // 判断是否发送完8位数据 while ((SCON (1 1)) 0); SCON ~(1 1); } // 发送字符串 void uart_sendstr(const char *p) { while (*p) { uart_sendchar(*p); } } // 发送指定长度数据 void uart_sendbuff(const char *p, int len) { while (len--) { uart_sendchar(*p); } }三、Modbus协议Modbus协议 主机-从机起始位 地址码 功能码 数据位1 数据位2 校验码 结束位0xAA 0x01 0x01 0x42 0x00 0xEE 0xBB01控制led02:控制数码管03控制蜂鸣器04温度采集数据流向位主机-从机0从机-主机1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2420332.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!