基于FPGA的出租车里程时间计费器
基于FPGA的出租车里程时间计费器
- 功能描述
- 一、系统框图
- 二、verilog代码
- 里程增加模块
- 时间增加模块
- 计算价格模块
- 上板视频演示
- 总结
功能描述
(1);里程计费功能:3公里以内起步价8元,超过3公里后每公里2元,其中不满一公里按照一公里计算。
(2);等待计费功能:当乘客中途下车需要司机等待时,按照等待时间进行收费,每3分钟0.7元,其中不满3分钟不收费。
(3);数码管显示功能;3种显示状态,默认显示公里数,显示格式10.2,每次步进0.1km,步进时间长度为5S。第二种显示等待时间,显示格式50:33,步进时间长度1S。第三种显示当前费用,包括等待费用以及里程计价费用。
(4);信号灯指示功能:当里程计费模式下,LED2亮起,其他LED熄灭。当等待时间计费模式下,LED4亮起,其他LED熄灭。载人状态下LED1亮起,否则不亮。
(5);按键切换功能:3个按键起作用,第一个按键负责切换计费模式,默认是里程计费模式,切换后为等待时间计费模式。第二个按键负责表示出租车载人状态,默认空载,按下表示载人模式。第三个按键负责切换数码管显示的数据,每按一次切换一次,3种数据循环显示。
一、系统框图
二、verilog代码
里程增加模块
module count_km(input key_dri,input sys_reset_n,input en_dowm_car,input EN,output reg [3:0] data_km_ge,output reg [3:0] data_km_shi,output reg [3:0] data_km_bai,// output reg [15:0] data_km,output [3:0] point
);parameter max_km=16'd9999; reg flag_km_shi_up;
reg flag_km_bai_up;assign point=4'b0010;always @(posedge key_dri or negedge sys_reset_n)beginif(!sys_reset_n)begindata_km_ge<=4'h0;flag_km_shi_up<=1'b0;endelse if(!EN)begindata_km_ge<=data_km_ge;flag_km_shi_up<=flag_km_shi_up;endelse if(key_dri && en_dowm_car)beginif(data_km_ge<4'h9)begindata_km_ge<=data_km_ge+1'b1;flag_km_shi_up<=1'b0;endelsebegindata_km_ge<=4'h0;flag_km_shi_up<=1'b1;endendendalways @(posedge key_dri or negedge sys_reset_n)beginif(!sys_reset_n)begindata_km_shi<=4'h0;flag_km_bai_up<=1'b0;endelse if(!EN)begindata_km_shi<=data_km_shi;flag_km_bai_up<=flag_km_bai_up;endelse if(key_dri && en_dowm_car && flag_km_shi_up)beginif(data_km_shi<4'h9)begindata_km_shi<=data_km_shi+1'b1;flag_km_bai_up<=1'b0;endelsebegindata_km_shi<=4'h0;flag_km_bai_up<=1'b1;endendelse if(key_dri && en_dowm_car && flag_km_shi_up==1'b0)beginflag_km_bai_up<=1'b0;endendalways @(posedge key_dri or negedge sys_reset_n)beginif(!sys_reset_n)begindata_km_bai<=4'h0;endelse if(!EN)begindata_km_bai<=data_km_bai;endelse if(key_dri && en_dowm_car && flag_km_bai_up)beginif(data_km_bai<4'h9)begindata_km_bai<=data_km_bai+1'b1;endelsebegindata_km_bai<=4'h0;endendendendmodule
时间增加模块
//计时模块
module count_1s
(input clk, //系统时钟input sys_reset_n, //复位信号input EN, //使能 保持input en_dowm_car,// output reg [7:0] data_s, //秒计时器
// output reg [7:0] data_m, //分钟计时器output reg [3:0] data_s_shi,output reg [3:0] data_s_ge,output reg [3:0] data_m_shi,output reg [3:0] data_m_ge,output reg [3:0] time_price_ge,output reg [3:0] time_price_shi,output reg [3:0] time_price_bai,output reg clk_1s, //1s脉冲output [3:0] point //点
);parameter time_60=8'd60;
parameter MAX_NUM=28'd249;reg [27:0] cnt; //1s计数器reg flag_1m; //1m计时reg flag_m_shi_up;
reg flag_s_up;
reg flag_m_up;
reg time_shi_up;
reg time_bai_up;assign point=4'b0100;
//1s计时
always @(posedge clk or negedge sys_reset_n)beginif(!sys_reset_n)begincnt<=1'b0;clk_1s<=1'b0;endelse if(!EN)begincnt<=cnt; //保持clk_1s<=clk_1s;endelse if(cnt<MAX_NUM)begincnt<=cnt+1'b1;endelsebegincnt<=0;clk_1s<=~clk_1s; //翻转endendalways @(negedge clk_1s or negedge sys_reset_n) beginif(!sys_reset_n)begintime_price_ge<=4'h0;endelse if(en_dowm_car)beginif(flag_s_up && time_price_ge<4'h9)begintime_price_ge<=time_price_ge+1;endelse if(flag_s_up && time_price_ge==4'h9)begintime_price_ge<=0;endendend
always @(negedge clk_1s or negedge sys_reset_n) beginif(!sys_reset_n)begintime_price_shi<=4'h0;endelse if(en_dowm_car)beginif(time_price_ge==4'h9 && time_price_shi<4'h9 && flag_s_up )begintime_price_shi<=time_price_shi+1;endelse if(time_price_ge==4'h9 && time_price_shi==4'h9&& flag_s_up)begintime_price_shi<=0;endendendalways @(negedge clk_1s or negedge sys_reset_n) beginif(!sys_reset_n)begintime_price_bai<=4'h0;endelse if(en_dowm_car)beginif(time_price_shi==4'h9 && time_price_bai<4'h9&& flag_s_up &&time_price_ge==4'h9)begintime_price_bai<=time_price_bai+1;endelse if(time_price_shi==4'h9 && time_price_bai==4'h9&& flag_s_up&&time_price_ge==4'h9)begintime_price_bai<=0;endendend// 秒个位加1
always @(negedge clk_1s or negedge sys_reset_n) beginif(!sys_reset_n)begindata_s_ge<=4'h0;flag_s_up<=0;endelse if(!EN)begindata_s_ge<=data_s_ge; //保持flag_s_up<=flag_s_up;endelse if(en_dowm_car)beginif(data_s_ge < 4'h9 )begindata_s_ge<=data_s_ge+1'b1; flag_s_up<=1'b0; endelse if(data_s_ge == 4'h9)begindata_s_ge<=4'h0; flag_s_up<=1'b1; endendelse begindata_s_ge<=data_s_ge; //保持flag_s_up<=flag_s_up;endend
// 秒十位加1
always @(negedge clk_1s or negedge sys_reset_n) beginif(!sys_reset_n)begindata_s_shi<=4'h0;flag_m_up<=0;endelse if(!EN)begindata_s_shi<=data_s_shi; //保持flag_m_up<=flag_m_up;endelse if(data_s_shi < 4'h5 && data_s_ge==4'h9)begindata_s_shi<=data_s_shi+1'b1; flag_m_up<=1'b0; endelse if(data_s_shi == 4'h5 && data_s_ge==4'h9)begindata_s_shi<=4'h0; flag_m_up<=1'b1; endelse begindata_s_shi<=data_s_shi; flag_m_up<=1'b0; endend//分钟个位加一
always @(posedge clk_1s or negedge sys_reset_n) beginif(!sys_reset_n)begindata_m_ge<=4'h0;flag_m_shi_up<=1'b0;endelse if(!EN)begindata_m_ge<=data_m_ge; //保持flag_m_shi_up<=flag_m_shi_up;endelse if(en_dowm_car) beginif(data_m_ge<4'h9 && data_s_shi==4'h5 && data_s_ge==4'h9)begindata_m_ge<=data_m_ge+1'b1;flag_m_shi_up<=1'b0;endelse if(data_m_ge==4'h9 && data_s_shi==4'h5 && data_s_ge==4'h9)begindata_m_ge<=4'h0;flag_m_shi_up<=1'b1;endelse begindata_m_ge<=data_m_ge; //保持flag_m_shi_up<=1'b0;endendelse begindata_m_ge<=data_m_ge; //保持flag_m_shi_up<=1'b0;endend//分钟十位加一
always @(posedge flag_m_shi_up or negedge sys_reset_n) beginif(!sys_reset_n)begindata_m_shi<=4'h0;endelse if(!EN)begindata_m_shi<=data_m_shi; //保持endelse if(en_dowm_car) beginif(data_m_shi<4'h5 )begindata_m_shi<=data_m_shi+1'b1;endelse if(data_m_shi==4'h5)begindata_m_shi<=4'h0;endendelse begindata_m_ge<=data_m_ge; //保持endendendmodule
计算价格模块
module count_money(input [7:0] data_m,input [15:0] data_km,input sys_reset_n,input clk,input add_km,input en_dowm_car,input clk_1s,input [3:0] data_km_ge,input [3:0] data_km_shi,input [3:0] data_km_bai,input [3:0] time_price_ge,input [3:0] time_price_shi,input [3:0] time_price_bai,output reg [3:0] price_ge,output reg [3:0] price_shi,output reg [3:0] price_bai,
// output reg [15:0] data_price,output [3:0] point
);assign point=4'b0010;reg [15:0] price_km;
reg [15:0] price_time;reg price_shi_up;
reg price_bai_up;
initialbeginprice_km<=16'd30;price_time<=16'd0;end//里程计价
always @(posedge add_km or negedge sys_reset_n)beginif(!sys_reset_n)beginprice_ge<=4'h0;price_shi_up<=1'b0;endelse if(en_dowm_car )beginif(data_km_bai==4'h0)beginif(price_ge<4'h9 && data_km_shi>=4'h3 )begin//大于3.0公里开始增加price_ge<=price_ge+1;price_shi_up<=1'b0;endelse if(price_ge>=4'h9 && data_km_shi>=4'h3 )begin//大于3.0公里开始增加 到9累加price_ge<=4'h0;price_shi_up<=1'b1;endelse if(price_ge<4'h9 && data_km_shi<4'h3)beginprice_ge<=price_ge;price_shi_up<=1'b0;endendelse if(data_km_bai!=4'h0)beginif(price_ge<4'h9 )begin//大于3.0公里开始增加price_ge<=price_ge+1;price_shi_up<=1'b0;endelse if(price_ge>=4'h9)begin//大于3.0公里开始增加 到9累加price_ge<=4'h0;price_shi_up<=1'b1;endendendendalways @(posedge add_km or negedge sys_reset_n)beginif(!sys_reset_n)beginprice_shi<=4'h8;price_bai_up<=1'b0;endelse if(price_shi<4'h9 && price_shi_up)beginprice_shi<=price_shi+1;price_bai_up<=1'b0;endelse if(price_shi>=4'h9 && price_shi_up)beginprice_shi<=4'h0;price_bai_up<=1'b1;endelse if(price_shi_up==1'b0)beginprice_bai_up<=1'b0;endendalways @(posedge add_km or negedge sys_reset_n)beginif(!sys_reset_n)beginprice_bai<=4'h0;endelse if(price_bai<4'h9 && price_bai_up)beginprice_bai<=price_bai+1;endelse if(price_bai>=4'h9 && price_bai_up)beginprice_bai<=4'h0;endendendmodule
模块分析:
通过分频得到5S周期的脉冲信号,当EN信号为高电平时,也就是有乘客上车后,司机按下按键,出租车变为载客状态,这时里程开始根据脉冲信号的上升沿进行增加。
通过按键切换到等待时间计费模式后,EN变为高电平,模块开始工作。将时钟分频模块得到的1S脉冲信号作为触发源进行判断,分和秒各8位,可以看到在脉冲上升沿时间不断累加,符合预期功能。
上板视频演示
基于FPGA的出租车里程时间计费器
总结
模块太多,只展示了比较重要的,其他一些模块就是产生分频信号的,无关紧要。需要的一键三连
相关文章:
基于FPGA的出租车里程时间计费器
基于FPGA的出租车里程时间计费器 功能描述一、系统框图二、verilog代码里程增加模块时间增加模块计算价格模块上板视频演示 总结 功能描述 (1);里程计费功能:3公里以内起步价8元,超过3公里后每公里2元,其中…...
AnaConda下载PyTorch慢的解决办法
使用Conda下载比较慢,改为pip下载 复制下载链接到迅雷下载 激活虚拟环境,安装whl,即可安装成功 pip install D:\openai.wiki\ChatGLM2-6B\torch-2.4.1cu121-cp38-cp38-win_amd64.whl...
Hello 2025(A-C)
补题链接:Dashboard - Hello 2025 - Codeforces A. MEX Table 思路 除了含0的列和行其他的都是0,输出max(n,m)1即可 代码 #include<bits/stdc.h> using namespace std;#define vcoistnt ios_base::sync_with_stdio(false); cin.tie(NULL); co…...
Burpsuite20241102macM1版安装
1、安装jdk11 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew update brew install openjdk11 echo export PATH"/opt/homebrew/opt/openjdk11/bin:$PATH" >> ~/.zshrc source ~/.zshrc j…...
jenkins入门10--自动化构建
build periodically:设定类似cron周期性时间触发构建 * * * * * (五颗星,中间用空格隔开) 第一颗表示分钟,取值0~59 第二颗表示小时,取值0~23 第三颗表示一个月的第几天,取值1~31 第四颗表示第几月…...
Java基础概念
自动装箱 Integer i 10; //装箱 int n i; //拆箱 普通数据类型:直接在栈内存中分配空间,存储的是具体的值。包装类:作为对象在堆内存中分配空间。包装类实际上是对普通数据类型的封装,每个包装类都包含了对应的数据类…...
57.在 Vue 3 中使用 OpenLayers 点击选择 Feature 设置特定颜色
在 Web 开发中,地图应用是非常常见的需求,而 OpenLayers 是一个非常强大的地图库,它提供了丰富的地图操作功能。今天,我们将一起学习如何在 Vue 3 中结合 OpenLayers 使用点击事件来选择地图上的 Feature,并设置特定的…...
HTML——61. 单行文本框和密码输入框(主讲input元素的type属性)
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>单行文本框和密码输入框</title></head><body><!--input元素的type属性:(必须要有)--> <!--单行文本框:1.type"text"2.可…...
h264之多视点mvc编码及解码过程(JMVC平台举例)
h264标准参考平台JMVC是针对MVC标准的,JMVC支持多视点编码、合流、多视点解码操作。可以利用JMVC生成h264 mvc码流和解码。 JMVC的下载地址是:jvet / JMVC GitLabH.264/AVC multi-view coding (MVC) extension JMVC reference softwarehttps://vcgit.hh…...
深度学习blog-深刻理解线性变换和矩阵
深度学习中避免不了矩阵运算,或者张量(其实是矩阵数组)运算。卷积是矩阵加、乘法,注意力也是一样。本质都一样,所谓注意力,卷积、滤波,是对不必了解数学的人说的,底层都是矩阵运算&a…...
C语言 扫雷程序设计
目录 1.main函数 2.菜单打印menu函数 3.游戏game函数 4.宏定义 5.界面初始化 6.打印界面 7.设置雷 8.统计排查坐标周围雷的个数 9.排查雷 10.总代码 test.c代码 game.h代码 game.c代码 结语: 一个简单的扫雷游戏,通过宏定义可以修改行列的…...
[笔记] Jenkins 安装与配置全攻略:Ubuntu 从零开始搭建持续集成环境
随着 DevOps 流程的普及,持续集成(CI)和持续交付(CD)已成为现代软件开发中不可或缺的一部分。Jenkins 作为一款开源的自动化服务器,广泛应用于 CI/CD 管道的构建与管理。它不仅支持多种编程语言和工具链&am…...
【51单片机零基础-chapter3:按键:独立按键|||附带常见C语句.逻辑运算符】
将unsigned char var0;看作沟通二进制和十进制的桥梁 var是8位,初始为0000 0000; 同时可以进行十进制的运算 逻辑运算 位运算 & 按位与(有0则0) | 按位或(有1则1) ~ 按位非 ^ 按位异或(相同则1,不同为0) <<按位左移 >>按位右移 位运算符解释: 0011 1100 <&…...
深入浅出:深层网络处理技术的教学指南
引言 在人工智能的浪潮中,深层网络处理技术(Deep Learning)无疑是最耀眼的明星之一。无论是图像识别、自然语言处理,还是语音识别,深层网络都展现出了强大的能力。然而,对于初学者来说,深层网络…...
深入浅出Node.js-1(node.js入门)
全新专栏带你快速掌握node.js Node.js入门 html,css,js 30年了 nodejs环境 09年出现 15年 nodejs为我们解决了2个方面的问题: 【锦上添花】让我们前端工程师拥有了后端开发能力(开接口,访问数据库) - 大公司BFF(5…...
Django的runserver
当年执行 python manage runserver命令时 1. 先执行 runserver 中的 handle方法 2. 执行 self.run()方法 3. 执行 self.inner_run() 3.1 inner_run 下 run方法的封装 3.1.1 接着看 handle 怎么来的 封装了一个方法 接着找返回函数 3.1.2在 basehttp 下 3.1.3 get_wsgi_appl…...
MySQL 存储引擎
InnoDB InnoDB是MySQL的默认存储引擎,自MySQL 5.5版本起开始使用。它提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。 主要特性: 事务支持:完全支持ACID(原子性、一致性、隔离性、持久…...
React知识盲点——组件通信、性能优化、高级功能详解(大纲)
组件通信 React 组件通信详解 在 React 中,组件通信是一个核心概念,主要指的是如何让不同的组件共享和传递数据。React 提供了多种机制来实现组件间的数据传递和状态共享。以下是几种常见的组件通信方式,包括:父子组件通信&…...
Maven 详细配置:Maven 项目 POM 文件解读
Maven 是 Java 开发领域中广泛使用的项目管理和构建工具,通过其核心配置文件——POM(Project Object Model)文件,开发者能够定义项目的基本信息、依赖关系、插件配置以及构建生命周期等关键要素。POM 文件不仅是 Maven 项目的核心…...
selenium
pythonselenium selenium是一个第三方库,python有很多库; 1、什么是ui自动化? 通过模拟手工操作用户ui页面的方式,用代码去实现自动化操作和验证的行为。 2、ui自动化的优点? (1)解决重复性的功能测试…...
网络安全:设备原理与操作
设备型号概述 网络安全企业有哪些? 国外:思科,Juniper,惠普,3Com,。。。。 国内:华为,中性,锐捷,蓝盾,绿盟,山石网科,36…...
pytorch中nn.Conv2d详解及参数设置原则
文章目录 基础参数1. in_channels (输入通道数)2. out_channels (输出通道数)3. kernel_size (卷积核大小)4. stride (步幅)5. padding (填充)6. dilation (膨胀)7. groups (分组卷积)8. bias (偏置) 如何设置参数?1. **in_channels 和 out_channels(输入…...
select下拉框,首次进入页面没有显示value的情况
bug场景: 类似这种bug情况排查如下: 首先 理解含义 options就是存放键值对的,id就是key,对上了它就自动把label显示 而且如果你用来当作key和label的字段,与后端返回的不一致,还可以进行更改 其次 排查接…...
接口项目操作图-thinkphp6-rabbitmq
一、用户开户流程 用户首次需要联系商务开通账户,需要提供手机号及来访问的IP。开好户之后,平台方将提供用户访问的key值及header头部参数的公钥加密文件、body访问参数以及返回数据的公私钥加解密文件。 二、用户请求流程 用户将拿到的key值进行rsa公钥…...
thinkphp6.0常用设计模式实例
单例模式 (Singleton) 场景:确保一个类只有一个实例,并提供一个全局访问点。 实际业务:数据库连接、日志记录器、配置管理等。 ThinkPHP 6.0 实现: namespace app\common;class DatabaseConnection {private static $instance …...
微服务保护——Sentinel
什么是微服务保护? 微服务保护是一系列用于保障微服务架构稳定、可靠运行的策略与技术手段,在复杂的分布式微服务系统里,它能避免局部故障引发连锁反应,从而维持整个系统的可用性,主要涵盖以下几个关键部分:…...
php 多进程那点事,用 swoole 如何解决呢 ?
在 PHP 中,多进程的处理通常会遇到一些挑战,比如资源共享、进程间通信、性能优化等。Swoole 是一个高性能的协程和多进程框架,旨在为 PHP 提供异步、并发、协程等功能,解决了传统 PHP 环境中的多进程管理问题。通过使用 Swoole&am…...
STM32+ADC+DMA快速循环转换
测试平台:STM32F405RGT6 uint32_t AD_Buf[100]{0}; HAL_ADC_Start_DMA(&hadc2,(uint32_t *)AD_Buf,100); while(1) {printf("AD_Buf:%d\n",AD_Buf[0]); }...
移动电商的崛起与革新:以开源AI智能名片2+1链动模式S2B2C商城小程序为例的深度剖析
摘要:本文旨在探讨移动电商的崛起背景、特点及其对传统电商模式的革新影响,并以开源AI智能名片21链动模式S2B2C商城小程序为具体案例,深入分析其在移动电商领域的创新实践。随着移动互联网技术的飞速发展,移动电商已成为电商行业的…...
QT实现 端口扫描暂停和继续功能 3
上篇QT给端口扫描工程增加线程2-CSDN博客 为按钮pushButton_Stop添加clicked事件,功能为暂停扫描,并在暂停后显示继续按钮,点击继续按钮之后继续扫描 1.更新UI 添加继续按钮 点击转到槽则会自动声明 2. 更新 MainWindow.h 需要新增的部分…...
C_字符数组存储汉字字符串及其索引
字符串就是字符数组,可以定义一个char类型的数组来存储字符串。 如果要存储多个字符串则可以定义一个char类型的二维数组。 存储多个汉字字符串的话,可以考虑用char类型的二维数组。 不过要注意,一个汉字在内存中占用的字节数确实大于一个…...
Linux标准IOday1
1:思维导图 2:将 student.c这个练习题,改成链表后实现 头文件link.h #ifndef __STRUCT_H__ #define __STRUCT_H__ #include <stdio.h> #include <stdlib.h> typedef struct Student{char name[20];double math;double chinese;double english;double…...
SEO内容优化:如何通过用户需求赢得搜索引擎青睐?
在谷歌SEO优化中,内容一直是最重要的因素之一。但要想让内容真正发挥作用,关键在于满足用户需求,而不是简单地堆砌关键词。谷歌的算法越来越智能化,更注重用户体验和内容的实用性。 了解目标用户的需求。通过工具如Google Trends…...
API调用淘宝京东商品详情接口示例参考,json格式数据示例
以下是API调用淘宝和京东商品详情接口的JSON格式数据示例: 淘宝商品详情接口JSON数据示例 淘宝商品详情接口(通常称为item_get或类似的名称)是淘宝开放平台提供的一个API接口,允许开发者根据商品的ID(Item ID&#x…...
css实现垂直文本
效果 知识 writing-mode: <value>; 可选值 horizontal-tb: 默认值。文本从左到右(或从右到左)排列,然后从上到下。vertical-rl: 文本从上到下排列,然后从右到左。适用于垂直书写的方向,如日语和中文。vertica…...
【AI日记】25.01.07
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 AI 参加:kaggle 比赛 Forecasting Sticker Sales 读书 书名:国家为什么会失败阅读原因:2024 年诺贝尔经济学奖得主的力作,之前我已经读过他另一…...
logback日志
一、使用两个以上spring环境变量做三目操作 <springProperty name"application_name" scope"context" source"spring.application.name"/><springProperty name"trace_app_name" scope"context" source"sprin…...
Android NDK开发入门3之基本语法
JNI语法基础 函数生成语法: extern “ C” 作⽤:避免编绎器按照C的⽅式去编绎C函数 1、C不⽀持函数的重载,编译之后函数名不变; 2、C⽀持函数的重载(这点与Java⼀致),编译之后函数名会改变…...
unity学习9:unity的Asset 导入和导出
目录 1 Assets 资产/资源 1.1 编辑器里Assets 和explorer文件夹 里一一对应 1.2 在编辑器里操作,和文件夹内操作,多数相同还是有些不同 2 往Assets里导入零散文件 2.1 往Assets里导入零散文件 2.2 把fbx文件导入到hierarcy /scene 里,…...
Unity学习笔记(七)使用状态机重构角色攻击
前言 本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记 攻击状态重构 首先我们重构攻击状态的动画 之前的动画,我们是使用状态(isAttacking)攻击次数(comboCounter)完成动画的过渡,这样虽然能完成功能,但是如…...
【整理集合大全】MySQL(4) 数据库增删改查SQL语句
查看数据库 show databases; 使用数据库 use 数据库名;创建数据库 CREATE DATABASE 数据库名;删除数据库 DROP DATABASE 数据库名;创建表 create table 表名(列名1 类型(长度) [约束],列名2 类型(长度) [约束],…… );长度区别 int类型带长度:不影响存取值&…...
Flutter 鸿蒙化 flutter和鸿蒙next混和渲染
前言导读 这一个节课我们讲一下PlatformView的是使用 我们在实战中有可能出现了在鸿蒙next只加载一部分Flutter的情况 我们今天就讲一下这种情况具体实现要使用到我们的PlatformView 效果图 具体实现: 一、Native侧 使用 DevEco Studio工具打开 platform_view_example\oho…...
Flask返回浏览器无乱码方法
# -*- coding: utf-8 -*- from flask import Flask, request, jsonify, Response import os import json import re from datetime import datetime import logging import sys import crawling_web_knowledgeapp Flask(__name__)app.json.ensure_ascii False # 解决中文乱码…...
Tauri教程-基础篇-第二节 Tauri的核心概念下篇
“如果结果不如你所愿,就在尘埃落定前奋力一搏。”——《夏目友人帐》 “有些事不是看到了希望才去坚持,而是因为坚持才会看到希望。”——《十宗罪》 “维持现状意味着空耗你的努力和生命。”——纪伯伦 Tauri 技术教程 * 第四章 Tauri的基础教程 第二节…...
直播预告|StarRocks 3.4,打造 AI 时代的智能数据基座,应用场景全面扩展
随着新年的到来,StarRocks 3.4 即将上线,为 AI Workload 和更多应用场景提供强大支持!此次升级聚焦于提升 AI 场景支持,并扩展更多应用场景,全方位提升数据分析体验。 更强的 AI 场景支持: 引入 Vector In…...
Maven的基本使用
Maven apache 旗下的开源项目,是一款用于管理构建Java的项目的工具 一 作用 1依赖管理:管理jar包,避免依赖冲突 2统一项目结构 : 3项目构建: 二 安装 下面是全球唯一的中央仓库 https://repo1.maven.org/maven2…...
【深度学习入门_基础篇】线性代数本质
开坑本部分主要为基础知识复习,新开坑中,学习记录自用。 学习目标: 熟悉向量、线性组合、线性变换、基变换、矩阵运算、逆函数、秩、列空间、零空间、范式、特征指、特征向量等含义与应用。 强烈推荐此视频: 【官方双语/合集】…...
数据库模型全解析:从文档存储到搜索引擎
目录 前言1. 文档存储(Document Store)1.1 概念与特点1.2 典型应用1.3 代表性数据库 2. 图数据库(Graph DBMS)2.1 概念与特点2.2 典型应用2.3 代表性数据库 3. 原生 XML 数据库(Native XML DBMS)3.1 概念与…...
LED背光驱动芯片RT9293应用电路
一)简介: RT9293 是一款高频、异步的 Boost 升压型 LED 定电流驱动控制器,其工作原理如下: 1)基本电路结构及原理 RT9293的主要功能为上图的Q1. Boost 电路核心原理:基于电感和电容的特性实现升压功能。当…...
Ubuntu挂载云盘操作步骤
1. 查看磁盘分区情况 使用 fdisk -l 命令查看当前系统中所有磁盘的分区情况,找到需要挂载的云盘设备,例如/dev/vdc。 2. 创建新分区 使用 fdisk /dev/vdc 命令对云盘进行分区操作: 输入n创建新分区。 输入p选择创建主分区。 输入1指定分区…...