- 博客(25)
- 资源 (6)
- 收藏
- 关注
原创 STM32内存笔记
而且,如果你在函数里面进行这个操作的话,指针地址位于stack,但分配的内存属于heap,函数结束后,不会影响heap里面已经被分配的空间。所以,在初始化对象类型时,以及结构体时,如果直接申明结构体变量的话,它是属于stack的,会被销毁。其中stack作为系统的栈,所有函数里面定义的局部变量都是占用stack的空间的,递归调用函数要注意栈溢出问题。ROM又被称为“只读存储器”,ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。
2022-11-27 13:06:22
210
原创 STM32 IO口模拟串口
比如说,我发送了一段0和1构成的波形,这段波形我希望他有8个二进制的信息,那么我让每一个二进制信息都保持一秒钟,然后在发生变化。那么,我们可以选择奇校验 当这八个数据里由0或2或4...个1时,我们设置校验位为1,那么这九个数据里就有奇数个1。那么,我们如果想要连续发好多个信号,我们不能把所有信息连到一起发送出去,就像我们写英语作文,不能把所有单词的字母挨得特别紧,一点空也不留。那么,每一秒有一个信息,这就是波特率。由于我们的信息中只有1和0两种状态,那么这就意味着1的个数可以是0~8,不是奇数就是偶数。
2022-09-03 20:57:13
1040
1
原创 STM32 时钟随笔
什么是时钟?通俗的的来说,时钟是一个系统的最小时间单位。它并不是用来提供能量的器件,他就像是我们生活中的秒表,以固定的频率一秒一秒的走着。而我们每做一件事都可以说是花费了几秒时间。(不存在零点几秒,它是一个系统的最小时间单位)。在单片机里面通常有4个时钟源,分别是HSI振荡器时钟 (高速内部时钟)8MHSE振荡器时钟 (高速外部时钟)外接一个晶振电路LSI振荡器时钟 (低速内部时钟)40kLSE振荡器时钟 (低速外部时钟)32.768k其中,一般情况下我们使用外部HSE。
2022-09-03 09:55:13
63
原创 2022年电赛F题 信号调制度测量装置
红叶何时落水一、任务设计制作信号调制度测量装置,该装置测量并显示信号源输出的被测信号调制度等参数,识别并显示被测信号的调制方式,输出解调信号。测量系统如图1所示。二、要求(1)被测信号为电压峰峰值100mV的普通单音调幅(AM)电压,其载频为10MHz、调制信号为频率1~3kHz的正弦信号。测量并显示的调幅度,要求测量误差绝对值≤0.1;输出解调信号,要求解调信号波形无明显失真。 (20分)(2)被测信号为电压峰峰值100mV的单音调频(FM)电压,其载频为10MHz、调制信号为频率3~5kHz的正弦信号。
2022-08-01 12:32:36
2614
1
原创 基于MC1496芯片的AM调制与解调
红叶何时落水皇家邮电电子专业大二电电课程设计一不小心抽到了AM调制题设计一个AM调制解调器,调制信号为500HZ的正弦波,载波信号为30KHZ正弦波,电路内部需要包含有源低通滤波器。根据要求,需要300KHZ和500HZ的正弦波信号,采用已有的函数发生器。整个电路需要包含调制和解调的过程,利用运算放大器,乘法器等元器件完成。本来吧,这个题应该重点是后面的解调部分。因为这个学期主要学的就是动态电路,自己独立设计一个低通电路还是没问题的。但是,调制部分花了3天,解调三天。首先进行AM信号的调制,通过理想的乘法器
2022-06-29 17:49:49
3531
4
原创 stm32 波形检测,绘制
红叶合适落水校赛第三部分详见http://t.csdn.cn/50yJu这里就简单多了波形检测见http://t.csdn.cn/LCvX1关于判断波形的类型FFT还没用过但一定频率范围内有两种方法方案一检测一下采集到的波形数据,大于某个值的数有多少个,就可以判断出是什么波形方案二将数组内相邻的两个数相减,判断差值;差值为0,方波差值为定值,但不为0,三角波差值不是定值,正弦波。关于STM32单片机对数的计算直接使用公式是没法返回正确的
2022-05-20 18:22:40
1198
原创 stm32 检测相位差 并简单实现两个单片机的通信
红叶何时落水校赛第二部分详见http://t.csdn.cn/50yJu利用定时器的输入捕获模式来测量相位差通过 (两路波形上升沿的时间差 / 波形周期)* 360°来实现相位差的测量deg = (360 - (((TIM2CH1_CAPTURE_VAL3 * 360) / (TIM2CH1_CAPTURE_VAL)) + chart)) % 180;其中chart为线性补偿,可以通过按键改变其值,以此实现不同电路的测量可以利用相位差来计算相应的频率与峰峰值难点在于C
2022-05-20 18:10:55
1210
2
原创 stm32实现波形输出,步进1hz
红叶何时落水校赛第一部分详见:http://t.csdn.cn/8op0B关键难点在于步进1hz,若使用定时器的PWM输出方波,步进1hz完全没有问题。但正弦与三角两种波形有一定的问题。方案一,将方波利用比较器转换成正弦和方波这一方案可以实现步进1hz,但是,峰峰值不能保证是5V.因为随频率的变化,峰峰值也会发生变化。解决方案:我们使单片机输出的方波的峰峰值并不是定值,而是一个随着频率而变化的值。以此保证经过比较,放到后,峰峰值为定制5V。方案二,利用DA输出波形DA可以
2022-05-20 17:42:06
759
2
原创 记录第一次电赛——校赛
红叶何时落水题目很简单1、基础要求 1)波形产生模块可以输出 4KHz -6KHz,峰峰值 5V 的方波。频率可以 通过按键直接调整及步进调整,步进小于等于 10Hz,频率误差低于 2%,波形稳定无明显失真,无噪声。 2)电路 1 输出 12KHz -18KHz,峰峰值 4V 的正弦信号,波形稳定无 明显失真,无噪声。 3)在前级电路输出频率不变的情况下,电路 2 可以改变其输入信号 的相位,要求相位在 20°-160°内连续可调,输出峰峰值无要求,波形稳 定
2022-05-20 17:25:46
477
原创 JS 的var let const
红叶何时落水主要记录一下var,let的区别,以及变量声明提升与函数声明提升var 用于定义一个变量,并且限制了这个变量的作用域 (function fn() { var a = 'fn_var'; b = 'window_var'; })() console.log(a);//=>undefined console.log(b);//=>window_var没有var而直接定义的变量视为window的一个属性(作用
2022-05-10 17:53:28
117
原创 stm32 使用ADC_DMA采集电压,并在显示屏上输出波形
红叶何时落水DMA初始化 GPIO_InitTypeDef GPIO_InitStructure; DMA_InitTypeDef DMA_InitStructure;//结构体定义 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);//开启DMA时钟 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; G
2022-04-28 09:55:52
2980
3
原创 JS中call,apply,bind方法
红叶何时落水bind是函数原型对象上的一个方法,用于改变函数的this指向这个方法会返回一个新函数,新函数可以调用他所绑定的对象的属性。var name = 'window';var newThis = { name: 'newThis' };var showName = (info1, info2) => { console.log(this, info1, info2);}showName('a', 'b'); // 通过bind改变this指向var newS
2022-04-20 17:19:03
1603
原创 JS中的this
红叶何时落水谁调用就指向谁当一个对象调用时,this指向这个对象的首地址 var obj = { name: "obj_name", obj2: { name: "obj2_name", func: function() { console.log(this.name) } }, func: function() {
2022-04-19 22:01:51
228
原创 STM32 使用DAC和DMA输出任意波形
绿叶何时落水电赛代码备份,展示不做解释。简单思路,利用的是DMA2的DAC1的专用通道来将数组里的波形数据放到DAC1的寄存器里。定时器的TIM_SelectOutputTrigger来控制DAC的输出频率(DAC_InitType.DAC_Trigger = DAC_Trigger_T2_TRGO; )1.DAC1的初始化void Dac2_Init(){ GPIO_InitTypeDef GPIO_InitStructure; DAC_InitTypeDef DAC_
2022-04-10 15:04:43
1674
原创 正则表达式的test()多次调用
红叶何时落水问题 let a = 'a.so'; let reg = /.so/g; console.log( a,reg.test(a)); console.log( a,reg.test(a));//输出 17:09:29.940 a.so true at IF_bug.html:43 17:09:29.942 a.so false at IF_bug.html:44同一个变量a,两次匹配,结果却不同;这是为何?原因在于Re
2022-03-22 17:18:14
453
原创 如何缓存函数计算结果?
红叶何时落水需求场景在请求数据时,我们免不了要对数据进行一些修饰,加一些前缀,组合一下字符串;那么当我们在不同页面请求同一组数据时,又不愿页面间传递参数时,我们便可以对数据处理函数进行修饰。function mathed(str) { console.log('math'); return str + 'd';}function cached(fn) { var cache = Object.create(null); return (function cachedFn(s
2022-03-14 17:48:29
308
原创 组件-原生组件webcomponent
红叶何时落水组件化开发有利于代码的复用这里是原生组件的思想与构建首先,代码复用,就意味着会有一个模板,这个模板已经实现了基础功能,我们只需要调用它即可;那么一个组件由两部分构成,视图与逻辑。视图模板视图的模板原生提供的方法为<template>标签,里面的内容可以被其他页面使用; <template id="new_message"> <style> .main { w
2022-02-25 11:33:08
491
原创 手写Promise(1)
红叶何时落水很多时候我们希望程序可以等待某个耗时操作执行完成后,获取到他所返回信息,以便进行下一步的操作。但JS 作为单线程语言,并没有提供这种操作。利用回调函数又不利于后期维护,毕竟我们将函数写到回调函数中;如果,回调次数多的话,一层一层的添加,可读性就太差了。那么,可以利用Promise来解决这个问题;首先,建立一个公共的,谁都可以建立的类function Pro(fn = (() => { })) { this.state = 0; this.the
2022-02-23 10:57:31
313
原创 微信小程序背景图片真机不显示问题
问题描述 :开发者工具上<view style="background-image: url(图片路径);"></view>可以正常显示但是真机预览,不显示。解决方式:1.图片路径以http开头时,可以显示。所以,可以将图片放到微信云端,直接引用云id;没钱的话,把多张图片放到一个压缩包里,压缩包放到云端储存;然后下载下来,保存到本地,再从本地引用即可;(实测,安卓没啥问题,苹果还是不显示)2.将图片路径转化为Base64格式 Backgrou
2022-02-22 10:47:42
3753
3
原创 微信小程序服务器文件下载及解压
对方法做个备份方法一 下载及解压代码第一个参数为下载地址,将下载地址以数组的方式传入,可以下载多个文件。第二个参数为想要将下载并解压好的文件保存到的本地路径。第三个参数为是不是微信云端路径,是的话为true;const wxP = require('../utils/util.js');Download_zip: function (load_path = [], target_path = '', if_cloud = false) { const fs = wx.
2022-02-22 10:30:30
1206
原创 函数的拦截(Vue数组方法响应化)
红叶何时落水首先明白原型链是啥关键语句:儿子原型的__proto__属性指向父亲的prototype属性,构造函数的prototype属性的constructor属性指向其本身;经典美图需求:Vue中data中的数据发生改变时,set属性可以确保响应式;但是我们只是在最开始的时候将所有的data数据都重新定义过一次;当我们使用数组方法添加数据时,我们该如何保证新添加的数据是响应式的呢。对象方法调用会沿着原型链向上寻找,一旦找到,就停止。那么我们可以插入一个节点,让数.
2022-02-21 23:31:31
401
原创 微信小程序全局变量的监听
当一个文件在后台下载,我们需要当文件下载成功后,自动进行一些行为(弹出一个下载成功的弹窗或者刷新当前页面);以微信小程序的下载为例,通过app.js里的全局变量来对其他页面进行通知// app.jsApp({ globalData: { userInfo: null }, watchProperty: function (method = function () {}, atrrs, value ) { var obj = this.globalData;
2022-02-20 10:56:41
2664
1
原创 响应式原理
红叶何时落水响应式指的是当我们修改一个变量时,会有某些操作可以自动进行。比较典型的便是Vue框架中的实例数据一旦发生变化,便会自动更新到视图层。<div id="red">{{name}}</div><script> var app = new Vue({ el: '#red', data: { name: '红叶', age: 19, } })
2022-02-20 10:13:44
1447
RSIC-V单周期CPU设计代码,实现了17种指令
2022-12-15
stm32核心板IO口定时器模拟串口
2022-09-03
stm32 校赛第三部分 可以检测三种波形,绘制特性曲线
2022-05-20
stm32 校赛第二部分 相位差的测量,并将相位差为自变量,输出相应的正弦波
2022-05-20
嵌入式 stm32实现校赛第一部分,信号发生器
2022-05-20
stm32波形生成器,可同时产生三个独立信号
2022-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人