上位机串口与stm32连接,如何编写上位机代码

想要实现在pc上用串口传递信息给stm32板子,不想用串口调试助手,想直接在dev c++或者vc,vs上运行程序,然后
直接把想要传递的字符串串口传递给板子。希望大神可以帮忙指导,不胜感激,如果能很快解决的话悬赏增加,学生党,求大神指导。也可以发邮箱a4507408789@163.com

4个回答

a4507408789
Art_Wanger 我看了这个链接里的,也下了他的源码,但是运行了之后没有说好的效果,文本框不现实返回值
大约 3 年之前 回复

基本功能描述:
上位机发送指令控制STM32
情况一:命令为3个字符
起始符 命令符 结束符 功能
0x2f 0x34 0xcc 温度数据返回
0x2f 0x32 0xcc led亮
0x2f 0x33 0xcc led灭

我是通过串口中断来实现串口数据的接收的。
中断程序如下:如果接收到的指令正确,改变全局变量USART_RX_STA 的值,让它等于0x80。
if(USART_RX_STA != 0x80)
{
if(data == 0x2f) //起始符
{
memset(RecvBuf, 0, sizeof(RecvBuf));
RecvBuf[0] = data;
USART_RX_STA = 0;
USART_SendData(USART1, data);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);
}
else if(data == 0x39) //结束符
{
if(RecvBuf[0] != 0x2f)
{
memset(RecvBuf, 0, sizeof(RecvBuf));
return;
}
RecvBuf[2] = data;
USART_RX_STA = 0x80;
USART_SendData(USART1, data);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);
}

else
{
RecvBuf[1] = data;
USART_SendData(USART1, data);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);
}
}

主函数程序:
while(1)
{
if(USART_RX_STA == 0x80)
{
switch(RecvBuf[1])
{
case 0x30:

   break;
  case 0x31: 

  break;
 case 0x32: 
  GPIO_SetBits(GPIOD, GPIO_Pin_2);
 break;
case 0x33: 
GPIO_ResetBits(GPIOD, GPIO_Pin_2);

break;
case 0x34:
temp=DS18B20_Get_Temp();
memset(SendBuf, 0, sizeof(SendBuf));
SendBuf[0] = 0x2f;
SendBuf[1] = 0x34;
if(temp<0)
{
temp=-temp;
SendBuf[2] = Number[11];
}
else
{
SendBuf[2] = Number[10];
}
SendBuf[3] = Number[temp/100%10];
SendBuf[4] = Number[temp/10%10];
SendBuf[5] = '.';
SendBuf[6] = Number[temp%10];
SendBuf[7] = 0x04;
SendBuf[8] = 0xcc;
for(i = 0; i < 9; ++i)
{
USART_SendData(USART1, SendBuf);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);
}
break;
default:
break;
}
USART_RX_STA = 0;
}
else
{
delay_ms(200);
}
}
}


以前写的串口程序,可以直接运行,http://download.csdn.net/detail/yunda333/6864449

static char status = 0x00;

