当前位置: 首页 > news >正文

电子商务网站建设答案/百度网址链接

电子商务网站建设答案,百度网址链接,网站视觉优化怎么做,冠县网站制作大家好,我是 小杰学长 stm32太阳能追光储能系统V2. 增加了命令行交互和内置AT指令解析框架 (就是可以用电脑串口发送at指令控制板子的所有功能) 改动了spi 换成硬件 改动了硬件电源 增加了pcb原理图 附带上pcb源文件 增加了freertos 互斥锁…

在这里插入图片描述

在这里插入图片描述

大家好,我是 小杰学长

stm32太阳能追光储能系统V2.

增加了命令行交互和内置AT指令解析框架
(就是可以用电脑串口发送at指令控制板子的所有功能)
改动了spi 换成硬件
改动了硬件电源
增加了pcb原理图 附带上pcb源文件
增加了freertos 互斥锁 内存池 消息队列 任务管理等
增加了基于uart交互的shell命令行代码框架及命令链表
增加了AT指令数组和应用层协议解析框架


本章节gitee源码仓库链接跳转

建议你们先看一下第一版追光系统
追光系统初代链接跳转


仅保留了有修改的代码文件和CubeMX的ioc工程文件
直接用cubeMX打开ioc后生成工程 
再把对应位置的代码进行比较 然后拷贝进去就行

stm32追光储能系统实物功能演示视频


各组件实现原理博客网址

  1. 光敏adc采集:https://blog.csdn.net/weixin_50257954/article/details/133049628?spm=1001.2014.3001.5502
  2. 舵机pwm控制:https://blog.csdn.net/weixin_50257954/article/details/133340143
  3. INA226功率监测I2C:https://blog.csdn.net/weixin_50257954/article/details/133635534
  4. TFT彩屏io模拟SPI原理:https://blog.csdn.net/weixin_50257954/article/details/133467010
  5. TFT彩屏驱动库解析:https://blog.csdn.net/weixin_50257954/article/details/133691503
  6. 硬件SPI控制TFT彩屏:会在本篇博客讲解
    也没啥好讲的
    把底层io模拟的接口换成hal_spi_transmit就行
  7. CLI-AT协议解析代码框架:在文章末尾

所使用的硬件

  • 如下图
    在这里插入图片描述

相比一代 硬件有所改动,如下:

1 去掉了充电功能

因为这是硬件的事
对于软件工程师
能检测到电流横向
知道是在充电还是放电就行
所以就成了虚拟的太阳充能了
不过面试的时候也可以说出来

2 电阻型号

可调电阻换成了1kΩ电阻

3 电源模块

换了个电源模块
能满足系统用电需求
支持2个18650电池输入

4 pcb底板

底板原理图pdf跳转

在这里插入图片描述

写代码的时候发现i2c1与spi1的内存地址映射冲突了
改成使用硬件spi2
在这里插入图片描述

嘉立创导出的pcb源文件 json格式
追光项目底板路径跳转 (在我gitee上)
我不是拉线工程师 我也不太懂

cubeMX初始化

  • cubeMX中所有外设内部参数配置 我都做好了 你们可以有自己的配置方法 取决于你们看到的博客

1 cubeMX硬件引脚

引脚定义

单片机板子的引脚接线
用cubeMX打开文件夹中的IOC
即可了解每个模块的接口
都接到32的哪一个引脚上了
(当然你们可以有不同的io口接法)
如下图:
在这里插入图片描述

SPI

spi2
彩屏只需要接收
所以我们只需要开启只发送主机spi模式即可
在这里插入图片描述

UART

115200波特率
记得使能串口中断
在这里插入图片描述

2 cubeMX freeRTOS配置

统一图片演示
你们自己看 看不明白 看代码
其他默认

rtos系统配置

堆大小改大一点 原来的不够用了
在这里插入图片描述

rtos功能配置

任务和队列
就弄了三个
在这里插入图片描述

cli命令行的代码中
还另外自己创建了:
1个线程
1个给串口用的互斥锁
给串口中断接收中断用的
3个消息队列
3个内存池
cubeMX没有内存池
自己在头文件中打开,如下图
在这里插入图片描述

头文件链接跳转-> (在我gitee上)

系统框图

硬件系统框架

看之前的博客
追光系统初代链接跳转

CLI-AT协议解析代码框架

我学生写了 我就不写了 大家自己看
在这里插入图片描述

流程图 (在我gitee上)
他的博客链接

结合源码看完了 一定让你们醍醐灌顶
一下子学会用硬件uart 中断 DMA
注册命令行命令的时候用的链表
是我学生的
像不像智能家居的控制链表和设备链表

