胡说八道(24.6.10)——数电与STM32

news2024/11/24 0:43:38

    至此,信号与系统的简单笔记已经全部都写完了。其实,信号与系统的知识远远不只这些,总之,我的老师没讲完。其真实的原因是不在考试大纲里面。今天,看到一个短视频——学习的意义。其中有句话说,“因为考试不考,所以不讲”。哎!咱们学习的意义到底在哪里?哎,不谈了。他不讲咋就得自己学。

    咱们先谈谈STM32的一些知识。之前我们已经谈到了stm32的一类通用端口GPIO。这里咱们就先讲讲stm32在keil4中的一些配置问题。以stm32f10x系列为例。

    第一个是结构与构成。在stm32工程的构件中,由四部分构成——User、StdPeriph_Driver、CMSIS以及Startup这四个主体部分组成的。当然,这些程序的命名不是固定的,只是给大家一点参照。

     这里我针对每个文件挨个简单的讲解一下。首先是CMSIS文件,它是针对内存寄存器映射的一个储存,其中,我觉得最重要是stdint.h,它是对于我们在编程时的数据类型进行的定义。像uint8_t,uint16_t,这些变量类型都是从这里面调用的。其次,就是启动文件Startup,顾名思义,用来启动工程。这里我们用的是startup_stm32f10x_hd.s。其实还有一些其他的启动文件,像startup_stm32f10x_ld,startup_stm32f10x_md。这些与startup_stm32f10x_hd.s最大的区别就是Flash容量的区别。接下来是StdPeriph_Driver这个文件,这个是所有外设的根本,像GPIO,AD,串口通信USART等等外设部分都需要依仗这个标准库文件夹,当然这个大家随便找一个博主,基本上都能下到。最后,就是你的工程文件User,里面包含你所要实现的工程以及一些你所需要的中断函数。stm32f10x_it.c就是用来存放中断服务程序的。

 讲完了整体的构成,就是配置环境了。点击魔法棒中的C/C++。

        第一步,就是Define部分,输入USE_STDPERIPH_DRIVER,STM32F10X_HD。第二步,则是文件路径导入。Include Paths右侧的三个点。如下图。

        需要配置相应文件。

        以上如果配置成功,就能正常运行了。我在配置的时候,遇到了以下的问题:1、库没有导入好,在编译窗口会显示库没有定义;2、Undefined symbol assert_param,这个问题呢,是因为Define没有配置好导致的(assert是用来进行断言调试的函数)。好了,今天单片机就说到这里。明天咱们来看看一个大头——定时器和计数。

        现在,来做个数字电子技术的笔记。在进入数字电子技术的学习之前,咱们要明确两个概念——模拟量与数字量,二者就是连续和离散的区别。模拟量具有连续的数值,数字量具有离散的数值。这也是模电和数电最大的区别。在模电里面,对于三极管和MOS管,我们或许会考虑静态工作点Q点,考虑信号是作用在放大区、截止区或者是饱和区,考虑电压或者是电流。但是,咱们现在是在数字当中,只有高低电平的区别,运用三极管和MOS管并不会去考虑它的放大区。只把它当作开关,饱和区记为1(开),截止区记为0(关)。讲到这里,就不得不提高低电平并不是严格的5V和0V,它们是有范围的。是具体的电路而定,像在COMS数字电路中,高电平就是在2~3.3V之间,低电平则是在0~0.8V之间。

        接下来,谈谈数字波形图。它通常是在高、低电平或者是状态之间不断地变化的。我们将从低电平上升到高电平的时间记为上升时间tr(实际过程中,是从幅度的10%上升到幅度的90%的时间),反之,则从90%到10%的时间宽度记为下降时间tf。将上升时的幅度50%到下降时的幅度50%之间所经历的时间记为脉冲宽度tw。理想状况下,不严谨的讲,数电中我们也把矩形脉冲的高电平部分记为脉冲宽度,这种理念只适合做题。占空比的概念:脉冲宽度与周期的比值,记为(tw/T)*100%。咱们数电的引言大概就这些,至于,常用的图形咱们后面遇到的时候再讲。

        接着,咱们来谈谈数制以及编码。首先是,有十进制数(D)、二进制数(B)、八进制数(O)和十六进制数(H)。这里在进制转换的时候,咱们只要记住两种进制转换:1、任何进制转为十进制数,进行权值的展开。像八进制转十进制的话,就是权值从1、8、8^2……这样的权值展开相加就行了。2、二进制转八进制或十六进制,就是画圈,八进制就是每三个为一组编码,十六进制就是每四个为一组进行编码。另外,就是画圈数不够咋办?整数部分实行高位补零,小数部分实行低位补零。

        二进制之间的加减法运算。这里来看看原码、补码和反码的概念。原码:将一个数的绝对值转换为二进制数,并在最高位添加符号位(正数为0,负数为1)。反码:正数的反码与原码相同;负数的反码是将原码的数值位取反(0变为1,1变为0)。补码:正数的补码与原码相同;负数的补码是将反码加1。相加的时候没啥好说的。最重要的是在减法的时候,像1-3,咱们要看成1+(-3)。

        另外,就是几种特殊的编码方式,有权码如8421BCD码,5421BCD码等以及无权码如格雷码,余3码等。首先是各种BCD码,就只有一种方法——加权相加。无权码就是不怎么好统一总结的。举个例子,像格雷码,就是运用了异或关系,相同为零,相异为一。二进制转为格雷码的公式是

        格雷码转二进制码为

        有个更形象的例子,我觉得很不错