switch(status)
{
case 0x00:
    if(0x2F == data)
    {
        recvBuf[0] = 0x2F;
        status = 0x01;
    }

    break;
case 0x01:
    if(0xCC == data)
    {
        status = 0x00;
    } else
    {
        recvBuf[1] = data;
        status = 0x02;
    }

    break;
case 0x02:
    if(0xCC == data)
    {
        recvBuf[2] = 0xCC;
        USART_RX_STA = 0x80;

        //data parse

        status = 0x00;
    }
    break;
default:
    break;
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
stm32串口下载上位机
在用串口下载的时候,flymcu就不能用,使用SWD的串口下载方式的软甲
stm32门禁上位机代码
stm32门禁上位机代码
STM32串口IAP的上位机工具
1. 该项目实现通过PC的串口对STM32系列MCU进行IAP。 2. 该项目包含三个部分(三套代码): 运行在STM32平台的Bootloader; 运行在STM32平台的App(我做了两个,一个是支持usmart的重量版,另一个是很简洁的轻量版); 运行在Windows平台的上位机操作工具。 3. 本篇是属于运行在windows平台的上位机工具部分,另外两篇介绍请参阅: STM32平台的bootloader STM32平台的App(usmart版) 或STM32平台的App(轻量版) 4. 这套代码使用C#基于.net4.0开发。我用的是vs2017.
用vc++编写串口连接上位机
详细介绍了关于使用软解编写串口上位机(VC++)的注意事项与方法
STM32 ISP .net 上位机编写
连接方式 1个开始位 8个数据位 校验位为even 1个停止位 sIspPort1.BaudRate = 115200 sIspPort1.DataBits = 8 sIspPort1.Parity = IO.Ports.Parity.Even sIspPort1.StopBits = IO.Ports.StopBits.One sIspPort1.Handshake = IO.Ports.Ha...
VB编写上位机代码
使用VB编写的上位机代码,使用C编写51单片机代码,实现最简单的对LED的控制功能,本代码作为入门学习之用。
串口上位机
C#语音开发的波形显示上位机,用于串口接收和发送数据,简易的代码很具有参考价值,可移植性较强
java编写上位机串口软件
Java基于zigbee的温度 光照和震动和LED灯无线传感器的串口软件 代码实现如下 在这里插入代码片
C#编写的基于串口的上位机
里面是我结合网上写的C#上位机,几乎每一句都有注释,十分详细,对新手很有帮助,里面还加入了美化的窗口皮肤
VB编写的串口助手上位机
Visual Basic6.0编写,上位机功能具有选择COM口,接收单片机发送的数据;发送要传输的数据(仅支持文本发送),默认波特率为9600,8,N,1
极简上位机串口代码
一个建立在WINAPI上的,可直接由上位机进行调用的串口代码,无数值换算部分
QT5串口上位机实现的代码
通过几天的学习,自己也写了一个串口通信的上位机,比较简易,希望可以给大家带来帮助
使用MFC编写上位机代码
使用MFC编写上位机代码,只是简化版的串口调试助手,可以作为开发上位机的基础或模板,基于该程序,可以快速的开发出属于你自己的特定的上位机,实现简易的功能,适合大学生做实验、研究性学习报告或者毕业设计。
STM32学习之旅④ USART串口和上位机通信
目录: 一、认识其本质 (一)串口 (二)协议 (三)时序 (四)上位机 二、单片机配置 三、发送函数 四、接收函数 一、认识其本质 (一)串口 串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。一条...
STM32通过串口与上位机通信调试
程序如下,采用串口DMA中断方式接收上位机发送的数据,接受区长度为4个字节,上位机也发送4个字节,按理说应该发送一次进入一次中断,但是我的会进入两次中断,且第一次中断的数据是上次发送的数据。 上位机发送的8687是ascii码,一个码是8位(一个字节),8对应的16进制是0x38,6对应0x36,7对应0x37。同样发送4个字节的数据,DMA进入两次中断。第一次中断第二个数据是上次接收到的,第二...
STM32串口穿灰度图像,上位机实时显示
STM32 通过采集OV7670摄像头数据 通过DMA串口上传到上位机(C#编写)
STM32 bootloader 上位机程序
STM32 bootloader 上位机程序,配合我在另一个帖子里发的程序使用
VC++上位机\上位机资料\上位机.
VC++上位机\上位机资料\上位机VC++上位机\上位机资料\上位机.
STM32 USB 上位机程序实现
libusb 介绍libusb是开源的C库,使用该库是的用户可以在应用程序中直接访问 USB 设备,无需为 USB 设备编写内核驱动。libusb支持多个平台 (linux, window, ios),所以可以很方便地将应用程序移植到其他平台。linux libusb 安装从网上下载libusb的源码,下载地址:http://www.libusb.org/, 下载后编译安装。 # tar jxvf
STM32 HID 与上位机双向通信
基于STM32F103VC 可以与上位机双向通信的例子!请注意:本例是由网上例子修改并精简的,使用的是3.2的库,这与网上的例子是本质区别,本人也费了不少心血,所以资源分要的高些~~还望见谅
stm32上位机python代码
使用tkinter来编写这个上位机的界面。本程序可以与stm32通信,当然只需要做简单修改就可以与51单片机通信
STM32 智能充电器上位机
附件是智能充电器的上位机软件,是学习了解开发智能充电器系列教材。
STM32 摄像头和上位机
STM32 摄像头和上位机
单片机bootloder上位机stm32
单片机bootloder上位机stm32,一键下载stm32单片机程序
ov7620 STM32上位机
ov7620摄像头使用 STM32采集 的串口传输上位机 显示灰度值
STM32的IAP上位机
STM32的IAP上位机,可以用于STM STM32 Bootloaer配套的YMODEM协议相关软件下载,从github最新下载,有一定借鉴意义
VC串口上位机编程实例
串口上位机编程串口上位机编程串口上位机编程串口上位机编程串口上位机编程
上位机串口测试软件
这个压缩文件包里面主要是一个中控测试软件,是本公司目前已经在使用的一款软件,运行效果比较不错。
VC 串口 上位机
VC 串口 上位机相关的文档 对大家可能有帮助。
labview串口上位机
本程序是基于LABVIEW中G语言(图形化语言)编写的串口上位机,程序简洁明了,很适合初学者使用!
串口示波器上位机
编译器:VB 6.0 时间: 功能:s64采集数据上传,pc负责显示,主要 是串口操作和画图。不完善。 备注:我对上位机也不熟悉,用VB是因为简单 ,程序的结构也不一定好,但是可以保 证使自己调试完成可用的。
NRF24L01+串口上位机
这个是自己写的无线通讯模块NRF24L01的 32F103的程序,实测过可用
vc++串口上位机
串口上位机, vc++编程实例
VC++_串口上位机编程实例
用自己相当蹩脚的C++写出了一个简单的串口上位机程序,分享一下,体验一下单片机和PC通信的乐趣。
串口上位机程序
这是一个基于VC++编写的一个串口上位机程序,可以在线调试单片机程序。
串口上位机VC++
串口上位机VC++,串口通信,MCU跟PC通信经常用到的一种通信方式,做界面、写上位机程序的编程
串口通信编程与实践 上位机
串口通信编程与实践 上位机上位机编程的好资料啊很好使的
C#串口上位机
C#串口上位机,界面做的很不错,唯一缺点没有存储。有画图,可以数据接收和发送,需要存储的移步我的其他资源。有资料大家一起分享!共同进步!
C#上位机-串口助手
C#开发的上位机-串口助手源码,可以调试串口,发送(自动发送)数据,选择发送格式。
上位机的串口通信协议
本文档包含了串口通信协议及其实现过程,希望对初学者有所帮助。
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制

相似问题

2
下位机程序使用keilc编译,将浮点量通过串口发送到上位机接收
1
上位机怎么解析上传上来的浮点数,是串口的数据?
1
单片机的采集程序采集到浮点数了,然后通过串口传输到上位机的串口控件上
2
怎么在上位机中通过串口控件的内存对发送的数据还原成原始数据?
1
单片机是怎么将浮点模拟量和整形开关量通过串口通讯发送到上位机的?
1
单片机采集到的模拟量和开关量是如何打包通过串口发送到上位机的内存中的?
1
关于数据是否重发,上位机一段的串口可以同时回传数据的么?
1
怎么从进程外拦截上位机向下位机的通讯数据?
1
串口通讯中上位机向下位机回发的信息,回发数据是怎么被下位机接受的?
1
上位机主动下传数据使用的串口端口和下位机上传的是一个么?
1
上位机跨程序不打开端口如何检测上位机是否给下位机回发了数据包?
3
第三方程序能不能绕过上位机程序给下位机回发数据?
1
怎么在第三方的程序中转接来自上位机的串口控件中的写入流
2
请问下位机通过串口线连接的上位机,是怎么和上位机进行日期的同步的
2
小白用c#做上位机,求大神指点
3
关于c#做上位机串口接收数据的问题,求大神讲解
1
STM32F4 USB串口发送完成 怎么检测?
2
c#做上位机串口发送接收问题,求指点!
0
使用API函数编写串口上位机,只能发送第一组数据
1
c#winform编写上位机串口接受到数据如何分开使用