AT指令的注册换了另一种方式
用数组
感受到他两的区别没
感受到了 简历怎么写我就不教了哈
嘻嘻(#.#)

展望与写进简历

展望

  1. 被人吐槽cli-at框架白板演示 写的稀碎 看来当老师有待改进
  2. 被人吐槽没有通信协议框架和PID自动控制算法
    因为特别行业用单片机都会考虑到自动控制算法
    电机 信号 电源 控制
    有待改进 粉丝们你们可以考虑用无刷电机和pid算法对角度位置进行控制
    至于通信协议框架 这个玩意 你们把lwip移植进去玩玩吧
  3. 其实可以用usb-cdc命令行交互 然后就能用comshell登录 支持退格键输入
  4. 用ota固件升级 逼格又上去了 把mcuboot移植进去 也不知道内存够不够 没事 换芯片
  5. 命令行解析到是AT指令后,
    AT指令解析框架可能存在功能复杂的情况
    可以异步操作,自己跑一个任务
    这样就不影响命令行自己读取新的串口传过来的新数据了
  6. AT指令解析框架在控制硬件层相关的操作的时候
    可以加个中间层隔离软硬件代码
    就像咱们智能家居项目的posix消息队列线程一样
    将控制链表对设备链表的硬件控制分隔开
    届时非常漂亮
  7. spi-lcd+gpio-key实现一两个ui画面切换

写进简历

  1. 用了哪些总线硬件外设就不说了
  2. TFT彩屏驱动库 可以跟他扯一下
  3. CLI-AT协议解析代码框架
  4. 展望里所有提到的你们觉得能自己做出来都可以写进去
  5. freertos 互斥锁 内存池 消息队列 任务管理
  6. 嘉立创原理图设计 这个看你敢不敢写了

key实现一两个ui画面切换

写进简历

  1. 用了哪些总线硬件外设就不说了
  2. TFT彩屏驱动库 可以跟他扯一下
  3. CLI-AT协议解析代码框架
  4. 展望里所有提到的你们觉得能自己做出来都可以写进去
  5. freertos 互斥锁 内存池 消息队列 任务管理
  6. 嘉立创原理图设计 这个看你敢不敢写了

在这里插入图片描述

相关文章:

stm32太阳能追光储能系统V2

大家好,我是 小杰学长 stm32太阳能追光储能系统V2. 增加了命令行交互和内置AT指令解析框架 (就是可以用电脑串口发送at指令控制板子的所有功能) 改动了spi 换成硬件 改动了硬件电源 增加了pcb原理图 附带上pcb源文件 增加了freertos 互斥锁…...

Docker笔记-解决非交互式运行python时print不输出的问题

换句话来说就是在docker中如何不会python的print 只需要在启动时&#xff0c;不让python缓冲其输出。 关键命令如下&#xff1a;PYTHONUNBUFFERED1 如下&#xff1a; docker run -e PYTHONUNBUFFERED1 <your_image> 下面解释下-e "-e"选项的全称是"…...

06- 数组的基础知识详细讲解

06- 数组的基础知识详细讲解 一、基本概念 一次性定义多个相同类型的变量&#xff0c;并且给它们分配一片连续的内存。 int arr[5];1.1 初始化 只有在定义的时候赋值&#xff0c;才可以称为初始化。数组只有在初始化的时候才可以统一赋值。 以下是一些示例规则&#xff1a; …...

CentOS6系统因目录有隐含i权限属性致下属文件无法删除的故障一例

CentOS6服务器在升级openssh时因系统目录权限异常&#xff08;有隐含i权限属性&#xff09;&#xff0c;下属文件无法删除&#xff0c;导致系统问题的故障一例。 一、问题现象 CentOS6在升级openssh时&#xff0c;提示如下问题&#xff1a; warning: /etc/ssh/sshd_config c…...

【视频转码】ZLMediaKit漏洞报告的问题

漏洞问题&#xff1a; 支持ss1 rc4密码套件(bar mitzvah) 漏洞级别&#xff1a; 中危 漏洞修复&#xff1a; 方法&#xff1a;避免使用RC4密码&#xff0c;参考代码如下&#xff1a; 修改文件位于&#xff1a;webrtc/DtlsTransport.cpp ret SSL_CTX_set_cipher_list(ssl…...

100道大模型面试八股文

算法暑期实习机会快结束了&#xff0c;校招大考即将来袭。 当前就业环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;岗位在变少&#xff0c;要求还更高了。 最近&#xff0c;我们陆续整理了很多大厂的面试题&#xff0c;帮助球友解惑答疑和职业规划&#xff0c;分…...

【ARM Cache 及 MMU 系列文章 6.2 -- ARMv8/v9 Cache 内部数据读取方法详细介绍】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Direct access to internal memoryL1 cache encodingsL1 Cache Data 寄存器Cache 数据读取代码实现Direct access to internal memory 在ARMv8架构中,缓存(Cache)是用来加速数据访…...

使用Vue.js将form表单传递到后端

一.form表单 <form submit.prevent"submitForm"></form> form表单像这样写出来&#xff0c;然后把需要用户填写的内容写在form表单内。 二.表单内数据绑定 <div class"input-container"><div style"margin-left: 9px;"&…...

6、架构-服务端缓存

为系统引入缓存之前&#xff0c;第一件事情是确认系统是否真的需要缓 存。从开发角度来说&#xff0c;引入缓存会提 高系统复杂度&#xff0c;因为你要考虑缓存的失效、更新、一致性等问题&#xff1b;从运维角度来说&#xff0c;缓存会掩盖一些缺 陷&#xff0c;让问题在更久的…...

服务器遭遇UDP攻击时的应对与解决方案

UDP攻击作为分布式拒绝服务(DDoS)攻击的一种常见形式&#xff0c;通过发送大量的UDP数据包淹没目标服务器&#xff0c;导致网络拥塞、服务中断。本文旨在提供一套实用的策略与技术手段&#xff0c;帮助您识别、缓解乃至防御UDP攻击&#xff0c;确保服务器稳定运行。我们将探讨监…...

美团发布2024年一季度财报:营收733亿元,同比增长25%

6月6日&#xff0c;美团(股票代码:3690.HK)发布2024年第一季度业绩报告。受益于经济持续回暖和消费复苏&#xff0c;公司各项业务继续取得稳健增长&#xff0c;营收733亿元(人民币&#xff0c;下同)&#xff0c;同比增长25%。 财报显示&#xff0c;一季度&#xff0c;美团继续…...

sql注入-布尔盲注

布尔盲注&#xff08;Boolean Blind SQL Injection&#xff09;是一种SQL注入攻击技术&#xff0c;用于在无法直接获得查询结果的情况下推断数据库信息&#xff1b;它通过发送不同的SQL查询来观察应用程序的响应&#xff0c;进而判断查询的真假&#xff0c;并逐步推断出有用的信…...

docker-compose部署 kafka 3.7 集群(3台服务器)并启用账号密码认证

文章目录 1. 规划2. 服务部署2.1 kafka-012.2 kafka-022.3 kafka-032.4 启动服务 3. 测试3.1 kafkamap搭建&#xff08;测试工具&#xff09;3.2 测试 1. 规划 服务IPkafka-0110.10.xxx.199kafka-0210.10.xxx.198kafka-0310.10.xxx.197kafkamp10.10.xxx.199 2. 服务部署 2.1…...

LeetCode-704. 二分查找【数组 二分查找】

LeetCode-704. 二分查找【数组 二分查找】 题目描述&#xff1a;解题思路一&#xff1a;注意开区间和闭区间背诵版&#xff1a;解题思路三&#xff1a; 题目描述&#xff1a; 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xf…...

Rust 性能分析

都说Rust性能好,但是也得代码写得好,猜猜下面两个代码哪个快 . - 力扣&#xff08;LeetCode&#xff09; use std::collections::HashMap; use lazy_static::lazy_static;lazy_static! {static ref DIGIT: HashMap<char, usize> {let mut m HashMap::new();for c in …...

Gradle和Maven都是广泛使用的项目自动化构建工具

Gradle和Maven都是广泛使用的项目自动化构建工具&#xff0c;但它们在多个方面存在差异。以下是关于Gradle和Maven的详细对比&#xff1a; 一、构建脚本语言 Maven&#xff1a;使用XML作为构建脚本语言。XML的语法较为繁琐&#xff0c;不够灵活&#xff0c;对于复杂的构建逻辑…...

Seed-TTS语音编辑有多强?对比实测结果让你惊叹!

GLM-4-9B 开源系列模型 前言 就在最近&#xff0c;ByteDance的研究人员最近推出了一系列名为Seed-TTS的大规模自回归文本转语音(TTS)模型,能够合成几乎与人类语音无法区分的高质量语音。那么Seed-TTS的表现究竟有多强呢?让我们一起来感受下Seed-TTS带来的惊喜吧! 介绍Seed-TTS…...

Vue3——实现word,pdf上传之后,预览功能(实测有效)

vue-office/pdf - npm支持多种文件(**docx、excel、pdf**)预览的vue组件库&#xff0c;支持vue2/3。也支持非Vue框架的预览。. Latest version: 2.0.2, last published: a month ago. Start using vue-office/pdf in your project by running npm i vue-office/pdf. There are …...

JVM之【类的生命周期】

首先&#xff0c;请区分Bean的声明周期和类的声明周期。此处讲的是类的声明周期 可以同步观看另一篇文章JVM之【类加载机制】 概述 在Java中数据类型分为基本数据类型和引用数据类型 基本数据类型由虚拟机预先定义&#xff0c;引用数据类型则需要进行类的加载 按照]ava虚拟机…...

分库分表场景下,如何设计与实现一种高效的分布式ID生成策略

在构建大规模分布式系统时&#xff0c;随着数据量的爆炸式增长&#xff0c;单个数据库往往难以承载如此庞大的数据存储与访问需求。这时&#xff0c;分库分表便成为一种有效的解决方案&#xff0c;它通过将数据分散存储在多个数据库或表中&#xff0c;从而提高系统的处理能力和…...

机器人系统ros2-开发学习实践16-RViz 用户指南

RViz 是 ROS&#xff08;Robot Operating System&#xff09;中的一个强大的 3D 可视化工具&#xff0c;用于可视化机器人模型、传感器数据、路径规划等。以下是RViz用户指南&#xff0c;帮助你了解如何使用RViz来进行机器人开发和调试。 启动可视化工具 ros2 run rviz2 rviz2…...

安全测试 之 安全漏洞 CSRF

1. 背景 安全测试是在功能测试的基础上进行的&#xff0c;它验证软件的安全需求&#xff0c;确保产品在遭受恶意攻击时仍能正常运行&#xff0c;并保护用户信息不受侵犯。 2. CSRF 定义 CSRF&#xff08;Cross-Site Request Forgery&#xff09;&#xff0c;中文名为“跨站请…...

交易中的预测和跟随

任何的交易决策&#xff0c;一定是基于某种推理关系的&#xff0c;这种推理关系是基于t时刻之前的状态&#xff0c;得到t时刻之后的结果&#xff0c;我们基于这种推理关系&#xff0c;根据当前的状态&#xff0c;形成了未来结果的某种预期&#xff0c;然后基于这种预期采取相应…...

vs2022专业版永久密钥

vs2022专业版永久密钥&#xff1a; vs2022专业版永久密钥&#xff1a; Visual Studio 2022 Enterprise&#xff1a;VHF9H-NXBBB-638P6-6JHCY-88JWH Visual Studio 2022 Professional&#xff1a;TD244-P4NB7-YQ6XK-Y8MMM-YWV2J...

MongoDB环境搭建

一.下载安装包 Download MongoDB Community Server | MongoDB 二、双击下载完成后的安装包开始安装&#xff0c;除了以下两个部分需要注意操作&#xff0c;其他直接next就行 三.可视化界面安装 下载MongoDB-compass&#xff0c;地址如下 MongoDB Compass Download (GUI) | M…...

数据结构【队列】

队列的的概念 队列是一种特殊的线性表&#xff0c;特殊之处在于它只允许在表的头部进行删除操作&#xff0c;而在表的尾部进行插入操作&#xff0c;和栈一样&#xff0c;队列是一种操作受限制的线性表。进行插入操作的端称为队尾&#xff0c;进行删除操作的端称为队头。队列中…...

微信小程序上架,AI类目审核(AI问答、AI绘画、AI换脸)

小程序对于生成式AI类目的产品上架审核较为严格&#xff0c;这也是近两年新增了几个类目&#xff0c;一旦小程序中涉及生成式AI相关的内容&#xff0c;如果你选择相应类目&#xff0c;但审核被划归为这一类&#xff0c;都需要准备此类目的审核&#xff0c;才能正常上架。 如果…...

Vue3学习记录(第一天)

Vue3学习记录_第一天 背景说明记录Vue3实现响应式前端的反射前端对象的属性赋值Vue3响应式实现过程稿前端移除对象的属性 背景 本次学习主要是看视频学习, 没有跟练, 但是很多知识点感觉又容易忘记. 所以通过笔记的方式输出一下. 说明 估计只能自己看懂, 如果能提供一些其他…...

springboot+vue+mybatis房屋租贷系统+PPT+论文+讲解+售后

本论文系统地描绘了整个网上房屋租赁系统的设计与实现&#xff0c;主要实现的功能有以下几点&#xff1a;管理员&#xff1b;首页、个人中心、房屋类型管理、房屋租赁管理、会员管理、订单信息管理、合同信息管理、退房评价管理、管理员管理&#xff0c;系统管理&#xff0c;前…...

Day30 登录界面设计

​ 本章节,实现了登录界面窗口设计 一.准备登录界面图片素材(透明背景图片) 把准备好的图片放在 Images 文件夹下面,格式分别是 .png和 .icoico 图片,右键属性,生成操作选 内容 png 图片,右键属性,生成操作选 资源 选中 login.png图片鼠标右键,选择属性。生成的操作选…...