嵌入式驱动学习

  • 时钟

    • 定义
      周期型的0、1信号
      时钟信号由“心脏”时钟源产生,通过“动脉”时钟树传播到整个芯片中。
      SYSCLK系统时钟,由HSI、HSE、PLLCLK三选一。
      HCLK是AHB总线时钟, PCLK是APB总线时钟。
      使用某个外设,必须要先使能该外设时钟
    • 系统时钟配置
      在这里插入图片描述
    • 作用
      1. 实现芯片里电路同步。 寄存器在时钟上升沿时,把最终运算结果写入寄存器,即把寄存器输入端(值稳定)传给输出端。串口需要固定的波特率通信,IIC需要时钟线。
      2. 决定数字电路的运行速度
    • 时钟源
      1. 晶振(HSE高速外部时钟),使用PLL(锁相环)倍频
      2. RC 振荡电路(HSI高速内部时钟),精度相对较差
  • 寄存器
    寄存器是特殊的存储器,可以实现对单片机各个功能的控制。寄存器就是单片机内部的控制机构。

  • APB总线协议
    APB 看成一种“线”,这种线是来连接两个设备,一个是master,一个是slave,所有数据传输都是master来控制,slave来回应。
    数据传输在PCLK时钟上升沿进行
    进行一次数据传输至少需要两个时钟周期

  • UART总线协议
    通信过程:
    交叉连接两台设备的TXD、RXD
    配置两台设备的波特率、停止位、奇偶校验位,保持一致
    发送数据,从起始位到结束位,整个数据包以串行的方式,从发送设备端送至接收设备端
    接受端以预配置的波特率 对数据线进行采样,
    接收设备采样的数据,首先会丢弃数据帧中的起始位、奇偶检验位和停止位,剩下的是有效数据位
    全双工通信
    缺点:异步通信*(无时钟线),和UDP类似,无法确保接收端收到数据

  • I2C总线协议
    使用示波器和逻辑分析仪调试
    用示波器观察总线上的波形是否有畸变
    用逻辑分析仪做数据解析。
    半双工通信

  • 中断

    • NVIC相关寄存器:
      • 中断使能寄存器,打开中断,每个位对应一个外部中断
      • 中断除能寄存器,关闭中断,每个位对应一个外部中断
    • EXTI相关寄存器
      • 中断屏蔽寄存器,位值为0表示屏蔽相应线上的中断请求,位值为1表示开放相应线上的中断请求
        清除
      • 请求挂起寄存器, 状态标记,可以用来清除状态。位值为0表示相应线上没有触发中断请求,位值为1表示相应线上触发请求。在中断处理函数中可以通过写入位值1来清除中断标记,把相应值变成0。
    • 使用中断
      在这里插入图片描述
  • 音频codec芯片
    Soc使用I2C协议读写codec芯片的寄存器,来配置codec芯片。 使用I2S协议传输音频数据。
    播放时,DMA的方向是内存到外设, 目的地址是I2S的数据寄存器,然后使用I2S协议把音频数据发送到codec芯片

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

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

相关文章

Java:从入门到精通,你的编程之旅

Java,一门历久弥新的编程语言,自诞生以来就以其跨平台性、面向对象、稳定性和安全性等特性,在企业级应用开发领域占据着举足轻重的地位。无论你是初学者还是经验丰富的开发者,Java 都能为你提供强大的工具和广阔的舞台。 为什么选…

Linux:深入理解数据链路层

