匿名上位机(V7)基于串口的简单使用_micropython 接入匿名上位机

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

匿名上位机(V7)简单使用

本文简介:本文主要介绍匿名上位机V7版本的一些基本的功能使用,以及基于匿名上位机协议写下位机代码。使用的下位机为STM32F103C8T6

匿名上位机

V7版本的选项简介,划线部分是比较基础的部分,对于智能车调试,波行分析比较好用。
在这里插入图片描述
基本的功能是基本收发,类似串口精灵或者XCOM。

连接设置

通过连接设置(点击)可以设置通信方式,有串口通信和USB HID通信方式。本文主要介绍串口通信。
连接设置好就可以打开连接了,下面是连接成功的状态。
在这里插入图片描述

基本收发界面

你发送的数据下面会有发送计数,可以通过基本收发这里面判断上位机与下位机的连接情况
在这里插入图片描述

数据波形界面

可以通过设置那里选择用户的自定义波形,有10个容器可以选择,也就是可以同时显示10个波形,在左边打上勾就可以显示波行了
在这里插入图片描述

小细节

通过观察,发现软件界面左侧或者右侧会有虚线,把鼠标移动过去即可打开隐藏的选项。
在这里插入图片描述
帮助信息那里会有比较详细的使用资料和视频,具体使用可以查看帮助信息
在这里插入图片描述
通过上面介绍,我们了解到了怎么连接上位机与下位机,如何使用波形显示界面,下面将通过分析通信协议,写下位机代码。(具体协议请自行查看帮助信息的通信协议)

通信协议简介:

通过匿名协议的方式,确定一帧数据的构成,一帧数据的不同位置,功能不同,至于后面的校验和附加校验也不需要怎么理解,直接套用即可。需要注意的数据内容采取的是小端模式

在这里插入图片描述

灵活格式帧

灵活格式帧,是用户能够自定义一帧数据的数据长度和数据内容,比较灵活,因此只是介绍它,这个也是发送到上位机的数据。
组成:
注意ID,是由0XF1~0XFA
在这里插入图片描述
C代码分析
发送一帧数据代码

/\*\*\*\*\*\*\*\*\*\*为了匿名四轴上位机的协议定义的变量\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
//cup为小端模式存储,也就是在存储的时候,低位被存在0字节,高位在1字节
#define BYTE0(dwTemp) (\*(char \*)(&dwTemp)) //取出int型变量的低字节
#define BYTE1(dwTemp) (\*((char \*)(&dwTemp) + 1)) // 取存储在此变量下一内存字节的内容,高字节
#define BYTE2(dwTemp) (\*((char \*)(&dwTemp) + 2))
#define BYTE3(dwTemp) (\*((char \*)(&dwTemp) + 3))


u8 BUFF[30];

void sent\_data(u16 A,u16 B,u8 C)
{
	int i;
	u8 sumcheck = 0;
	u8 addcheck = 0;
	u8 _cnt=0;
	BUFF[_cnt++]=0xAA;//帧头
	BUFF[_cnt++]=0xFF;//目标地址
	BUFF[_cnt++]=0XF1;//功能码
	BUFF[_cnt++]=0x05;//数据长度
	BUFF[_cnt++]=BYTE0(A);//数据内容,小段模式,低位在前
	BUFF[_cnt++]=BYTE1(A);//需要将字节进行拆分,调用上面的宏定义即可。
	BUFF[_cnt++]=BYTE0(B);
	BUFF[_cnt++]=BYTE1(B);	
	BUFF[_cnt++]=C;
	//SC和AC的校验直接抄最上面上面简介的即可
	for(i=0;i<BUFF[3]+4;i++) 
	{
		sumcheck+=BUFF[i];
		addcheck+=sumcheck;
	}
	BUFF[_cnt++]=sumcheck;	
	BUFF[_cnt++]=addcheck;	
	
	for(i=0;i<_cnt;i++) UsartSendByte(USART1,BUFF[i]);//串口逐个发送数据
}

串口初始化代码
注意一下基础配置为,字长为8位数据格式,一个停止位
无奇偶校验位,

void usart1\_init(u32 bound)
{
	//GPIO端口设置
	GPIO_InitTypeDef GPIO_InitStructure;
	USART_InitTypeDef USART_InitStructure;
	NVIC_InitTypeDef NVIC_InitStructure;
	 
	RCC\_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);	//使能USART1,GPIOA时钟

	//USART1\_TX GPIOA.9
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;	//复用推挽输出
	GPIO\_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9

	//USART1\_RX GPIOA.10初始化
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
	GPIO\_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10 

	//Usart1 NVIC 配置
	NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//抢占优先级0
	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;		//子优先级2
	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;			//IRQ通道使能
	NVIC\_Init(&NVIC_InitStructure);	//根据指定的参数初始化VIC寄存器

	//USART 初始化设置

	USART_InitStructure.USART_BaudRate = bound;//串口波特率
	USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式
	USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位
	USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位
	USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制
	USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;	//收发模式

	USART\_Init(USART1, &USART_InitStructure); //初始化串口1


**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/627b77a62e10aa21fe5b2c73645feddf.png)
![img](https://img-blog.csdnimg.cn/img_convert/08d3a8b250d44184e89eac5044e2e75a.png)

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**

**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**

**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

net/topics/618679757)**

**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**

**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 16
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值