最近学习到串口发送数据时遇到一个问题:第一个字节总是FE,后面才是对的数据. 最终解决的方法是: 讲GPIO复用的操作放到GPIO配置之前! 体现在代码中就是: //打开GPIO时钟 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE); //打开USART的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //GPIOA的Pin9和Pin10复用为串口1使用 GPIO_PinAFCon…
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9490616.html 本文用的是VS2013MFC写串口数据接收: 第一步:首先建立一个MFC工程,成功后会跳出一个对话框,直接在对话框上点击右键->点击插入ACTIVAE控件->选择MicrosoftCommunications Control, version 6.0 成功后会显示一个电话的图标在对话框上,运行起来不会显示的 不用担心这个美观问题.如果没有这个插件的话,可能是版本太低 …
最近写C#串口通信程序,系统是B/S架构.SerialPort类有一个DataReceived事件,用来接收串口返回的数据,但这种方式在C/S架构下很好用,但B/S就不好处理了.所以写了一个同步模式接收返回数据的方法,不使用DataReceived事件.经过测试,可以正常使用. 一.MachineFactory类 为什么使用工厂类:售货机由不止一个厂家提供,接口协议都不一样. using System; using System.Collections.Generic; using System…
串口发送数据时部分字节被拉长,出现帧错误,原因MCU进入低功耗模式导致串口时钟停了!…
报警器实例:(有发送,无返回获取) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.Ports; using System.Text.RegularExpressions; using System.Windows.Forms; namespace ZKJFJK { /*** 报警器语音输出类,只需在调用时填写需要播报汉字即可 * 例:boo…
原文:WPF内实现与串口发送数据和接收数据 与串口发送数据和接收数据,在此作一个简单的Demo.此Demo可以实现按下硬件按钮,灯亮,发送灯状态数据过来.并且可以实现几个灯同时亮,发送灯的状态数据过来.PC端实现点击按钮让硬件灯亮. 此处为4个灯,发送过来的数据:0代表暗,1代表亮.列如:1010代表1号灯和3号灯亮,2号和4号灯暗. 发送过去的数据:0代表1号灯亮,1代表1号灯灭.2代表2号灯亮,3代表2号灯灭.4代表3号灯亮,5代表3号灯灭.6代表4号灯亮,7代表4号灯灭. 布局代码: <G…
http://blog.csdn.net/kevinhg/article/details/40991655 STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成,否则,发送不成功,使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失.换成发送别的数值的数据,如0x06 0x0ff,则接收到0x0ff,0x06丢失.错…
参考:https://blog.csdn.net/mannix_lei/article/details/79979432 https://www.cnblogs.com/ElijahZeng/p/7609241.html 1.关于怎么建立工程的,这里就不过多赘述了,先用控件编写个窗体程序如下 2.双击窗体跳转到程序页面,直接上代码,代码里有注释,看注释都可以看懂的 using System; using System.Collections.Generic; using System.Compo…
前些天闲着没事,就做了个语音识别结合串口发送指令的软件,用的是pyqt写的,软件打开后对着笔记本的话筒说话, 他就能识别返回文字结果,然后匹配语音中的关键词,如果有关键词就发送关键词对应的命令,比如语音中包含“开灯”, 就会发送“on”这个字符串到单片机,单片机再进行工作.(无串口连接也可做语音识别,连上后可发送命令到串口). 下面是分享的资源代码:   链接:https://pan.baidu.com/s/1eWT_BhAzJUGlafZUJhI2VQ 提取码:nh08 打开软件开场界面: 软…
使用指定的端口名.波特率.奇偶校验位.数据位和停止位初始化 SerialPort 类的新实例 SerialPort serialPort = new SerialPort("COM3", 115200, Parity.None, 8, StopBits.One); if (!serialPort.IsOpen) { try { serialPort.Open(); } catch (UnauthorizedAccessException e) { Console.WriteLine(e…