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

STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显

资料下载地址:STM32+WIFI获取网络时间+8位数码管显示+0.96OLED

1、项目介绍

主控芯片STM32C8T6        
接线:串口1:PA9     PA10
OELD :PB6   PB7

数码管使用:MAX7219 8位数码管
Max7219_pinCLK PAout(5)
Max7219_pinCS  PAout(3)
Max7219_pinDIN PAout(7)

2、实物图片

3、程序

#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "ESP8266.h"
#include "oled.h"
#include "RTC.h"
#include "dht11.h"
#include "7219.h"int main(void)
{       delay_init();                     //延时函数初始化          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级uart_init(115200);         //串口初始化为115200LED_Init();                             //LED端口初始化KEY_Init();          //初始化与按键连接的硬件接口OLED_Init();                        //初始化OLED  OLED_Clear();ESP8266_Init();esp8266_get_time();//获取时间dispose_time_data(); //更新时间esp8266_get_weather();//获取天气dispose_wea_data();//更新天气RTC_Init();          //初始化与按键连接的硬件接口display_week();//显示星期SPI1_Init();Init_MAX7219();while(1){       //0.96OLED显示OLED_ShowNum(0,0,calendar.w_year,4,16);//年OLED_ShowNum(48,0,calendar.w_month,2,16);//月OLED_ShowNum(80,0,calendar.w_date,2,16);//日OLED_ShowNum(0,2,calendar.hour,2,16);//时OLED_ShowNum(24,2,calendar.min,2,16);//分OLED_ShowNum(48,2,calendar.sec,2,16);//秒OLED_ShowNum(20,4,temperature,2,16);//温度if((calendar.hour==0)&&(calendar.min==0)&&(calendar.sec==0)){calendar.week+=1;if(calendar.week>8) calendar.week=1;display_week();//显示星期}//        数码管显示               if(calendar.sec<55){Write_Max7219(0x08, calendar.hour/10);Write_Max7219(0x07, calendar.hour%10);Write_Max7219(0x06, 0x0A);Write_Max7219(0x05, calendar.min/10);Write_Max7219(0x04, calendar.min%10);Write_Max7219(0x03, 0x0A);Write_Max7219(0x02, calendar.sec/10);Write_Max7219(0x01, calendar.sec%10);delay_ms(100);}else{Write_Max7219(0x08, calendar.w_month/10); //日期Write_Max7219(0x07, calendar.w_month%10);Write_Max7219(0x06, 0x0A);Write_Max7219(0x05, calendar.w_date/10);Write_Max7219(0x04, calendar.w_date%10);Write_Max7219(0x02, temperature/10);//温度Write_Max7219(0x01, temperature%10);delay_ms(100);}}
}

相关文章:

STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显

资料下载地址&#xff1a;STM32WIFI获取网络时间8位数码管显示0.96OLED 1、项目介绍 主控芯片STM32C8T6 接线&#xff1a;串口1&#xff1a;PA9 PA10 OELD &#xff1a;PB6 PB7 数码管使用&#xff1a;MAX7219 8位数码管 Max7219_pinCLK PAout(5) Max7219_pinC…...

以太网ICMP协议(ping指令)——FPGA学习笔记25

--素材来源原子哥 一、IP协议 1、IP简介 IP是Internet Protocol(网际互连协议)的缩写。IP 协议是 TCP/IP 协议簇中的核心协议&#xff0c;它为上层协议提供无状态、无连接、不可靠的服务。IP 协议规定了数据传输时的基本单元和格式 。 IP协议是 OSI 参考模型中网络层…...

从零手写线性回归模型:PyTorch 实现深度学习入门教程

系列文章目录 01-PyTorch新手必看&#xff1a;张量是什么&#xff1f;5 分钟教你快速创建张量&#xff01; 02-张量运算真简单&#xff01;PyTorch 数值计算操作完全指南 03-Numpy 还是 PyTorch&#xff1f;张量与 Numpy 的神奇转换技巧 04-揭秘数据处理神器&#xff1a;PyTor…...

【Cesium】自定义材质,添加带有方向的滚动路线

【Cesium】自定义材质&#xff0c;添加带有方向的滚动路线 &#x1f356; 前言&#x1f3b6;一、实现过程✨二、代码展示&#x1f3c0;三、运行结果&#x1f3c6;四、知识点提示 &#x1f356; 前言 【Cesium】自定义材质&#xff0c;添加带有方向的滚动路线 &#x1f3b6;一、…...

C 语言奇幻之旅 - 第11篇:C 语言动态内存管理

目录 引言1. 内存分配函数1.1 malloc 函数实际开发场景&#xff1a;动态数组 1.2 calloc 函数实际开发场景&#xff1a;初始化数据结构 1.3 realloc 函数实际开发场景&#xff1a;动态调整数据结构大小 2. 内存释放2.1 free 函数 3. 内存泄漏与调试3.1 常见内存问题3.2 内存调试…...

IDEA 撤销 merge 操作(详解)

作为一个开发者&#xff0c;我们都知道Git是一个非常重要的版本控制工具&#xff0c;尤其是在协作开发的过程中。然而&#xff0c;在使用Git的过程中难免会踩一些坑&#xff0c;今天我来给大家分享一个我曾经遇到的问题&#xff1a;在使用IDEA中进行merge操作后如何撤销错误的合…...

swarm天气智能体调用流程

