A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用
A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用
- 1 CAN通用驱动程序所有函数预览
- 1.1 HAL_CAN_Init
- 1.2 HAL_CAN_ConfigFilter
- 1.3 HAL_CAN_DeInit
- 1.4 HAL_CAN_MspInit
- 1.5 HAL_CAN_MspDeInit
- 1.6 HAL_CAN_Transmit
- 1.7 HAL_CAN_Transmit_IT
- 1.8 HAL_CAN_Receive
- 1.9 HAL_CAN_Receive_IT
- 1.10 HAL_CAN_Sleep
- 1.11 HAL_CAN_WakeUp
- 1.12 HAL_CAN_IRQHandler
- 1.13 HAL_CAN_TxCpltCallback
- 1.14 HAL_CAN_RxCpltCallback
- 1.15 HAL_CAN_ErrorCallback
- 1.16 HAL_CAN_GetState
- 1.17 HAL_CAN_GetError
- 该文档修改记录:
- 总结
1 CAN通用驱动程序所有函数预览
| 序号 | 函数名 | 描述 |
|---|---|---|
| 1 | HAL_CAN_Init() | 初始化CAN外设。 |
| 2 | HAL_CAN_ConfigFilter() | 配置CAN过滤器。 |
| 3 | HAL_CAN_DeInit() | 反初始化CAN外设。 |
| 4 | HAL_CAN_MspInit() | 初始化MCU外设相关的CAN引脚或资源。 |
| 5 | HAL_CAN_MspDeInit() | 反初始化MCU外设相关的CAN引脚或资源。 |
| 6 | HAL_CAN_Transmit() | 同步发送CAN消息。 |
| 7 | HAL_CAN_Transmit_IT() | 异步发送CAN消息,使用中断处理发送完成。 |
| 8 | HAL_CAN_Receive() | 同步接收CAN消息。 |
| 9 | HAL_CAN_Receive_IT() | 异步接收CAN消息,使用中断处理接收完成。 |
| 10 | HAL_CAN_Sleep() | 进入CAN休眠模式。 |
| 11 | HAL_CAN_WakeUp() | 唤醒CAN设备。 |
| 12 | HAL_CAN_IRQHandler() | CAN中断处理程序。 |
| 13 | HAL_CAN_TxCpltCallback() | CAN发送完成回调函数。 |
| 14 | HAL_CAN_RxCpltCallback() | CAN接收完成回调函数。 |
| 15 | HAL_CAN_ErrorCallback() | CAN错误回调函数。 |
| 16 | HAL_CAN_GetState() | 获取CAN状态。 |
| 17 | HAL_CAN_GetError() | 获取CAN错误状态。 |
使用模板:
#include "stm32f4xx_hal.h"int main(void) {// HAL初始化HAL_Init();// 初始化MCU外设相关的引脚或资源HAL_MspInit();// 初始化CAN外设HAL_CAN_Init();// 配置CAN过滤器HAL_CAN_ConfigFilter();// 启动CAN设备// 进行其他操作...// 发送CAN消息HAL_CAN_Transmit();// 异步发送CAN消息HAL_CAN_Transmit_IT();// 接收CAN消息HAL_CAN_Receive();// 异步接收CAN消息HAL_CAN_Receive_IT();// 进入CAN休眠模式HAL_CAN_Sleep();// 唤醒CAN设备HAL_CAN_WakeUp();// 获取CAN状态uint32_t canState = HAL_CAN_GetState();// 获取CAN错误状态uint32_t canError = HAL_CAN_GetError();// 反初始化CAN外设HAL_CAN_DeInit();// 反初始化MCU外设相关的引脚或资源HAL_MspDeInit();return 0;
}
1.1 HAL_CAN_Init
| 函数名 | HAL_CAN_Init |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef* hcan) |
| 功能描述 | 初始化 CAN 控制器 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:初始化结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.2 HAL_CAN_ConfigFilter
| 函数名 | HAL_CAN_ConfigFilter |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef* hcan, CAN_FilterTypeDef* sFilter) |
| 功能描述 | 配置 CAN 过滤器 |
| 输入参数 1 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输入参数 2 | sFilter:CAN 过滤器配置结构体,包含过滤器编号、模式、掩码等信息 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:配置结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.3 HAL_CAN_DeInit
| 函数名 | HAL_CAN_DeInit |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef* hcan) |
| 功能描述 | 反初始化 CAN 控制器 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:反初始化结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.4 HAL_CAN_MspInit
| 函数名 | HAL_CAN_MspInit |
|---|---|
| 函数原形 | void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan) |
| 功能描述 | CAN 外设底层初始化,典型的用途是配置外设的时钟和引脚 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.5 HAL_CAN_MspDeInit
| 函数名 | HAL_CAN_MspDeInit |
|---|---|
| 函数原形 | void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan) |
| 功能描述 | CAN 外设底层反初始化,典型的用途是恢复外设的默认配置 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.6 HAL_CAN_Transmit
| 函数名 | HAL_CAN_Transmit |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_Transmit(CAN_HandleTypeDef* hcan, uint32_t Timeout) |
| 功能描述 | 启动 CAN 数据传输 |
| 输入参数 1 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输入参数 2 | Timeout:传输超时时间,单位为毫秒 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:传输结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.7 HAL_CAN_Transmit_IT
| 函数名 | HAL_CAN_Transmit_IT |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_Transmit_IT(CAN_HandleTypeDef* hcan) |
| 功能描述 | 以中断方式启动 CAN 数据传输 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:传输结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.8 HAL_CAN_Receive
| 函数名 | HAL_CAN_Receive |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_Receive(CAN_HandleTypeDef* hcan, uint8_t FIFONumber, uint32_t Timeout) |
| 功能描述 | 接收 CAN 数据 |
| 输入参数 1 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输入参数 2 | FIFONumber:FIFO 编号,可以是 CAN_FIFO0 或 CAN_FIFO1 |
| 输入参数 3 | Timeout:接收超时时间,单位为毫秒 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:接收结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.9 HAL_CAN_Receive_IT
| 函数名 | HAL_CAN_Receive_IT |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_Receive_IT(CAN_HandleTypeDef* hcan, uint8_t FIFONumber) |
| 功能描述 | 以中断方式启动 CAN 数据接收 |
| 输入参数 1 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输入参数 2 | FIFONumber:FIFO 编号,可以是 CAN_FIFO0 或 CAN_FIFO1 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:接收结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.10 HAL_CAN_Sleep
| 函数名 | HAL_CAN_Sleep |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_Sleep(CAN_HandleTypeDef* hcan) |
| 功能描述 | 进入 CAN 休眠模式 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:操作结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.11 HAL_CAN_WakeUp
| 函数名 | HAL_CAN_WakeUp |
|---|---|
| 函数原形 | HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef* hcan) |
| 功能描述 | 唤醒 CAN 控制器 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:操作结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.12 HAL_CAN_IRQHandler
| 函数名 | HAL_CAN_IRQHandler |
|---|---|
| 函数原形 | void HAL_CAN_IRQHandler(CAN_HandleTypeDef* hcan) |
| 功能描述 | CAN 中断处理函数 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.13 HAL_CAN_TxCpltCallback
| 函数名 | HAL_CAN_TxCpltCallback |
|---|---|
| 函数原形 | void HAL_CAN_TxCpltCallback(CAN_HandleTypeDef* hcan) |
| 功能描述 | CAN 数据传输完成回调函数 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.14 HAL_CAN_RxCpltCallback
| 函数名 | HAL_CAN_RxCpltCallback |
|---|---|
| 函数原形 | void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef* hcan) |
| 功能描述 | CAN 数据接收完成回调函数 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.15 HAL_CAN_ErrorCallback
| 函数名 | HAL_CAN_ErrorCallback |
|---|---|
| 函数原形 | void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan) |
| 功能描述 | CAN 错误处理回调函数 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.16 HAL_CAN_GetState
| 函数名 | HAL_CAN_GetState |
|---|---|
| 函数原形 | uint32_t HAL_CAN_GetState(CAN_HandleTypeDef* hcan) |
| 功能描述 | 获取 CAN 控制器状态 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | uint32_t:CAN 控制器状态,可能的值有: |
- HAL_CAN_STATE_READY:就绪状态- HAL_CAN_STATE_BUSY:忙碌状态- HAL_CAN_STATE_BUSY_TX:忙碌发送状态- HAL_CAN_STATE_BUSY_RX:忙碌接收状态- HAL_CAN_STATE_BUSY_TX_RX:忙碌发送接收状态- HAL_CAN_STATE_TIMEOUT:超时状态- HAL_CAN_STATE_ERROR:错误状态 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.17 HAL_CAN_GetError
| 函数名 | HAL_CAN_GetError |
|---|---|
| 函数原形 | uint32_t HAL_CAN_GetError(CAN_HandleTypeDef* hcan) |
| 功能描述 | 获取 CAN 错误状态 |
| 输入参数 | hcan:CAN 句柄,指向一个 CAN_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | uint32_t:CAN 错误状态,可能的值有: |
- HAL_CAN_ERROR_NONE:无错误- HAL_CAN_ERROR_EWG:错误警告- HAL_CAN_ERROR_EPV:误差传动器警告- HAL_CAN_ERROR_BOF:总线关闭错误- HAL_CAN_ERROR_LEC:最后的错误代码- HAL_CAN_ERROR_SOF:起始帧错误- HAL_CAN_ERROR_ACK:确认错误- HAL_CAN_ERROR_BR:位错误- HAL_CAN_ERROR_BD:数据错误 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
该文档修改记录:
| 修改时间 | 修改说明 |
|---|---|
| 2024年4月8日 | 第一次发布,介绍了 A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用 |
总结
以上就是A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。
相关文章:
A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用
A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用 1 CAN通用驱动程序所有函数预览1.1 HAL_CAN_Init1.2 HAL_CAN_ConfigFilter1.3 HAL_CAN_DeInit1.4 HAL_CAN_MspInit1.5 HAL_CAN_MspDeInit1.6 HAL_CAN_Transmit1.7 HAL_CAN_Transmit_IT1.8 HAL_CAN_Receive1.9 HAL_C…...
python如何判断图片为黑白还是彩色
基本原理 灰度图分两种情况: 单通道的图片 RGB 三通道的图片,但是每个通道的值相等 对于单通道的图片只需要判断图片的通道值是否为1 对于RGB模式的图片,情况稍稍复杂些。理论上只需判断RGB三个通道的值是否相等,但是现实中灰度…...
C语言进阶课程学习记录-main函数与命令行参数
C语言进阶课程学习记录-main函数与命令行参数 main函数验证以下4中定义是否正确实验-main的返回值cmd窗口 实验-main的输入参数cmd窗口 在main函数执其执行的函数实验-程序执行的第一个函数gcc编译器cmd窗口bcc编译器 小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&…...
Utilize webcam to capture photo with camera
1. Official Guide& my github Official course my github 2. Overcome Webcam js Error in Chrome: Could not access webcam link 直接把代码拷贝到本机的下述目录下 To ignore Chrome’s secure origin policy, follow these steps. Navigate to chrome://flags/#un…...
【uniapp】开发微信小程序 — 注意事项
底部导航栏 (tabBar) 图标的正确做法: 1、图片的标准尺寸为 81px * 81px,该尺寸在官方的文档中有明确的说明,可以参考微信小程序全局配置文档中对 iconPath 属性的说明。 2、为了保持良好的间距,图片的内容区域设置 60px* 比较好&…...
the python tutorial
Using the Python Interpreter Using Python as a Calculator To do floor division and get an integer result you can use the // operator Problem Solving with Algorithms and Data Structures using Python 首先将其拉到本地? 按照craft的方式走一遍&…...
AIoT人工智能物联网之AI 实战
1. jetson-inference 入门 jetson-inference是官方推出的体验套件,提供了三种最常见的AI应用于计算机视觉的类型,imagenet用于 图像辨识 ( Image Recognition )、detectNet用于对象辨识 ( Object Detection )、segNet用于语义分割 可以先使用windows下载 jetson-inference(因…...
Python 大麦抢票脚本
请注意,编写或使用抢票脚本可能违反相关网站的服务条款和法律法规。以下内容仅供学习和了解技术原理之用,不鼓励或支持任何违反规定的行为。 在Python中编写大麦网抢票脚本通常涉及以下几个步骤: ### 1. 分析网站结构 - 使用浏览器的开发者…...
前端开发攻略---用JavaScript打造炫酷数字变化动画效果:手写实现你的自定义动画函数!支持更改任意数字、动画速度
1、演示 2、介绍 这篇文章将向您展示如何使用JavaScript来创建一个自定义的动画函数,以实现数字变化效果。我们将深入了解前端动画的本质,并通过手写代码来实现这个炫酷的数字变化动画效果。您将学到如何利用JavaScript来操作DOM元素,控制动画…...
【学习】移动端兼容性测试有什么方法及重要性
随着移动互联网的快速发展,移动应用程序已经成为人们日常生活中不可或缺的一部分。然而,由于各种移动设备的硬件和软件差异,移动应用程序的兼容性问题也越来越突出。因此,移动端兼容性测试成为了一个重要的环节,它可以…...
记录linux从0部署java项目(宝塔)
目录 一、安装宝塔可视化界面 二、部署前端 三、部署后端 1、配置并连接Mysql数据库 2、配置并连接redis 3、安装jdk 这里先记录一个安装后遇到的问题 安装openJDK 四、检查 一、安装宝塔可视化界面 宝塔面板下载,免费全能的服务器运维软件 运行安装脚本 安…...
Python的时间和日期:探索datetime模块
🚀 个人主页:xmp65535 🚀 专栏:python技术专栏 目录 一、前言 二、datetime 模块简介 三、基本使用 1.日期和时间的创建 2.获取当前日期和时间 3.时间戳与日期时间之间的转换 4.时间运算 5.格式化日期和时间 6.解析字符串…...
代理与反向代理
Java项目的代理与反向代理 1. 代理 定位:为客户端服务通信方向:客户端->代理服务器->远程服务器好处:对客户端行为进行过滤和控制;隐藏客户端IP地址;审计流量;缓存资源加快访问速度; 2…...
长风破浪会有时,直挂云帆济沧海
仅以此篇记录生活琐事,因为自己在初中就天天写日记,到了大学自己写日记的次数逐渐少了下来。 最近心不在焉,不知道为啥,也许是因为压力吧。在我这个年龄阶段的压力也许不一样吧,过几天又要参加自考的考试,自…...
jAavascript基础积累
深拷贝与浅拷贝 深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是在编程中常用的概念,它们指的是复制对象或数组时的不同方式。让我们来详细解释它们,并列举一些例子: 浅拷贝(Shallow C…...
神经网络训练中batch的作用
在神经网络训练中,batch的作用主要包括以下几个方面: 减少内存占用和计算成本:在训练神经网络时,需要加载并处理大量的数据。使用batch训练可以将数据分成较小的批次,每次处理一小部分数据,从而减少内存占用…...
【grpc】grpc进阶一,再回首protobuf
在之前的章节里,我们了解了 protobuf 的基本规则和使用方法,生成了 grpc 代码并成功运行。那么我们还要思考一个问题,protobuf 文件到底该如何管理。我们知道 grpc 是区分客户端和服务端的,一般而言,客户端和服务端是分…...
iframe嵌入Vue页面实现免登方法
简介:实现一个功能需要使用iframe嵌入其它系统内部的一个页面,但嵌入后出现一个问题,就是一打开这个页面就会自动跳转到登录页,原因是被嵌入系统没有登录(没有token)肯定不让访问内部页面的,本文就是解决这个问题的。 …...
详解TCP/IP五层模型
目录 一、什么是TCP五层模型? 二、TCP五层模型的详细内容 1. 应用层 2. 传输层 3. 网络层 4. 数据链路层 5. 物理层 三、网络设备所在分层 封装和分⽤ 三、Java示例 引言: 在网络通信中,TCP/IP协议是至关重要的。为了更好地理解TCP协议的工…...
开创加密资产新纪元:深度解析ERC-314协议
随着加密资产市场的不断发展和区块链技术的日益成熟,新的协议和标准不断涌现,其中包括了ERC-314协议。本文将深入分析ERC-314协议的特点、功能以及对加密资产市场可能产生的影响。 1. ERC-314协议简介 ERC-314协议是一项建立在以太坊区块链上的新提案&a…...
SpringBoot3 + JetCache实战:如何用两级缓存把接口性能提升10倍?
SpringBoot3 JetCache实战:高并发场景下的缓存架构设计与性能优化 在电商秒杀、实时数据查询等高并发场景中,传统数据库直接承受流量冲击往往会导致系统崩溃。去年双十一期间,某头部电商平台通过多级缓存架构成功扛住了每秒百万级的查询请求…...
3分钟搞定Mac外接显示器控制:MonitorControl完全指南
3分钟搞定Mac外接显示器控制:MonitorControl完全指南 【免费下载链接】MonitorControl MonitorControl/MonitorControl: MonitorControl 是一款开源的Mac应用程序,允许用户直接控制外部显示器的亮度、对比度和其他设置,而无需依赖原厂提供的软…...
3步实现Windows系统极致优化:Win11Debloat专业指南
3步实现Windows系统极致优化:Win11Debloat专业指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改善…...
财务效率革命:printPDF免费电子发票批量打印工具深度解析
在当今数字化办公的时代背景下,财务、报销、税务等岗位的日常工作中,电子发票处理已成为不可忽视的重要环节。每月数百甚至上千张的电子发票,一张张手动打开、设置、打印的传统操作模式,不仅耗时耗力,效率低下…...
大厂速报:小红书期权涨麻,字节年终暴击,AI赛道卷疯了
互联网圈没有岁月静好,只有暗潮涌动——大厂裁员传闻从未断档,AI内卷卷到凌晨三点,打工人一边焦虑KPI,一边蹲守大厂福利,有人靠期权实现财富跃迁,有人被组织调整撞个正着。一、核心福利|打工人狂…...
AT25SF041 SPI Flash驱动设计与嵌入式可靠性实践
1. AT25SF041 SPI Flash 存储器驱动深度解析AT25SF041 是由 Adesto(现为 Dialog Semiconductor)推出的 4 Mbit(512 KB)串行 NOR Flash 存储器,采用标准四线 SPI 接口(CLK、CS#、DI、DO)…...
translategemma-27b-it入门必看:Gemma3轻量化设计如何平衡精度与推理速度
translategemma-27b-it入门必看:Gemma3轻量化设计如何平衡精度与推理速度 本文深度解析基于Gemma 3构建的TranslateGemma-27B-IT模型,通过实际部署演示展示其如何在保持翻译精度的同时实现高效推理,为开发者提供完整的入门指南。 1. 认识Tran…...
SpringBoot+Vue实战:手把手教你搭建社区居民健康档案管理系统(附完整源码)
SpringBootVue实战:从零构建社区居民健康档案管理系统 在数字化转型浪潮下,社区卫生服务正经历着从纸质档案到智能化管理的转变。对于Java开发者而言,这不仅是技术练兵的好机会,更是解决实际社会需求的切入点。本文将带你用Spring…...
基于MATLAB的平移线扫激光三维重建完整方案与代码实现
现整理了一套完整的,平移线扫重建 matlab代码和方案,包含相机标定、光平面标定与方案、移动装置标定与方案、激光线条中心线自适应提取、畸变矫正、三维重建、点云滤波等部分,代码按模块编写,注释完整,附带一份完整苹果…...
从零开始手搓一个xv6内核页表:跟着MIT 6.S081源码一步步理解虚拟内存初始化
从零构建xv6内核页表:深入解析RISC-V虚拟内存初始化实战 在MIT 6.S081操作系统的学习过程中,xv6作为教学用精简内核,其虚拟内存实现是理解现代计算机内存管理的关键。本文将带您从第一行代码开始,完整复现xv6内核页表的构建过程&…...