今天就说这么多。

欲知后事如何,且听下回分解OVO

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

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

相关文章

在 Visual Studio 2022 中配置 OpenCV

在 Visual Studio 2022 中配置 OpenCV 软件准备系统环境配置VS 2022 环境配置测试 软件准备 Visual Studio 2022 下载链接 OpenCV 下载链接 Visual Studio 的版本与 OpenCV 的 vc 版本需对应好,可以向下兼容: VS 2015 – vc14VS 2017 – vc15VS 2019…

【Python/Pytorch - 网络模型】-- SVD算法

文章目录 文章目录 00 写在前面01 基于Pytorch版本的SVD算代码02 理论知识 00 写在前面 (1)矩阵的奇异值分解在最优化问题、特征值问题、最小二乘方问题、广义逆矩阵问题及统计学等方面都有重要应用; (2)应用&#…

如何挑到高质量的静态IP代理?

在数字化时代,静态住宅IP代理已成为网络活动中不可或缺的一部分。无论是数据采集、网站访问,还是其他需要隐藏真实IP地址的在线活动,高质量的静态住宅IP代理都发挥着至关重要的作用。今天IPIDEA代理IP将详细介绍如何获取高质量的静态住宅IP代…

网站的文章起到什么作用

1.便于用户了解产品服务 如果想要获得更多的用户访问或者转化率,那么网站就得需要高质量、高原创的文章,通过文章可以让用户更好的了解公司的产品和服务,用户会根据自己的需求去选择服务类型,从而可以给公司产生业务订单&am…

HTML语义化

目录 语义化什么是HTML语义化语义化的优点 语义元素微格式 语义化 我们在设计网页时&#xff0c;不应以内容的表现形式来决定使用什么元素包裹&#xff0c;而是应该基于内容的语义来选择元素 <h1>标题</h1> <div>标题</div>它们同样都能表示标题这个…

QT基础入门【环境搭建篇】QT MQTT库的移植和使用(官方mqtt库编译详细教程)

之前写过一篇第三方MQTT库的编译教程,有兴趣的小伙伴可以去看看(QT MQTT库的移植和使用(非官方库qmqtt库)),今天主要讲解官方MQTT库的编译与使用方法(基于QT5.12.1)。 QT的MQTT库有两个,一个是官方库,一个是第三方库,二者的差别就是一个 API 上,使用方面没有太大区…

AIOps在业务运维的最佳应用实践

随着企业IT基础架构的复杂性日益增加&#xff0c;传统运维模式难以满足高效、稳定的业务需求。AIOps&#xff08;人工智能运维&#xff09;作为一种新兴技术&#xff0c;通过数据驱动的自动化和智能化手段&#xff0c;有效提升了IT运维的效率和可靠性。本文将探讨AIOps在业务运…

Vue3中的常见组件通信之`pinia`

