babyos 学习记录

news2024/11/15 21:55:20

宏定义+头文件

将一个宏定义取不同的数据到不同的数组中;
在这里插入图片描述

侵入式链表

struct list_head
{
struct list_head *next, *prev;
};
// 添加(list_add_tail/list_add)、删除、查找
xx.h

// 定义一个用于链表管理的结构体
typedef sturct{
xxx
xxx
list head list;
}myEntry

xx.c
//模块管理整个链表的链表头
static LIST_HEAD(mylistHead);

//遍历链表
list_for_each(pList, &mylistHead)
{
//根据list head指针找到该结构体实例的指针
pmyEntry= list_entry(pList, myList, list);
}
//
list_add(&attr->list, &bHalUartListHead);

设备与驱动

参考
在这里插入图片描述

通用设备接口

将设备抽象成文件,对设备的操作就是对文件操作:open close ctl
在这里插入图片描述
在这里插入图片描述

  • 设备名字:设备的“序号”-用于遍历,
    在这里插入图片描述
    在这里插入图片描述

  • 设备序号:从当前已经支持的驱动文件中

设备代码b_drv_key.c

由Kconfg生成_config 下的b_hal_if.h文件,配置好驱动与MCU管脚的映射,注意名称 KEY

在这里插入图片描述

在对应的驱动模块中生成,对应的设备驱动实例

GPIO的通用硬件接口描述
在这里插入图片描述

设备的硬件接口表:
bDRIVER_HALIF_TABLE(bKEY_HalIf_t, DRIVER_NAME);
在这里插入图片描述

const static bKEY_HalIf_t bHalIf_KEY[] = {{B_HAL_GPIOC, B_HAL_PIN4, 0}, {B_HAL_GPIOB, B_HAL_PIN10, 0}, {B_HAL_GPIOC, B_HAL_PIN13, 0}, { B_HAL_GPIOA, B_HAL_PIN0, 0 }}

在这里插入图片描述

设备初始化时初始化硬件接口,多个硬件接口用数组的形式

在这里插入图片描述
在配置硬件接口的 通用操作方式;
在这里插入图片描述

驱动接口

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1549376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搜维尔科技:【应急演练】【工业仿真】救援模拟演练可视化仿真项目实施

安全救援综合演练系统是一套面向公共安全事故、预案管理、应急救援模拟演练的虚拟仿真解决方案,它为警察、消防以及专门的应急救援保障部门提供一个综合的应急救援培训和仿真演练平台。平台主要通过设计不同的事故模型和特定的灾难场景,定制不同的应急救…

跨站脚本攻击

跨站脚本攻击又称XSS攻击,是代码注入攻击的一种。利用XSS漏洞,攻击者可以窃取Cookies或劫持会话,或注入恶意 HTML 或 JavaScript 代码到页面中,又或者将当前页面重定向至一个攻击者搭建的恶意网站。XSS漏洞的产生多是因为网站开发…

全国草地资源类型分布图

草地出现在世界各地,约占全球陆地面积的24%,大多分布于大陆内部气候干燥、降水较少的地区,其中澳大利亚、俄罗斯、中国、美国和巴西等国面积较大。中国草地面积约占国土面积的40%,主要分布在内蒙古、东北、西北和青藏高原&#xf…

前端学习之JavaScript有关字符串的一些方法

&#xff08;注释是对各个方法的一些解释&#xff09; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>字符串</title> </head> <body><script>let str1 test1let str2 n…

nvidia-smi参数信息

nvidia-smi参数信息 如图所示

组织机构代码是哪9位在那里怎么查询?

全国组织机构代码由八位数字&#xff08;或大写拉丁字母&#xff09;本体代码和一位数字&#xff08;或大写拉丁字母&#xff09;校验码&#xff0c;共9位组成&#xff1b; 组织机构代码在哪里怎么查询&#xff1f; 1、打开「词令」小程序&#xff1b; 2、打开词令小程序后&a…

数据结构之单链表的详细实现(图解)

前言 本次博客讲结合图例讲解单向不带头非循环链表 此后会讲解一些题目 1单链表的实现 1.1什么是单链表 我们先看数组&#xff0c;即顺序表的是什么样的&#xff0c;再看链表 1.2单链表的特点 实际中要实现的链表的结构非常多样&#xff0c;以下情况组合起来就有8种链表结…

Avalonia笔记2 -数据集合类控件

学习笔记&#xff1a; 1. DataGrid 笔记1中已经记录&#xff1b; 2. ItemsControl 属性&#xff1a; ItemsSource&#xff1a;数据源 ItemsControl.ItemTemplate&#xff1a;单项数据模板&#xff0c;内部使用<DataTemplate> 示例&#xff1a; <ItemsContr…

