串口

软件模拟串口通信

点点圈 提交于 2019-12-12 03:44:48
软件模拟串口通信 发送部分 接收部分 上个月入职了一家做消费类电子的公司,做了两个小项目,用的是NY8芯片,资源有限,没有串口和IIC,其中一个项目是做闹钟显示板,只用将主机发过来来命令处理就行,做的是通版,使用串口和IIC两种方式数据。 网上搜寻一边,参考借鉴了整理出一份可行的方案,整理出来供以后工作和有需要的朋友使用。 下面是h文件 # ifndef SoftWareSeries # define SoftWareSeries # include "user.h" # include "display.h" # define BaudRate 10 //bps9600 10 4800 20 # define RXDBit Port_B7 # define TXDBit Port_C0 # define IO_RXD PORTBbits.PB7 # define IO_TXD PORTCbits.PC0 enum { COM_START_BIT , COM_D0_BIT , COM_D1_BIT , COM_D2_BIT , COM_D3_BIT , COM_D4_BIT , COM_D5_BIT , COM_D6_BIT , COM_D7_BIT , COM_STOP_BIT , } ; extern U8 RXD_BIT ; extern U8 RXD_DATA ; void

创龙TI OMAP-L138(定点/浮点DSP C674x+ARM9)按键、串口

五迷三道 提交于 2019-12-10 15:36:32
TL138 / 1808 / 6748F-EVM是 广州创龙基于SOM-TL138/1808/6748F核心板开发的一款开发板。由于SOM-TL138/1808/6748F核心板管脚兼容,所以此三个核心板共用同一个底板。 开发板采用核心板+底板的设计方式,尺寸为 24 cm * 1 3 cm,它主要帮助开发者快速评估 核心板 的性能。 核心板采用高密度 8 层板沉金无铅设计工艺,尺寸为 66 mm *38.6 mm , 板载3路高转换率DC-DC核心电压转换电源芯片,实现了系统的低功耗指标,精密、原装进口的B2B连接器引出全部接口资源,以便开发者进行快捷的二次开发使用。 TL138 / 1808 / 6748F-EVM 底板 采用四层无铅沉金电路板设计,为了方便用户学习开发参考使用,上面引出了各种常见的接口。 按键 开发板底板具有1个系统复位按键SW 8 ,以及 6 个用户 可编程按键 ,它们分别是 SW1 、 SW2、SW3 、 SW4 、 SW5、SW6。其中SW1 、 SW2和SW3由FPGA控制,SW4 、 SW5和SW6由OMAP-L138/AM1808/C6748控制,SW4是NMI不可屏蔽中断按键。 串口 开发板 共引出 4 个串口,分别是 CON3、CON 6、CON7和CON8 。 CON7由FPGA扩展出来的 9针DB9 连接器RS232接口。CON3

C#编程之串口(三)

不打扰是莪最后的温柔 提交于 2019-12-10 10:55:25
这一章我将继续上一章内容进一步完善我们的串口通信,并添加对话框的美观设计。 首先我们说一下双向通讯,上一章我们实现了单向接收功能,这里将说一下发射功能: 数据发送,总共有三种形式,发送字符串类,发送byte类,发送char类。要实现这三种,都必须调用串口写操作方法 SerialPort.Write() ,该方法对于不同类型的发送,通过方法重载的方式定义了相应的方法: public void Write ( string str); 发送字符串 public void Write ( byte [] buffer, int offset, int count); 发送byte类型 public void Write ( char [] buffer, int offset, int count); 发送char类型 本例程发送的是加密后的序列号码,所以只需调用 myPort.Write(output, 0 ,output.Length); 方法即可。此外我们添加一个清空按键: private void Btn2_Click(object sender, RoutedEventArgs e) { m_textBox1.Text = ""; m_textBox2.Text = ""; } <Button Content="Clear" HorizontalAlignment="Right

stm32 hal库串口通信资料汇集

感情迁移 提交于 2019-12-09 23:49:28
串口的发送接收函数: HAL_UART_Transmit();串口轮询模式发送,使用超时管理机制。 HAL_UART_Receive();串口轮询模式发送,使用超时管理机制。 HAL_UART_Transmit_IT();串口中断模式发送, HAL_UART_Receive_IT();串口中断模式发送 HAL_UART_Transmit_DMA();串口DMA模式发送 HAL_UART_Receive_DMA();串口DMA模式发送 串口相关的中断函数: HAL_UART_TxHalfCpltCallback():一半数据(half transfer)发送完成后,通过中断处理函数调用。 HAL_UART_TxCpltCallback():发送完成后,通过中断处理函数调用。 HAL_UART_RxHalfCpltCallback():一半数据(half transfer)接收完成后,通过中断处理函数调用。 HAL_UART_RxCpltCallback():接收完成后,通过中断处理函数调用。 HAL_UART_ErrorCallback():传输过程中出现错误时,通过中断处理函数调用。 可看到串口发送和就是有三种通信模式: 第一种是上面用到的轮询的模式。CPU不断查询IO设备,如设备有请求则加以处理。例如CPU不断查询串口是否传输完成,如传输超过则返回超时错误

