<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[风吹梧桐的果子]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FCWTDGZ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FCWTDGZ]]></copyright><item><title><![CDATA[wsl的安装以及wsl+vscode的配合使用]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120819309</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120819309</guid><author>FCWTDGZ</author><pubDate>Mon, 18 Oct 2021 06:56:40 +0800</pubDate><description><![CDATA[视频连接：
https://www.bilibili.com/video/BV1mf4y1g7Kd?spm_id_from=333.999.0.0
全称：windows subsystem for linux(windows下的linux 子系统)
本人常用于VISual studio code + wsl 来上传gitee文件
wsl–(Windows subsystem for linux)
优点：
1、windows跟Linux 终端两者兼得
2、visual studio code直接连接起来
3、]]></description><category></category></item><item><title><![CDATA[打开ISEIP核里面的datesheet失败，显示C：\Program Files (x86) internet explorer\iexplore.exe http:\\www.xilinx.com]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120537444</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120537444</guid><author>FCWTDGZ</author><pubDate>Tue, 28 Sep 2021 21:07:15 +0800</pubDate><description><![CDATA[今天在使用ISE的时候，在建立RAM的IP，想看一下官方的datasheet，忽然发现打不开并且提示C：\Program Files (x86) internet explorer\iexplore.exe http:\www.xilinx.com…后面的就不打了

图片是这样的，意思就是我们设置环境变量可以解决，或者使用浏览器打开这个网址即可！
重点来了：如何解决？
1、点击工具栏的Edit----preferences,也就是下图的界面
2、点击HTML Browser
然后我们看到如下界面，这里是我已]]></description><category></category></item><item><title><![CDATA[RS485协议详解&&RS485与RS232优缺点比较]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120536787</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120536787</guid><author>FCWTDGZ</author><pubDate>Tue, 28 Sep 2021 20:35:12 +0800</pubDate><description><![CDATA[RS485协议
1、简介
​	RS485也是UART协议，他是双向、半双工的通讯协议，双向代表可接收可发送，半双工代表同一时刻只能进行数据的接收或者数据的发送，而RS232是双向、全双工，也就是能同时收发数据。并且485采用差分的传输方式，与差分对应的是单端传输方式，并且允许多个驱动器和接收器挂在总线上，其中每个驱动器都能脱离总线！
2、单端传输、差分传输
​	单端传输：在传输过程中，我们使用一根导线，在这根导线上传输对地之间的电位差，用这个电平差值来表示逻辑“0”和“1”，传输的信号叫单端信号
​	差分传]]></description><category></category></item><item><title><![CDATA[关于HAL中的__weak详解]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120472029</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120472029</guid><author>FCWTDGZ</author><pubDate>Sat, 25 Sep 2021 15:16:05 +0800</pubDate><description><![CDATA[最近在使用STM32的hal库进行开发的时候，看到很多库自带的函数有很多是使用__weak修饰的
例如：__weak void function(…)


第一次看到这种写法，很是好奇，那么这个修饰符的作用是什么呢？其实在英语中，weak的意思就是“虚弱的”，那么这个关键字具体怎么弱了呢？


其实函数名称前面加上__weak 修饰符，我们一般称这个函数为“弱函数”。
加上了__weak 修饰符的函数，我们可以在这个文件中重新定义一个同名函数，也就是自己也可以写一个void function(…)，如果不加]]></description><category></category></item><item><title><![CDATA[Error (119013): Current license file does not support the EP4CE10F17C8 device Error: Quartus II 64-B]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120152754</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/120152754</guid><author>FCWTDGZ</author><pubDate>Tue, 07 Sep 2021 10:29:11 +0800</pubDate><description><![CDATA[首先我遇到的错误是:
Error (119013): Current license file does not support the EP4CE10F17C8 device
Error: Quartus II 64-Bit Fitter was unsuccessful. 1 error, 1 warning
	Error: Peak virtual memory: 4754 megabytes
	Error: Processing ended: Tue Sep 07 10:15:19 2021
	Er]]></description><category></category></item><item><title><![CDATA[使用notepad++实现代码片段以及verilog的编译]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/119928725</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/119928725</guid><author>FCWTDGZ</author><pubDate>Thu, 26 Aug 2021 12:13:28 +0800</pubDate><description><![CDATA[编译：https://www.bilibili.com/video/BV1WA411c7DJ
代码片段：https://www.bilibili.com/video/BV1Ah411q7gy

]]></description><category></category></item><item><title><![CDATA[RS232与单端传输、差分传输]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117956563</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117956563</guid><author>FCWTDGZ</author><pubDate>Wed, 16 Jun 2021 13:46:30 +0800</pubDate><description><![CDATA[RS485协议
1、简介
​	RS485也是UART协议，他是双向、半双工的通讯协议，双向代表可接收可发送，半双工代表同一时刻只能进行数据的接收或者数据的发送，而RS232是双向、全双工，也就是能同时收发数据。并且485采用差分的传输方式，与差分对应的是单端传输方式，并且允许多个驱动器和接收器挂在总线上，其中每个驱动器都能脱离总线！
2、单端传输、差分传输
​	单端传输：在传输过程中，我们使用一根导线，在这根导线上传输对地之间的电位差，用这个电平差值来表示逻辑“0”和“1”，传输的信号叫单端信号
​	差分传]]></description><category></category></item><item><title><![CDATA[基于FPGA的简易频率计与频率计的三种实现方法]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117956541</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117956541</guid><author>FCWTDGZ</author><pubDate>Wed, 16 Jun 2021 13:45:33 +0800</pubDate><description><![CDATA[简易频率计
常用频率测量法：频率测量法、周期测量法、等精度测量法
1、频率测量法（计频法）：单位时间内，信号周期变化的次数，假设时间为T，那么我们在T时间内周期数为N，那么我们就可以计算出频率，T/N然后取倒数，即N/T=f
缺陷：N可能会出现±1的误差，然后就影响到我们的频率，如果被测时钟频率越小，时间T不变，那么误差对结果的影响就越大
总结：适用于高频信号的测量，并且会出现±1的一个误差，测量低频误差大
2、周期测量法（计时法）：先测量被测信号的时钟周期T，然后根据f=1/T，求出被测时钟的频率，先测量]]></description><category></category></item><item><title><![CDATA[让你彻底了解亚稳态--亚稳态深入浅出]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117782234</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117782234</guid><author>FCWTDGZ</author><pubDate>Thu, 10 Jun 2021 15:43:50 +0800</pubDate><description><![CDATA[10、亚稳态
​	亚稳态如果不解决，那么会一直向下传播，尤其是组合逻辑电路，寄存器具有消除亚稳态功能，使用多级寄存器消除亚稳态的危害，单Bit数据从低速到高速，一般采取打两拍进行对亚稳态的消除，打一拍的话，我们数据正常输出的概率是70-80%，第二拍以后数据正常输出的概率是99以上
我们打的第一拍，是用来数据同步的，第二拍一般是消除亚稳态，第三拍也是消除亚稳态
1、亚稳态简介
​			因为数据都有压摆率，我们系统时钟到达上升沿，数据没达到稳定，就会产生亚稳态，亚稳态的时候，输出信号会出现毛刺、震荡、或者固定]]></description><category></category></item><item><title><![CDATA[让你一文了解串口通讯与RS232协议]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117782053</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117782053</guid><author>FCWTDGZ</author><pubDate>Thu, 10 Jun 2021 15:39:52 +0800</pubDate><description><![CDATA[串口RS232
1、常用低速总线介绍
​	UART、SPI、IIC
2、UART
​	通用异步收发传输器就是UART，是异步串行通信口的总称，是一种通用的数据通讯协议，它并不是一个协议，而是一类协议，它将在发送数据时的并行数据转换为穿行数据，接收数据时，将串行数据转换为并行数据
​	串口包括RS232、RS499、RS422、RS423、RS485等标准接口规范和总线标准规范
3、异步、同步通讯
1、SPI、IIC是同步通讯，使用同一个时钟，接收方与发送方都使用主机的时钟
2、UART是异步通讯，全双工通讯]]></description><category></category></item><item><title><![CDATA[关于Altera的IP核简介]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117307997</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117307997</guid><author>FCWTDGZ</author><pubDate>Wed, 26 May 2021 23:19:05 +0800</pubDate><description><![CDATA[IP核
​	IP核在别的领域的意思是知识产权，在我们ASIC跟FPGA中代表预先设计好的电路功能模块
​	我们把比较复杂的功能模块设计成参数可以修改的模块，让别人可以直接调用，这就是IP核
IP核的存在形式
分类依据：产品交付方式
​	1·软核—HDL语言形式
​			硬件语言描述
​	2·硬核
​		版图形式
​	3·固核
​		网表形式，固核是提供最终产品—掩膜(Mask)
IP核的缺点
​	不能跨平台使用
​	不透明，看不到内部核心代码
​	定制的需要收费
​	无法优化，无法修改
IP核分类
​	Ar]]></description><category></category></item><item><title><![CDATA[状态机与独热码、格雷码、二进制码]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117307914</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117307914</guid><author>FCWTDGZ</author><pubDate>Wed, 26 May 2021 23:13:31 +0800</pubDate><description><![CDATA[状态机
简称FSM，也叫同步有限状态机
同步：同步的意思就是在系统时钟的作用下
有限：有限代表状态机中的状态是有限的
根据影响输出分为两大类，一为Moore、二为Mealy
Moore：若最后的输出只与当前的状态有关，与输入无关则称为 Moore 型状态机
Mealy:	最后的输出不仅和当前状态有关还和输入有关则称为 Mealy 型状态机
我们一般都爱画成Mealy型状态机，因为他是最简的
状态转移图
​	三要素：输入、输出、状态
​	输入：决定是否进行状态的跳转以及输出
​	输出：根据当前状态机的状态以及]]></description><category></category></item><item><title><![CDATA[PLL锁相环简介]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117307811</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/117307811</guid><author>FCWTDGZ</author><pubDate>Wed, 26 May 2021 23:09:35 +0800</pubDate><description><![CDATA[PLL锁相环
锁相环能够实现什么功能？锁相环能够实现分频，倍频，相位调制，占空比调整
锁相环分为模拟锁相环跟数字锁相环，这里我们介绍模拟锁相环
优点：具有输出稳定度高、相位连续可调、延时连续可调
缺点：温度过高或者电磁辐射过强的时候会失锁
锁相环是一个负反馈
PLL锁相环主要组成部分
接下来我们介绍锁相环中几个关键元件：
FD/PD：鉴频鉴相器，我们的参考时钟输入时钟与反馈时钟都是输入到鉴频鉴相器中，鉴频鉴相器对比这两个时钟的相位与频率差异，如果相等，那么鉴频鉴相器输出0，如果参考时钟频率大于反馈时钟频率，]]></description><category></category></item><item><title><![CDATA[寄存器变量为什么不能使用非阻塞赋值]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/116995778</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/116995778</guid><author>FCWTDGZ</author><pubDate>Tue, 18 May 2021 17:04:08 +0800</pubDate><description><![CDATA[原来的文章名称是这样的：把变量赋值给寄存器_阻塞赋值和非阻塞赋值的区别与记忆，刚好也解答了我的问题
通过上面的文章先了解下，阻塞赋值和非阻塞赋值的区别。

	b&lt;=a;
	c&lt;=b;
	非阻塞赋值

b=a;
		c=b;
		阻塞赋值

阻塞赋值中阻塞的意思是要等一会儿，阻塞了，先让赋值变量得到一个新值，然后阻塞赋值得到的是赋值变量刚刚得到的新值。
非阻塞赋值中非阻塞的意思是要直接传输，不等。非阻塞赋值得到的是赋值变量的旧值，原来的那个值。
现在有一个问题，对于上面的两种代码，那个电路容易实现]]></description><category></category></item><item><title><![CDATA[Verilog中assign的使用]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/116799560</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/116799560</guid><author>FCWTDGZ</author><pubDate>Fri, 14 May 2021 17:42:21 +0800</pubDate><description><![CDATA[assign相当于连线，一般是将一个变量的值不间断地赋值给另一个变量，就像把这两个变量连在一起，所以习惯性的当做连线用，比如把一个模块的输出给另一个模块当输入。
assign的功能属于组合逻辑的范畴，应用范围可概括为以下三点：
（1）持续赋值；
（2）连线；
（3）对wire型变量赋值，wire是线网，相当于实际的连接线，如果要用assign直接连接，就用wire型变量。wire型变量的值随时变化。其实以上三点是相通的。
要更好的把握assign的使用，Verilog中有几个要点需要深入理解和掌握：
（1）]]></description><category></category></item><item><title><![CDATA[关于ARRAY_SIZE宏的理解]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115921551</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115921551</guid><author>FCWTDGZ</author><pubDate>Tue, 20 Apr 2021 23:06:16 +0800</pubDate><description><![CDATA[ARRAY_SIZE这个宏，是求设备结构体中设备的个数，在linux/kernel.h中，发现 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) 其中__must_be_array(arr))作用：宏定义防止被误用，比如用在指针而不是数组上。
一般用来求有多少个资源，例如ARRAY_SIZE(resources)；


...]]></description><category></category></item><item><title><![CDATA[回调函数]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115862737</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115862737</guid><author>FCWTDGZ</author><pubDate>Mon, 19 Apr 2021 13:39:12 +0800</pubDate><description><![CDATA[回调的作用
回调可用于通知机制，例如，有时要在程序中设置一个计时器，每到一定时间，程序会得到相应的通知，但通知机制的实现者对我们的程序一无所知。而此时，就需有一个特定原型的函数指针，用这个指针来进行回调，来通知我们的程序事件已经发生。
首先要明确的一点是，函数也可以作为函数的参数来传递
好了，有了这个概念我们来说明回调函数到底是怎么回事
首先至少要有 3 种类型的函数
主函数：相当于整个程序的引擎，调度各个函数按序执行
回调函数：一个独立的功能函数，如写文件函数
中间函数：一个介于主函数和回调函数之间的函数]]></description><category></category></item><item><title><![CDATA[电机的死区]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115802518</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115802518</guid><author>FCWTDGZ</author><pubDate>Sat, 17 Apr 2021 21:57:58 +0800</pubDate><description><![CDATA[**1、半导体死区电压概念**
首先我们先从半导体开始了解下，半导体的死区电压概念：死区电压也叫开启电压，是应用在不同场合的两个名称。死区电压，指的是即使加正向电压，也必须达到一定大小才开始导通，这个阈值叫死区电压，硅管约0.5V，锗管约0.1V。（硅和锗是制造晶体管最常用的两种半导体材料，硅管较多，锗管较少）
也就是我们在二极管整流得时候理想是，整个周期都是导通的，但是由于死区电压的存在，实际上并不是全部导通的，当半导体电压&lt;死区电压的时候不导通。
**2、电机死区概念**
实际上我们的电机死区概念]]></description><category></category></item><item><title><![CDATA[在Ubuntu下安装VScode提示无法安装文件：不支持的解决方法]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115611190</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115611190</guid><author>FCWTDGZ</author><pubDate>Mon, 12 Apr 2021 08:00:22 +0800</pubDate><description><![CDATA[最近我也是遇到了这个问题，我在Ubuntu下安装VScode显示无法安装文件：不支持，当时我也是非常纳闷，因为是可以默认安装好的，都可以不适用dpkg工具都能搞定的。
先说一下问题的原因吧，安装Ubuntu 20.04版本并通过FireFox进行网页下载安装包，在打开时的确会出现这样的提示。这是因为，Firefox在该版本中，默认将文件放在tmp目录下，且重启后会自动删除，软件安装无法安装该目录下的安装包。
解决方法
一，手动将安装包移动到其他地方，比如下载文件夹，再打开就能安装；
二，使用终端在该目录下进]]></description><category></category></item><item><title><![CDATA[对typedef void (*sighandler_t)(int)的理解（声明了一种类型：sighandler_t）]]></title><link>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115592557</link><guid>https://blog.youkuaiyun.com/FCWTDGZ/article/details/115592557</guid><author>FCWTDGZ</author><pubDate>Sun, 11 Apr 2021 20:30:51 +0800</pubDate><description><![CDATA[typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
此处由于加了typedef自定义了一个新类型sighandler_t，所以第二行的函数原型看起来顺眼多了，形式跟int func(char c, int i)无异，但是如果看不懂typedef语句，这两句话仍然是噩梦。
要理解typedef，只要记住一句话就差不多了，那就是：typedef在语句中所起的作用只不过是把语句原先定义变]]></description><category></category></item></channel></rss>