html页面使用@for(){},@if(){},利用jquery 获取当前class在列表中的下标

基于以前的项目进行修改优化&#xff0c;前端代码根据List元素在html里进行遍历显示 原先的代码&#xff1a; 其中&#xff0c;noticeGuide.Id是标识noticeGuide的唯一值&#xff0c;但是不是从0开始的【是数据库自增字段】 但是在页面初始化加载的时候&#xff0c;我们只想…

程序员35岁的职业困惑及应对之道

35岁,对许多程序员来说,是一个职业生涯的重要分水岭。在这个年龄,一些人开始感到迷茫和焦虑,担心自己的技能已经落后,难以跟上日新月异的技术变革。而另一些人则充满信心,认为多年来积累的丰富经验和扎实的技术功底,将助力他们在未来的职业道路上取得新的飞跃。 无疑,在AI、自…

Transformer的前世今生 day09(Transformer的框架概述)

前情提要 编码器-解码器结构 如果将一个模型分为两块&#xff1a;编码器和解码器那么编码器-解码器结构为&#xff1a;编码器负责处理输入&#xff0c;解码器负责生成输出流程&#xff1a;我们先将输入送入编码器层&#xff0c;得到一个中间状态state&#xff0c;并送入解码器…

11.Notepad++

文章目录 一、下载和安装设置练习 以前在记事本上写的代码看上去有点累&#xff0c;因为所有的单词看上去都是黑色的&#xff0c;并且当代码出现问题后&#xff0c;它提示第三行&#xff0c;我们还需要一行一行去数。这些问题都可以由一个高级记事本&#xff1a; Notepad 来解…

书生浦语大模型实战营第一课笔记

书生浦语大模型全链路开源体系 课程笔记大模型的发展趋势InternLM2的主要亮点模型到应用的典型流程全链路的开源工具 InternLM2技术报告笔记大型语言模型的发展InternEvoModel Structure训练数据 课程笔记 第一节课主要对大模型进行介绍&#xff0c;特别是书生浦语大模型的发展…

嵌入式学习46——硬件相关2串口通信

串口&#xff1a; 端口&#xff1a; COM 波特率&#xff1a; 9600 115200 &#xff08;bps&#xff09; 每秒传输的数据…

Qt开发(2)——在已有VS项目中配置Qt

在之前的Qt开发学习中&#xff0c;基本都是在Qt Creator中创建一个Qt项目&#xff0c;或者即便是在VS中也是直接新建一个Qt项目。但很少有记录如何在已有的C项目中添加Qt,这就好比我有个项目已经开发完了&#xff0c;现在又说加个Qt界面的功能。这篇文章就是记录如何在已有项目…

Unity3d C#转换微信小游戏 Dotween插件在苹果(IOS)设备中异常问题高性能模式修复

问题 使用minigame-unity-webgl-transform插件转换微信小游戏&#xff0c;功能在安卓和开发工具上都能正常&#xff0c;不过使用Dotween(版本DOTweenPro v1.0.244)插件实现的功能在苹果系统中却都不能正常对比如下&#xff1a; 云移动正常&#xff1a; 云移动IOS异常&#x…

远程监控电脑软件下载安装

员工随意下载和安装软件的行为&#xff0c;往往会给企业带来潜在的安全风险和管理难题。 为了防止员工随意下载软件&#xff0c;企业有必要实施远程监控&#xff0c;记录员工电脑上软件的下载和安装情况。 在此之前&#xff0c;先要明确远程监控的目标和意义。 通过监控员工电…

【搞不明白】redis和mysql、mybatisplus有啥关系

一个解决三天的bug&#xff0c;到现在也没有搞明白&#xff0c;如题&#xff0c;到底redis和mysql、mybatisplus能有啥关系。三个不相关的嘛 记录下问题&#xff1a; (框架用的Jeecgboot 3.6.0) – 学习使用 看下面的一段代码&#xff0c;是一个分页查询&#xff1a;注意引用的…

151 shell编程,正则表达式,在C语言中如何使用正则表达式

零&#xff0c;坑点记录&#xff1a;bash 和 dash 的区别&#xff0c;导致的坑点 查看当前用的shell 是啥&#xff0c;用的是/bin/bash hunandedehunandede-virtual-machine:~$ echo $SHELL /bin/bash 当shell 脚本运行的时候&#xff08;后面会学到方法&#xff0c;这里是最…

深入理解React的setState机制

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…