【ESP8266】MicroPython的快速入门教程

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-09 23:25:36
ESP8266版本的MicroPython和pybaord版本的有不少区别,无论从使用习惯还是API上,都有许多不同。下面以ESP-MP-01开发板为例,介绍使用方法。这个方法也可以用在NodeMcu、机智云等开发板上。 准备工作 在开始玩MicroPython前,我们需要做好准备工作。 硬件上,只需要一根macroUSB数据线,大部分安卓手机的数据线都可以,很多开发板也带有macroUSB线,即使没有,淘宝上几元包邮的也可以使用。 软件上,需要准备的东西多一点。 CH340的USB驱动 终端软件 MicroPython需要使用支持串口功能的终端,而不能使用普通的串口调试工具。很多只在windows下工作的嵌入式开发者可能不太习惯使用终端软件,这可能需要一点时间去适应。论坛搜集了常用的几种终端软件,大家可以试试。 超级终端(WinXP) putty kitty xshell SecureCRT MobaXterm 大部分MicroPython的版本,物理串口都只使用了一种波特率:115200, n, 8, 1, none。当然对于象pyb这样使用的USB虚拟串口,其实串口参数随便设置成什么效果都是一样的,但是使用标准参数还是可以减少不必要的问题。 因为ESP8266本身没有USB接口,因此也无法象pyb那样使用虚拟磁盘功能,虽然内部有很大的Flash,却无法直接象磁盘那样访问

QT编写串口助手

夙愿已清 提交于 2019-12-09 21:48:23
QT编写串口助手 1.pro文件添加中serialport 2.widget.h文件编写 #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QSerialPort> //提供访问串口的功能 #include <QSerialPortInfo> //提供系统中存在的串口的信息 namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); void set_baudList(); //设置波特率选择项 void set_parityList();//设置校验位选项 void set_dataBitsList();//设置数据位选项 void set_stopBitsList();//设置停止位选项 void serial_Init();//串口设置初始化 private slots: void on_pushButton_2_clicked(); void on_pushButton_clicked(); void serialPort_readyRead(); void on_pushButton_3_clicked

STM32 USART串口DMA 接收和发送流程详解

廉价感情. 提交于 2019-12-09 15:04:52
https://blog.csdn.net/weibo1230123/article/details/80506484 1.dma发送流程 1.配置DMA发送中断 - NVIC_Init 2.配置串口中断 - NVIC_Init 3.GPIO配置 - GPIO_Init 4.DMA发送配置 -DMA_Init DMA初始化 -DMA_ITConfig 开启DMA发送中断 5.串口参数初始化 - USART_Init 2.dma接收流程 1.配置串口中断 - NVIC_Init 2.GPIO配置 - GPIO_Init 3.DMA接收配置 -DMA_Init DMA初始化 4.串口参数初始化 - USART_Init 5.开启串口中断 3.DMA发送接收流程 1.配置DMA发送中断 - NVIC_Init 2.配置串口中断 - NVIC_Init 3.GPIO配置 - GPIO_Init 4.DMA发送配置 -DMA_Init DMA初始化 -DMA_ITConfig 开启DMA发送中断 3.DMA接收配置 -DMA_Init DMA初始化 4.串口参数初始化 - USART_Init 5.开启串口中断 总结: 1.DMA接收不需要中断 2.DMA发送完毕触发的是DMA发送中断,DMA接收完成触发的是串口空闲中断,都会触发一个中断标志位,可以判断一下。 来源: oschina 链接:

短信通信备忘录

≡放荡痞女 提交于 2019-12-09 13:10:51
1. 如何与GSM MODEM建立通信联系   您可用诸如Windows下的超级终端或Pcomm等终端仿真软件,将计算机的串行口与GSM MODEM的串行口用电缆直接连接。    2. 不能与GSM MODEM进行正常的通信或总是在仿真终端上出现乱码   检查您的串口是否保证正常连接,计算机的串口引线与GSM MODEM的串口引线应是一一对应的。GSM MODEM与仿真终端应设置相同的通信速率。   但您初次使用GSM MODEM时,请在仿真终端上设置为通信速率9600bps、8位数据位、无较验位、1位停止位。    3. 如果您想在出错后得到错误代码号,需将GSM Modem作如下设置:   AT+CMEE=1    4. 发送短消息后,收到出错信息+CMS ERROR 512   表示您的GSM MODEM在发送短消息的同时它收到了新的短消息,发送短消息被拒绝,您需要重新发送此条短消息。    5. 发送短消息后,收到出错信息+CMS ERROR 513   您遇上了下面问题中的一种:   a) 您的GSM MODEM失去了无线链路连接;   b) 在发送完短消息后的28秒内,您的GSM MODEM没有收到短消息中心送来的接收确认+CMGS:〈顺序号〉;   c) 在送出请求建立发送短消息的控制信道指令后的42秒内,您的GSM MODEM没有收到基站送来的确认〉。    6.