电源屏数据生成代码结构

电源屏模拟需求
起始标志位:固定长度和内容
			转换为ascii码传输,高字节在前
设备类型:固定长度 枚举内容
		转换为ascii码传输,高字节在前
信息分类:固定长度 枚举内容
			转换为ascii码传输,高字节在前
INfo长度:高4bit根据低12位计算;
		  低12位根据信息内容计算ascii码的总数
		转换为ascii码传输,高字节在前
信息内容:整型和浮点型数据
		整型转换为4个ascii,浮点型转换为8个ascii
		低字节在前
校验和	:其他字符ASCII码值累加求和,所得结果模65535余数取反加1
			高字节在前
结束码	:0DH
程序结构
定义一个DYP类作为整体结构dyp_stuct.py
	定义计算length的方法
		获取self.info长度(调用info方法)
		return 数值
	定义计算checksum的方法
			获取info_length的字符串形式(调用方法后转换)
		return 数值
	接收16进制格式的字符串作为数据
	定义组包dyp_package方法
			soi eoi直接将字符串转换为16进制表达7eH 0dH
			其余为字符串格式
				self.equ_type、self.info_type本身为字符串
				获取info_length的字符串形式(调用方法后转换)
				获取checksum的字符串形式(调用方法后转换)
				调用info方法返回字节的ascii字符串
		返回字节流形式
对每种数据类型定义一个方法计算其info dyp_info.py
	每种类型的数据定义一个生成方法
			读入配置文件中的路数等信息;初始化开关量或者模拟量
		返回字节的ascii字符串形式,按照规定的格式低字节在前
所有需要转换为ascii码的由单独定义的函数实现strs_to_ascii  data_deal.py
	strs_to_ascii实现16进制字符串格式转换为ascii形式
	可以对多个字节转换,默认接收的数据正常(不存在高字节低字节转换)
数据组包 dyp_pkg
	实例化DYP类编码类型、info类型
	按照协议,组成字节流的形式
	soi/eoi传入的是16进制的字符串,其余传入的是ascii码表示的字符串
地址:git@github.com:xiaxuno1/demo_project.git

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F103C8T6是一款基于ARM Cortex-M3内核的单片机,它具有丰富的外部结构,包括以下几个方面: 1. 外部时钟源:STM32F103C8T6可以使用外部晶体振荡器或者外部时钟源作为系统时钟。晶体振荡器通常使用8MHz的晶振,通过PLL倍频可以得到更高的系统时钟频率。 2. 外部存储器:该单片机支持多种外部存储器接口,包括闪存存储器(Flash)、SRAM和EEPROM。Flash存储器用于存储程序代码和常量数据,SRAM用于存储变量和堆栈,EEPROM用于存储非易失性数据。 3. GPIO引脚:STM32F103C8T6具有多个通用输入输出引脚(GPIO),可以用于连接外部设备和传感器。这些引脚可以配置为输入或输出,并且支持中断功能。 4. 串行通信接口:该单片机支持多种串行通信接口,包括USART、SPI和I2C。这些接口可以用于与其他设备进行数据通信,如PC、传感器、LCD显示屏等。 5. 定时器:STM32F103C8T6具有多个定时器,包括通用定时器和高级定时器。这些定时器可以用于生成精确的时间延迟、PWM输出、捕获外部事件等。 6. ADC和DAC:该单片机具有模数转换器(ADC)和数模转换器(DAC),可以用于模拟信号的采集和输出。 7. 外部中断:STM32F103C8T6支持外部中断输入,可以通过配置相应的引脚来检测外部事件,如按键按下、传感器触发等。 8. 电源管理:该单片机具有多种电源管理功能,包括低功耗模式、时钟停止模式、待机模式等,可以有效降低功耗。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值