Swarm 框架的调用流程&#xff1a; 入口点 (examples/weather_agent/run.py): run_demo_loop(weather_agent, streamTrue)初始化流程: # swarm/repl/repl.py -> run_demo_loop() client Swarm() # 创建 Swarm 实例消息处理流程: # swarm/core.py class Swarm:def run(…...

LED背光驱动芯片RT9293应用电路

一&#xff09;简介&#xff1a; RT9293 是一款高频、异步的 Boost 升压型 LED 定电流驱动控制器&#xff0c;其工作原理如下&#xff1a; 1&#xff09;基本电路结构及原理 RT9293的主要功能为上图的Q1. Boost 电路核心原理&#xff1a;基于电感和电容的特性实现升压功能。当…...

二叉树的二叉链表和三叉链表

在二叉树的数据结构中&#xff0c;通常有两种链表存储方式&#xff1a;二叉链表和三叉链表。这里&#xff0c;我们先澄清一下概念&#xff0c;通常我们讨论的是二叉链表&#xff0c;它用于存储二叉树的节点。而“三叉链表”这个术语在二叉树的上下文中不常见&#xff0c;可能是…...

【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)

学习本路线内容之前&#xff0c;请先学习Python的基础知识 其他路线&#xff1a; Python基础 >> Python进阶 >> Python爬虫 >> Python数据分析&#xff08;数据科学&#xff09; >> Python 算法&#xff08;人工智能&#xff09; >> Pyth…...

C++直接内存管理new和delete

0、前言 C语言定义了两个运算符来分配和释放动态内存。运算符new分配内存&#xff0c;delete释放new分配的内存。 1、new动态内存的分配 1.1、new动态分配和初始化对象 1&#xff09;、new内存分配 在自由的空间分配的内存是无名的&#xff0c;new无法为其分配的对象…...

Linux 内核中网络接口的创建与管理

在 Linux 系统中,网络接口(如 eth0、wlan0 等)是计算机与外部网络通信的桥梁。无论是物理网卡还是虚拟网络接口,它们的创建和管理都依赖于 Linux 内核的复杂机制。本文将深入探讨 Linux 内核中网络接口的创建过程、命名规则、路由选择以及内核如何将网络接口映射到实际的硬…...

人工智能 前馈神经网络练习题

为了构建一个有两个输入&#xff08; X 1 X_1 X1​、 X 2 X_2 X2​&#xff09;和一个输出的单层感知器&#xff0c;并进行分类&#xff0c;我们需要计算权值 w 1 w_1 w1​和 w 2 w_2 w2​的更新过程。以下是详细的步骤和计算过程&#xff1a; 初始化参数 初始权值&#xff1a…...

Windows搭建RTMP服务器

目录 一、Nginx-RTMP服务器搭建1、下载Nginx2、下载Nginx的RTMP扩展包3、修改配置文件4、启动服务器5、查看服务器状态6、其它ngnix命令 二、OBS推流1 、推流设置2、查看服务器状态 三、VLC拉流四、补充 本文转载自&#xff1a;Windows搭建RTMP服务器OBS推流VLC拉流_浏览器查看…...

Vue重新加载子组件

背景&#xff1a;组件需要重新加载&#xff0c;即重新走一遍组件的生命周期常见解决方案&#xff1a; 使用v-if指令&#xff1a;v-if 可以实现 true (加载)和 false (卸载) async reloadComponent() {this.show false// 加上 nextTick this.$nextTick(function() {this.show…...

【VScode】设置代理,通过代理连接服务器

文章目录 VScode编辑器设置代理1.图形化界面1.1 进入proxy设置界面1.2 配置代理服务器 2.配置文件&#xff08;推荐&#xff09;2.1 打开setting.json 文件2.2 配置代理 VScode编辑器设置代理 根据情况安装nmap 1.图形化界面 1.1 进入proxy设置界面 或者使用快捷键ctrl , 。…...

js es6 reduce函数, 通过规格生成sku

const specs [{ name: 颜色, values: [红色, 蓝色, 绿色] },{ name: 尺寸, values: [S, M, L] } ];function generateSKUs(specs) {return specs.reduce((acc, spec) > {const newAcc [];for (const combination of acc) {for (const value of spec.values) {newAcc.push(…...

基于R语言的DICE模型

DICE型是运用最广泛的综合模型之一。DICE和RICE模型虽然代码量不多&#xff0c;但涉及经济学与气候变化&#xff0c;原理较为复杂。 一&#xff1a;DICE模型的原理与推导 1.经济学 2.气候变化问题 3.DICE模型的经济学部分 4.DICE模型的气候相关部分 5.DICE模型的目标函数…...

【C】PAT 1006-1010

1006 换个格式输出整数 让我们用字母 B 来表示“百”、字母 S 表示“十”&#xff0c;用 12...n 来表示不为零的个位数字 n&#xff08;<10&#xff09;&#xff0c;换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234&#xff0c;因为它有 2 个“…...

力扣双指针-算法模版总结

lc-15.三数之和 &#xff08;时隔13天&#xff09; 目前可通过&#xff0c;想法上无逻辑问题&#xff0c;一点细节小错误需注意即可 lc-283.移动零&#xff08;时隔16天&#xff09; 总结&#xff1a;观察案例直觉就是双指针遇零交换&#xff0c;两次实现都通过了&#xff0c…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!

今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等&#xff0c;设置经线、纬线都以10间隔显示。 2、需要插入背会归线&#xf…...