实际上一台主机中,报文并没有通过网络层直接发送出去,而是交给了自己的下一层协议——数据链路层!! 一、理解数据链路层 网络层交付给链路层之前,会先做决策再行动(会先查一下路由表,看看目标网…

Python基本语法(类和实例)

类和实例 类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象是这个 类的实例,类使用class关键字创建。类的域和方法被列在一个缩进块中,一般函数 也可以被叫作方法。 (1)类的变量:甴一个类…

2025 年如何使用 Pycharm、Vscode 进行树莓派 Respberry Pi Pico 编程开发详细教程(更新中)

micropython 概述 micropython 官方网站:https://www.micropython.org/ 安装 Micropython 支持固件 树莓派 Pico 安装 Micropython 支持固件 下载地址:https://www.raspberrypi.com/documentation/microcontrollers/ 选择 MicroPython 下载 RPI_PIC…

flink rocksdb状态说明

文章目录 1.默认情况2.flink中的状态3.RocksDB4.对比情况5.使用6.RocksDB架构7.参考文章8.总结提示:以下主要考虑flink 状态永久存储 rocksdb情况,做一些简单说明 1.默认情况 当flink使用rocksdb存储状态时。无论是永久存储还是临时存储都可能会落盘写文件(如果没有配置存储…

安装SDL和FFmpeg

1、先记录SDL 这玩意还是有一点讲究的 具体步骤: 下载 SDL包: 链接:https://www.libsdl.org/release/SDL2-2.0.14.tar.gz 可以用迅雷,下载完之后, 解压: tar -zxvf SDL2-2.0.14.tar.gz进入安装目录 cd …

2022年408真题及答案

2022年计算机408真题 2022年计算机408答案 2022 408真题下载链接 2022 408答案下载链接

Spring AI聊天模型API:轻松构建智能聊天交互

Spring AI聊天模型API:轻松构建智能聊天交互 前言 在当今数字化时代,智能聊天功能已成为众多应用程序提升用户体验、增强交互性的关键要素。Spring AI的聊天模型API为开发者提供了一条便捷通道,能够将强大的AI驱动的聊天完成功能无缝集成到…

Softmax回归与单层感知机对比

(1) 输出形式 Softmax回归 输出是一个概率分布,通过Softmax函数将线性得分转换为概率: 其中 KK 是类别数,模型同时计算所有类别的概率。 单层感知机 输出是二分类的硬决策(如0/1或1): 无概率解释&#x…

【React】Hooks 解锁外部状态安全订阅 useSyncExternalStore 应用与最佳实践

一、背景 useSyncExternalStore 是 React 18 引入的一个 Hook;用于从外部存储(例如状态管理库、浏览器 API 等)获取状态并在组件中同步显示。这对于需要跟踪外部状态的应用非常有用。 二、场景 订阅外部 store 例如(redux,mobx,Zustand,jo…

Dify框架面试内容整理-如何评估基于Dify开发的AI应用的效果?

评估基于 Dify 开发的 AI 应用效果,需要从 用户体验、技术性能 与 业务价值 三个层面综合衡量。以下是详细的评估框架,涵盖三个关键点: 用户反馈与满意度

Linux 系统下VS Code python环境配置!

Anaconda安装: 在 Linux 系统中安装下载好的 Anaconda3-2024.10-1-Linux-x86_64.sh,可按以下步骤操作: 1. 赋予安装脚本执行权限 打开终端,切换到安装包所在目录(假设在 software 文件夹中),…

项目实战-基于信号处理与SVM机器学习的声音情感识别系统

目录 一.背景描述 二.理论部分 三.程序设计 编程思路 流程图 1.信号部分 创建数据 generate_samples.py 头文件 生成函数 generate_emotion_sample 传入参数 存储路径 生成参数 创建基础正弦波信号 调制基础正弦波 对于愤怒可以增加噪声 归一化信号 存储 主函…

虚幻引擎作者采访

1万小时编程_哔哩哔哩_bilibili https://www.youtube.com/watch?v477qF6QNSvc 提姆斯温尼是一位传奇性的视频游戏程序员,Epic Games 的创始人兼首席执行官。 该公司开发了虚幻引擎、堡垒之夜、战争机器、虚幻竞技场等许多开创性和有影响力的视频游戏。 他哥哥…

如何限制pod 进程/线程数量?

在 Kubernetes 中限制 Pod 的 进程数(PID 数量) 和 线程数,需要结合 Linux cgroup 控制 和 容器运行时配置。以下是具体方法和示例: 一、限制进程数(PID 数量) 1. 通过 pids cgroup 控制器限制 原理&…

使用 Hugging Face 镜像站快速下载大模型

在国内使用 Hugging Face 下载模型时,经常遇到连接慢、断点续传失败等问题。本文记录一个稳定、快速下载模型的命令行脚本,并支持设置模型缓存路径和目标目录,方便后续统一管理。 1. 设置 Hugging Face 镜像站 为了提升国内访问速度&#xf…

原语的使用

1、什么是原语?? 原语( primitive ),是FPGA开发环境所提供的一系列逻辑功能单元。往往与FPGA芯片的厂家精密相连,不同厂家的原语往往不能通用。 2、需要使用原语的情况 一般来说,在进行HDL cod…

大模型核心技术及架构解析

大模型核心技术及架构解析 大语言模型(Large Language Models, LLMs)已成为当前AI领域最重要的技术突破之一。以下是其核心技术和架构的全面分析: 一、核心技术组成 1. 基础架构技术 技术说明代表应用Transformer自注意力机制基础架构GPT, BERTMoE架构混合专家模…

ES6/ES11知识点 续三

rest参数 Rest 参数(Rest Parameters)是 ES6 引入的一个非常实用的特性。它允许函数接受不定数量的参数,并将这些参数作为一个数组存储,从而简化了处理可变参数的代码。 Rest 参数语法 Rest 参数使用 … 语法,紧跟着…

记忆翻牌游戏:认知科学与状态机的交响曲

目录 记忆翻牌游戏:认知科学与状态机的交响曲引言第一章 网格空间拓扑学1.1 自适应网格算法1.2 卡片排布原理第二章 状态机设计2.1 状态跃迁矩阵2.2 时空关联模型第三章 记忆强化机制3.1 认知衰减曲线3.2 注意力热力图第四章 动画引擎设计4.1 翻牌运动方程4.2 粒子反馈系统第五…