Vue3中的常见组件通信之pinia 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $ref…

Aigtek功率放大器参数怎么选型的

功率放大器是电子系统中重要的组成部分&#xff0c;选型合适的功率放大器对系统的性能和可靠性至关重要。本文下面安泰电子将介绍如何选型功率放大器的关键步骤和考虑因素。 首先&#xff0c;确定应用需求。在选型功率放大器之前&#xff0c;确定应用需求是至关重要的第一步。了…

Mathtype与word字号对照+Mathtype与word字号对照

字体大小对照表如下 初号44pt 小初36pt 一号26pt 小一24pt 二号22pt 小二18pt 三号16pt 小三15pt 四号14pt 小四12pt 五号10.5pt 小五9pt 六号7.5pt 小六6.5pt 七号5.5pt 八号5pt 1 保存12pt文件 首选选择第一个公式&#xff0c;将其大小改为12pt 然后依次选择 “预置”—…

Canvas倒计时

Canvas倒计时 前言 用Canvas绘制一个倒计时组件&#xff0c;显示距离新年还有多长时间&#xff0c;精确到秒&#xff0c;该倒计时需要实时更新 基础知识点 JS Date() 创建一个新Date对象的唯一方法是通过new 操作符&#xff0c;例如&#xff1a;let now new Date(); 若将…

华为OD机试 - 文件缓存系统 - 双向链表(Java 2024 D卷 100分)

华为OD机试 2024D卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;D卷C卷A卷B卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测…

自动生成列表,颜色随机 ,定时执行函数,10秒停止执行函数,按钮执行函数

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>颜色列表Color List</title><style>…

介绍并改造一个作用于Anki笔记浏览器的插件

在Anki的笔记浏览器窗口中&#xff0c;作为主体部分的表格在对获取到的笔记进行排序时&#xff0c;最多只能有一个排序字段&#xff0c;在设定笔记的排序字段后&#xff0c;没法将表格中的笔记按其他字段进行排序。要满足这个需求&#xff0c;可以使用Advanced Browser插件&…

【ai】初识pytorch

初识PyTorch 大神的例子运行: 【ai】openai-quickstart 配置pycharm工程 简单例子初识一下Pytorch 好像直接点击下载比较慢? 大神的代码 在这个例子中,首先定义一个线性模型,该模型有一个输入特征和一个输出特征。然后定义一个损失函数和一个优化器,接着生成一些简单的线性…

Spring Cloud Config配置信息自动更新原理解析

我们知道Spring Cloud Config是Spring Cloud提供的配置中心实现工具&#xff0c;我们可以通过它把配置信息存放在Git等第三方配置仓库中。每当Spring Cloud Config客户端启动时&#xff0c;就会发送HTTP请求到服务器端获取配置信息&#xff0c;这点比较好理解。但事实上&#x…

一个示例学习C语言到汇编层面

给出以下代码 #include<stdio.h> int main() {int x 0, y 0, z 0;while (1) {x 0;y 1;do {printf("%d\n", x);z x y;x y;y z;} while (x < 255);}return 0; }我们把这个程序编写成32位程序&#xff0c;然后我们放入IDA中进行分析 .text:0080187…

矩阵乘法的直觉

矩阵乘法是什么意思&#xff1f; 一种常见的观点是矩阵乘法缩放/旋转/倾斜几何平面&#xff1a; NSDT工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜…

JavaScript妙笔生花:打造沉浸式中国象棋游戏体验

前言 随着信息技术的飞速发展&#xff0c;Web开发领域也出现了翻天覆地的变化。JavaScript作为前端开发中不可或缺的编程语言&#xff0c;其重要性不言而喻。而当我们谈论到利用JavaScript打造一款沉浸式的中国象棋游戏体验时&#xff0c;我们不仅仅是在开发一个游戏&#xff0…

Web应用安全测试-权限篡改

Web应用安全测试-权限篡改 任意用户密码修改/重置 漏洞描述&#xff1a; 可通过篡改用户名或ID、暴力破解验证码等方式修改/重置任意账户的密码。 测试方法&#xff1a; 密码修改的步骤一般是先校验用户原始密码是否正确&#xff0c;再让用户输入新密码。修改密码机制绕过方式…