STM32数字示波器+详细注释+上位机程序+硬件
目录
1、设计指标:
2、功能:
3、上位机的程序
4、测试的照片
5、PCB
6、模拟电路板
7、程序
资料下载地址:STM32数字示波器+详细注释+上位机程序+硬件
1、设计指标:
2、功能:
3、上位机的程序
4、测试的照片

5、PCB
6、模拟电路板
7、程序
/*------------------------------------------------------------------------------------STM32示波器硬件平台:主控器: STM32F103ZET6 64K RAM 512K ROM屏幕器: SSD1963 分辨率: 480x272 16位色触摸屏: TSC2046模拟电路: OP - TL084OP - u741SW - CD4051CMP - LM311PWR - LM7805- LM7905- MC34063- AMS1117-3.3DRI - ULN2003继电器:信号继电器电源: DC +12V软件平台:开发环境: RealView MDK-ARM uVision4.10C编译器 : ARMCCASM编译器:ARMASM连接器: ARMLINK实时内核: uC/OS-II 2.90实时操作系统GUI内核 : uC/GUI 3.90图形用户接口底层驱动: 各个外设驱动程序ROM Size = Code + RO-data +RW-dataRAM Size = RW-data + ZI-dataProgram Size: Code=56024 RO-data=8272 RW-data=256 ZI-data=29912 时间: 2013年11月9日 BoX编写于大二上学期版本: V1.0 - 2013/11/9V1.1 - 2014/2/8V3.0 - 2014/2/19
-------------------------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "ucos_ii.h"
#include "app.h"
#include "GUI.h"#include "usart1.h"
#include "pincfg.h"
#include "delay.h"
#include "tft_api.h"
#include "dac.h"
#include "adc.h"
#include "iwdg.h"
#include "timer.h"
#include "EXTI.H"
#include "oscilloscope.h"
#include "indkey.h"
#include "tsc2046.h"#include "task_rtc.h"
#include "task_gui.h"
#include "task_sd.h"/*-----------------------------------------声明起始任务栈
------------------------------------------*/
OS_STK Task_Start_Stk[TASK_START_STK_SIZE]; /*-----------------------------------------因为涉及到对共享资源的访问,创建互斥信号量
------------------------------------------*/
OS_EVENT *LCD_Buffer_MUTEX;
OS_EVENT *USART_Buffer_MUTEX;
OS_EVENT *SDtoRAM_Buffer_MUTEX;
/*-----------------------------------------主 函 数
------------------------------------------*/
int main(void)
{ INT8U err;SystemInit(); //初始化RCC时钟OSInit(); LCD_Buffer_MUTEX = OSMutexCreate(4,&err); //创建3个共享资源互斥信号量USART_Buffer_MUTEX = OSMutexCreate(4,&err);SDtoRAM_Buffer_MUTEX = OSMutexCreate(4,&err);OSTaskCreate(Task_Start,(void *)0,&Task_Start_Stk[TASK_START_STK_SIZE-1],TASK_START_PRIO); //起始任务 OSStart();
}
/*-------------------------------------------------------------------------------函数功能:初始化各种外设说 明:因为跑操作系统,所以外设的初始化应该放在操作系统的初始任务中完成,不能在while(1)循环外部完成外设的初始化工作,否则操作系统可能无法启动.本函数在app.c中被调用
-------------------------------------------------------------------------------*/
void BSP_Init(void)
{OS_CPU_SR cpu_sr = 0u;OS_ENTER_CRITICAL();DelayInit(); //初始化延时PinCfg(); //外部器件控制配置FSMC_LCD_Init(); //FSMC总线配置 GUI_Init(); //初始化UCGUI界面TSC2046_Config(); //初始化触摸控制器USART1_Config(); //初始化串口DAC_Config(); //初始化DAC1ADC1_Init(); //初始化ADC1EXTI_Config(); //初始化外部中断Key_EXTI_Config(); //初始化按键中断TIM5_Config(1999,71); //TIM5以1MHz频率计数,每2ms溢出中断
// TIM4_Config(59999,71); //TIM4以1MHz频率计数,每60ms溢出中断RTC_Init(); //初始化RTC
// SD_Init();JDQ_ACDC = 1; //交流耦合ManualGainScan(3); //调试用IWDG_Init(4,625); //喂狗时间为1000msOS_EXIT_CRITICAL();
}
相关文章:
STM32数字示波器+详细注释+上位机程序+硬件
目录 1、设计指标: 2、功能: 3、上位机的程序 4、测试的照片 5、PCB 6、模拟电路板 7、程序 资料下载地址:STM32数字示波器详细注释上位机程序硬件 1、设计指标: 主控: STM32…...
【平衡二叉树】AVL树(双旋)
🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | Linux | 初阶数据结构 小伙伴们大家好,本片文章将会讲解AVL树的左双选和右双旋的相关内容。 如果看到最后您觉得这篇文章写…...
【保姆级介绍自动化的讲解】
🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…...
【大数据面试题】27 讲下Doris的物化视图
一步一个脚印,一天一道面试题。 物化视图概念 物化视图,顾名思义,是将一个查询的结果预先计算并存储为物理表的形式。这意味着,原本需要在运行时动态执行的复杂查询,现在变成了直接从已经计算好的结果表中读取数据&a…...
kylin 使用心得
Kylin操作系统是一种基于Linux的操作系统,主要在中国使用,由中国国内的开发团队维护。它的目标是为了提供一个稳定、安全、易于使用的操作环境。以下是一些用户可能基于Kylin操作系统的使用心得: 1. **界面友好**:Kylin操作系统通…...
在线音乐系统
文章目录 在线音乐系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目(9.9¥带走) 在线音乐系统 一、项目演示 音乐网站 二、项目介绍 基于springbootvue的前后端分离在线音乐系统 登录角色 : 用户、管理员 用…...
LeetCode算法题:49. 字母异位词分组(Java)
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", …...
第五课,输入函数、布尔类型、比较运算和if判断
一,输入函数input() 与输出函数print()相对应的,是输入函数input(),前者是把程序中的数据展示给外界(比如电脑屏幕上),而后者是把外界(比如键盘)的数据输入进程序中 input()函数可…...
数学建模——线性回归模型
目录 1.线性回归模型的具体步骤和要点: 1.收集数据: 2.探索性数据分析: 3.选择模型: 4.拟合模型: 5.评估模型: 1.R平方(R-squared): 2.调整R平方(Ad…...
景源畅信:抖音小店比较冷门的品类分享?
在抖音小店的世界里,热门品类总是吸引着众多商家和消费者的目光。然而,就像星空中的繁星,虽不那么耀眼却依然存在的冷门品类同样值得我们关注。它们或许不似服装、美妆那样日进斗金,但正是这些小众市场的存在,为平台带…...
java项目之企业资产管理系统(springboot+vue+mysql)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的企业资产管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 管理员功能有个人中心&…...
[ardunio ide导入blinker库]
1 blinker库下载地址 https://github.com/blinker-iot/blinker-library2 导入方法一 zip导入 项目 -> 导入库 ->添加.zip库 3 导入方法二...
Llama 3 超级课堂 -笔记
课程文档: https://github.com/SmartFlowAI/Llama3-Tutorial 课程视频:https://space.bilibili.com/3546636263360696/channel/series 1 环境配置 1.1 创建虚拟环境,名为:llama3 conda create -n llama3 python3.10 1.2 下载、安装 pyt…...
Leetcode 第 129 场双周赛题解
Leetcode 第 129 场双周赛题解 Leetcode 第 129 场双周赛题解题目1:3127. 构造相同颜色的正方形思路代码复杂度分析 题目2:3128. 直角三角形思路代码复杂度分析 题目3:3129. 找出所有稳定的二进制数组 I思路代码复杂度分析 题目4:…...
队列的讲解
队列的概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头 一端进另一端出 也就是可以做到,先…...
算法学习笔记(LCA)
L C A LCA LCA:树上两个点的最近公共祖先。(两个节点所有公共祖先中,深度最大的公共祖先) L C A LCA LCA的性质: 在所有公共祖先中, L C A ( x , y ) LCA(x,y) LCA(x,y)到 x x x和 y y y的距离都最短。 x …...
记一次苹果appstore提审拒审问题1.2
有关苹果appstore审核1.2问题的处理方案 2023.8.6苹果回复 Bug Fix Submissions The issues weve identified below are eligible to be resolved on your next update. If this submission includes bug fixes and youd like to have it approved at this time, reply to thi…...
在做题中学习(59):除自身以为数组的乘积
238. 除自身以外数组的乘积 - 力扣(LeetCode) 解法:前缀积和后缀积 思路:answer中的每一个元素都是除自己以外所有元素的和。那就处理一个前缀积数组和后缀积数组。 而前缀积(f[i])是:[0,i-1]所有元素的乘积 后缀…...
centos 把nginx更新到最新版本
yum install epel-release # 添加 EPEL 软件仓库,这是 Nginx 官方软件仓库的依赖项 yum install yum-utils # yum-utils 包含了 yum-config-manager 工具,它可以让您轻松地启用、禁用或配置 yum 软件仓库 vi /etc/yum.repos.d/nginx.repo # 增加以下内容…...
01.认识HTML及常用标签
目录 URL(统一资源定位系统) HTML(超文本标记语言) 1)html标签 2)head标签 3)title标签 4)body标签 标签的分类 DTD文档声明 基础标签 1)H系列标签 2)…...
ARM与FPGA通信接口设计:从并行总线到AXI的软硬件协同实践
1. 项目概述:从一次调试“事故”说起去年,我在一个边缘计算网关的项目上,遇到了一个让人头大的问题。项目核心是一块定制板,处理器是四核的ARM Cortex-A53,旁边紧挨着一片中等规模的FPGA。我们的设计是让ARM负责复杂的…...
终极AI自瞄系统:5分钟搭建你的智能游戏瞄准助手
终极AI自瞄系统:5分钟搭建你的智能游戏瞄准助手 【免费下载链接】RookieAI_yolov8 基于yolov8实现的AI自瞄项目 AI self-aiming project based on yolov8 项目地址: https://gitcode.com/gh_mirrors/ro/RookieAI_yolov8 还在为游戏中的精准瞄准而烦恼吗&…...
L298N驱动模块进阶玩法:用Arduino实现直流电机的软启动、缓停与速度曲线控制
L298N驱动模块进阶玩法:用Arduino实现直流电机的软启动、缓停与速度曲线控制 在创客和嵌入式开发领域,直流电机的控制是基础但至关重要的技能。大多数初学者会从简单的正反转和调速开始,但当项目需要更精细的运动控制时,粗暴的启…...
Python点云处理入门:从零开始用pypcd4库读取.pcd文件并可视化(附完整代码)
Python点云处理入门:从零开始用pypcd4库读取.pcd文件并可视化 点云数据正逐渐成为三维感知领域的通用语言,从自动驾驶的环境建模到工业质检的精密测量,这些由数百万个空间点构成的数据集正在重塑我们与物理世界交互的方式。对于刚接触这一领域…...
CANN/asc-devkit SIMD向量长度获取函数
GetVecLen 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/…...
Komanda代码嵌入功能详解:Gist、JSFiddle和Twitter无缝集成
Komanda代码嵌入功能详解:Gist、JSFiddle和Twitter无缝集成 【免费下载链接】komanda The IRC Client For Developers 项目地址: https://gitcode.com/gh_mirrors/ko/komanda Komanda作为一款面向开发者的IRC客户端,提供了强大的代码嵌入功能&…...
分布式事务解决方案TCC实战
分布式事务解决方案TCC实战 一、分布式事务概述 在分布式系统中,事务跨越多个服务或数据库,传统的ACID事务无法直接适用,需要采用分布式事务解决方案。 1.1 分布式事务挑战 挑战说明网络延迟跨服务调用存在网络延迟和超时数据一致性多个数据源…...
CANN/catlass精度分析基础
精度分析基础 【免费下载链接】catlass 本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 写在前面 该文档主要说明CATLASS样例开发中精度分析的基础知识,包括样例精度…...
Cursor设备标识重置技术:3分钟解决试用限制的完整方案
Cursor设备标识重置技术:3分钟解决试用限制的完整方案 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Your request has been blocked as our system has detected suspicious activity / Youve reached your trial request limit. …...
FreeRTOS-Plus-TCP vs LwIP:在GD32F450上如何选择?附LAN8720A驱动避坑指南
FreeRTOS-Plus-TCP与LwIP在GD32F450上的深度对比与实战选型指南 当工程师在资源受限的GD32F450平台上构建网络功能时,FreeRTOS-Plus-TCP和LwIP这两个轻量级TCP/IP协议栈往往成为主要候选。本文将基于实际项目经验,从内存占用、性能表现、开发效率等维度进…...
