自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 HAL库的TIM中断和输入捕获

硬件:stm32f4xx软件:keil5(HAL库)1.TIM中断(TIM3)首先先把TIM初始化,官方给的初始化函数是HAL_TIM_Base_Init(TIM_HandleTypeDef *htim),也就意味着我们要首先初始化好TIM_HandleTypeDef这个结构体。所以我们先写一个函数来构建句柄。TIM_HandleTypeDef TIM3_Handler; void TIM3_Init(u16 per,u16 psc){ TIM3_Handler.Instanc

2020-08-22 17:49:18 20563 2

原创 I2C总线协议原理

首先I2C总线一共分为2根,一根是SCL(serial clock),还有一根是SDA(serial data),一根是用来同步时钟的,一根是发送接收数据的,因为有时钟的同步,所以很显然,I2C用的是同步通信的方式。 在SDA和SCL总线上,所有的设备都是采用的线与的连接方式,也就是说,接地输出的是0,高阻态的情况下输出的是1,所有的设备是不会直接通过输出高电平的,原因也很简...

2020-03-26 11:24:45 893

原创 STM32F10x 中断程序(NVIC)

中断是所有单片机的核心,也是单片机中比较难掌握的一块内容,正好我学完中断以后,来做一个总结。中断一般的类型有两种,第一个是系统异常,是属于内核级别的中断,第二个是外部中断,这是体现在外设方面。管理中断的一个很重要的寄存器是NVIC(嵌套向量中断寄存器)。对于M3和M4内核的MCU,每个中断的优先级都是用寄存器中的8位来设置的。那就可以产生2^8 = 256个中断,但实际上是用不到这么多的,所以...

2020-03-23 21:57:20 1150

原创 STM32F10X 位带操作

在STM32单片机的学习中,有一个最大的特点就是你所编写的STM32的程序操作,基本上都是总线的操作,比如GPIOB->ODR = 0x0001(或者直接等于1),这样的操作必须要考虑整个寄存器的数据,但其实如果学过51单片机的人都知道,我们除了对于总线操作外,我们还是经常会对单独的位进行操作,比如#include <reg52.h>sbit led1 = P0^0;led...

2020-03-17 13:38:14 392

原创 STM32F10X 寄存器映射

之前我写过一些关于微处理器的博客,都是关于使用ST公司给我们的固件库来编写的,这样的编写无疑是很高效的,但是为什么这些固件库就可以实现我们想要的功能呢,这个就是需要涉及到单片机的底层地址,那下面我们就深入到单片机的最底层来一探究竟吧。首先,我们想找各个寄存器和外设的地址,我们就要找到芯片手册中,有一项是存储器的映射,这张图里面就是告诉了我们开发者,各个存储器的地址都是什么,比如我们可以找到APB...

2020-03-15 22:52:54 346

原创 STM32F103 呼吸灯的实现

呼吸灯,也就是让灯的亮度随着时间的变化而变化,而要实现这个变化,我们需要通过占空比来完成,也就是是通过PWM来实现这个操作,只要我们发送的频率足够的快,因为人眼的视觉暂留的原因,人是不能看到灯灭掉的,所以只要脉冲的宽度越宽,可以看到的灯也就越亮。下面就是通过STM32103这块板子的代码实现。先写关于点灯的c文件#include "led.h"#include "stm32f10x.h"...

2020-03-12 13:09:26 7894 12

原创 tensorflow2.0更普遍的构建模型

在tensorflow2.0里面,最典型和常用的神经网络结构是将一堆层按特定顺序叠加起来,那么,我们是不是只需要提供一个层的列表,就能由 Keras 将它们自动首尾相连,形成模型呢?Keras 的 Sequential API 正是如此。通过向 tf.keras.models.Sequential() 提供一个层的列表,就能快速地建立一个 tf.keras.Model 模型并返回,就如我之前写到的...

2020-02-18 12:16:46 125

原创 fpga检测上升沿和下降沿的方法,以及去除亚稳态的统一做法

对于异步信号来说,亚稳态可能是经常会碰到的一个问题,而一般来说,在fpga中,亚稳态可以通过两级寄存器很好的缓解,把异步尽可能的转化为同步的信号。//定义两个寄存器reg tmp0_data_in , tmp1_data_in;always(posdege clk or negedge rst)if (!rst) begin tmp0_data_in <= 0; tmp1_dat...

2020-02-16 17:18:05 2891

原创 tensorflow -----CNN

CNN的主要结构就是(卷积层+池化层)*N + 全连接层 *M,一般来说,卷积神经网络的参数非常的多,这会导致非常占用计算的资源,以及很可能导致model的过拟合,所以一般采用局部连接和参数共享作为处理的方法,之所以可能采用这两种方法,就是因为图片的性质构成的,一个就是图片所具有的区域性(在一定小的区域内,图片所能采取的特征是近似的),其次就是图片所具有的位置无关性,而在卷积网络中最为重要的卷积核...

2020-01-30 21:39:09 125

原创 tf.base(constant & Variable)

tf2除了tf.keras这个高级api的引入之外,其他的一些基础函数也发生了一些变化,就连最为基本的constant也发生了一些变化,比如在1.x里面constant建立的数组是不支持列数不一样的数组组合的,但是在2.0的版本里面,引入了RaggedTensor这个数据类型,也就实现了不规则数据的组合import tensorflow as tffrom tensorflow import ...

2020-01-29 21:41:39 204

原创 wide & deep 模型

我们可以把一些比较常见的特征直接把他记录下来作为wide模型,把一些需要泛化的特征让他进行深度学习,形成deep模型,所以显而易见,wide模型使用多类型的叉乘特征变换,记忆特定的特征组合,但它的限制就是难以归纳以前没出现过的组合,那这就需要人工提供特征。而deep模型虽然较为复杂,但是可以提高整体模型的泛化水平,这也就是线性模型+DNN的组合。import tensorflow as tff...

2020-01-28 18:01:22 174

原创 Tensorflow2.0 softmax多分类问题

现实生活中,二分类的问题毕竟还是少数,多分类的问题才是我们大部分时间会遇到的问题,下面我就以fashion_mnist为数据集,来看看多分类的问题。import tensorflow as tffrom tensorflow import keras#先下载数据集(train_image , train_label),(test_image , test_label) = tf.kera...

2020-01-23 18:51:02 1897

原创 Tensorflow2.0 tf.keras概述

Tensorflow2.0与1.x最主要的不同就是2.0把很多1.x里面重复的函数都删除了,而且2.0把tf.keras最为最主要的高级api,所以我就稍微记录一下tf.keras的使用。#先导入tensorflowimport tensorflow as tffrom tensorflow import kerasimport numpy as npimport matploylib ...

2020-01-23 12:35:39 224

原创 tensorflow入门——3

tensorflow入门——3Tensorflow顾名思义是由tensor+flow两个部分组合而成的,Tensor就是指张量,一般是个多维的数组,而Flow就是数据流,是每个节点,每个operation之间传递的数据,所有的节点构成了tensorflow里面的计算图。下面来看一个简单的计算图的实例node1 = tf.constant(3.0,tf.float32,name...

2020-01-23 11:47:24 106

原创 tensorflow入门———2

tensorflow入门———2入门一个语言,一般都是从hello world开始。下面就用tensorflow来写一个hello world的输出语句import tensorflow as tf#创建一个语句串的常量greeting = tf.constant("hello world")#创建一个会话sess = tf.Session()#运行出结果print(s...

2020-01-19 20:23:40 99

原创 tensorflow入门——1

tensorflow入门——1tensorflow在安装的时候,因为是国外的一些资源包,所以下载的时候会比较的慢,这里我建议的是打开Anaconda Prompt,在里面执行conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free,这样我们就可以修改为清华的镜像源,然后执行conda c...

2020-01-19 20:10:02 127

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除