<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csshuke的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csshuke</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csshuke]]></copyright><item><title><![CDATA[滤波入门：从零开始理解滤波]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/147397893</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/147397893</guid><author>csshuke</author><pubDate>Mon, 21 Apr 2025 16:59:17 +0800</pubDate><description><![CDATA[滤波（Filtering）是。]]></description><category></category></item><item><title><![CDATA[常用 25/26 Flash 系列器件型号、ID、容量对照表]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/146043636</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/146043636</guid><author>csshuke</author><pubDate>Wed, 05 Mar 2025 15:06:36 +0800</pubDate><description><![CDATA[w25q flash]]></description><category></category></item><item><title><![CDATA[ZYNQ7000-MIO与EMIO详解]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/144581195</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/144581195</guid><author>csshuke</author><pubDate>Thu, 19 Dec 2024 11:20:44 +0800</pubDate><description><![CDATA[如下图，举个例子，如果你使用了MIO34作为UART0的一个引脚，那么UART0的另一个引脚必须是MIO35，USB1也是如此，除了GPIO比较特殊外，其它外设MIO都是一组一组起作用的，并且是产商预先定好的位置，不能任意指定，所以在设计。中已经说明了封装是分Bank的，而MIO引脚也是分Bank的，MIO分为Bank 0 和 Bank 1，其中 MIO Bank 0是封装Bank 500中的部分引脚，MIO Bank 1是封装Bank501中的部分引脚。电路时，使用哪些引脚来连接外设要遵照这一特性。]]></description><category></category></item><item><title><![CDATA[关于zynq引脚编号、bank以及封装的一些理解]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/144581010</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/144581010</guid><author>csshuke</author><pubDate>Thu, 19 Dec 2024 11:18:12 +0800</pubDate><description><![CDATA[使用MIO0这样的引脚还是在PL端将引出的端口约束到AB9这样的位置，用的时候也挺正常，但仔细一想又感觉云里雾里，还有bank0、bank1、bank500、bank501这样的分组，一直没有弄明白他们之间具体的关系，今天就来梳理一下。首先是bank之间的关系。通过前面的学习我们可以知道MIO0~53分别分布在bank0与bank1上，有具体的硬件引脚对应，比如我们可以看到zedboard的MIO7引脚对应的是一个LED，那么我们就可以通过控制读写MIO7来点亮这个LED。，我们可以看出具体的对应关系。]]></description><category></category></item><item><title><![CDATA[终于讲透--史上最详细的RS485自动收发电路]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/144534538</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/144534538</guid><author>csshuke</author><pubDate>Tue, 17 Dec 2024 14:19:58 +0800</pubDate><description><![CDATA[关于。]]></description><category></category></item><item><title><![CDATA[枚举（enum)/共用体（union)/结构体（struct)---详解]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/144433501</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/144433501</guid><author>csshuke</author><pubDate>Thu, 12 Dec 2024 18:42:02 +0800</pubDate><description><![CDATA[【代码】枚举（enum)/共用体（union)/结构体（struct)---详解。]]></description><category></category></item><item><title><![CDATA[详解C语言结构体、枚举、联合体]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/144351866</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/144351866</guid><author>csshuke</author><pubDate>Mon, 09 Dec 2024 16:33:01 +0800</pubDate><description><![CDATA[结构体(struct)是由一系列具有相同类型或不同类型的数据项构成的数据集合，这些数据项称为结构体的成员。如下面的student结构体包含三个成员，分别是name、num、age。枚举(enum)是C语言的一种特殊类型。当我们在编程中遇到定义一些固定长度或范围的数值时，可以考虑使用枚举类型。使用枚举可以让我们的程序可读性更强、看起来更加直观。举个例子，如果我们在编程中需要使用数字06分别表示星期日星期六，程序的可读性就不高，我们需要翻手册或者看程序注释才能知道每个数字具体代表什么意思。]]></description><category></category></item><item><title><![CDATA[一文搞懂CAN总线协议帧格式(转载)]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/140817958</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/140817958</guid><author>csshuke</author><pubDate>Wed, 31 Jul 2024 11:15:05 +0800</pubDate><description><![CDATA[/li>仲裁段：表示该帧优先级的段，根据仲裁段ID码长度的不同，分为标准帧（CAN 2.0A）和扩展帧（CAN 2.0B）；2.3、标准数据帧和扩展数据帧的特性]]></description><category></category></item><item><title><![CDATA[RS485自动收发电路]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/139930218</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/139930218</guid><author>csshuke</author><pubDate>Mon, 24 Jun 2024 16:30:18 +0800</pubDate><description><![CDATA[关于。]]></description><category></category></item><item><title><![CDATA[TTL转RS485电路(自动收发)]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/139930069</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/139930069</guid><author>csshuke</author><pubDate>Mon, 24 Jun 2024 16:27:34 +0800</pubDate><description><![CDATA[TLL转RS485]]></description><category></category></item><item><title><![CDATA[W25Q128数据手册翻译（3）]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/139867963</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/139867963</guid><author>csshuke</author><pubDate>Fri, 21 Jun 2024 18:40:42 +0800</pubDate><description><![CDATA[W25Q128数据手册翻译（3）

8 指令
	8.1 器件ID和指令集表
	8.1.1 制造商和器件标识符
	8.1.2 指令集表1（标准/双线/四线SPI指令）
	8.1.3 指令集表2（标准/双线/四线SPI指令）
	8.1.4 指令集表3（QPI指令）
	8.2 指令描述
	8.2.1 写使能（0x06）
	8.2.2 易失性状态寄存器写使能（0x50）
	8.2.3 写禁止（0x04）
	8.2.4 读状态寄存器1（0x05），读状态寄存器2（0x35），读状态寄存器3（0x15）
	8.2.5]]></description><category></category></item><item><title><![CDATA[W25Q128数据手册翻译（2）]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/139867922</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/139867922</guid><author>csshuke</author><pubDate>Fri, 21 Jun 2024 18:38:16 +0800</pubDate><description><![CDATA[W25Q128数据手册翻译（2）

6 功能描述
	6.1 SPI/QPI操作
	6.1.1 标准SPI指令
	6.1.2 双线SPI指令
	6.1.3 四线SPI指令
	6.1.4 QPI指令
	6.1.5 保持功能
	6.1.6 软件复位和硬件复位引脚/RESET
	6.2 写保护
	6.2.1 写保护特性
	7 状态和配置寄存器
	7.1 状态寄存器
	7.1.1 擦除/写正在进行（BUSY）-仅状态
	7.1.2 写使能锁定（WEL）-仅状态
	7.1.3 块保护位（BP2，BP1，BP0）-易失]]></description><category></category></item><item><title><![CDATA[W25Q128数据手册翻译（1）]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/139867804</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/139867804</guid><author>csshuke</author><pubDate>Fri, 21 Jun 2024 18:29:01 +0800</pubDate><description><![CDATA[W25Q128FV(128Mbit)型串行Flash存储器面向受限于空间、引脚和功耗的系统，提供了一种存储解决方案。25Q系列存储器相比于普通的串行Flash器件提供更好的灵活性和性能表现。它们是代码存储、代码直接通过双线/四线SPI运行、存储音频、文本和数据的理想选择。该器件可在2.7V到3.6V的供电电压下工作，工作时电流消耗最低4mA，在掉电模式下消耗仅1uA。所有的器件都提供节省空间的封装。W25Q128FV存储阵列组织成65536个可编程的页，每个页包含256字节。一次最多可以编程256字节。]]></description><category></category></item><item><title><![CDATA[git merge最简洁用法]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/120087358</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/120087358</guid><author>csshuke</author><pubDate>Fri, 03 Sep 2021 17:56:31 +0800</pubDate><description><![CDATA[一、开发分支（dev）上的代码达到上线的标准后，要合并到 master 分支


git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master

二、当master代码改动了，需要更新开发分支（dev）上的代码


git checkout master 
git pull 
git checkout dev
git merge master 
git push -u origin dev


..]]></description><category></category></item><item><title><![CDATA[EEPROM和flash的区别]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/119999845</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/119999845</guid><author>csshuke</author><pubDate>Mon, 30 Aug 2021 16:29:26 +0800</pubDate><description><![CDATA[之前对各种存储器一直不太清楚，今天总结一下。



存储器分为两大类：ram和rom。



ram就不讲了，今天主要讨论rom。



rom最初不能编程，出厂什么内容就永远什么内容，不灵活。后来出现了prom，可以自己写入一次，要是写错了，只能换一片，自认倒霉。人类文明不断进步，终于出现了可多次擦除写入的EPROM，每次擦除要把芯片拿到紫外线上照一下，想一下你往单片机上下了一个程序之后发现有个地方需要加一句话，为此你要把单片机放紫外灯下照半小时，然后才能再下一次，这么折腾一天也改不了几次。历史的车轮不断]]></description><category></category></item><item><title><![CDATA[Keil5.26、Keil5.27、Keil5.30下载地址]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/119727396</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/119727396</guid><author>csshuke</author><pubDate>Mon, 16 Aug 2021 10:35:25 +0800</pubDate><description><![CDATA[亲测有效，速速下载。

mdk5.26下载地址
http://www.keil.com/fid/vquv2wwtdy9j1w9xagw1om5eu9xbkks1e66vd1/files/eval/mdk526.exe

mdk5.27下载地址
https://armkeil.blob.core.windows.net/eval/MDK527pre.EXE

mdk5.30下载地址
http://www.keil.com/fid/w91bz0w320dj1woabtw1mmudm1liu2p1z9yxd1/f]]></description><category></category></item><item><title><![CDATA[Cortex-M的M0，M+，M3，M4，M7几种内核的简单区别]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/118994282</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/118994282</guid><author>csshuke</author><pubDate>Thu, 22 Jul 2021 11:01:19 +0800</pubDate><description><![CDATA[Cortex-M内核M0，M0+，M3，M4，M7之间的区别



high-performance 高性能
Mainstream 主流
Ultra-low-power 低功耗

知识补贴：
之所以ARM公司会把Cortex-M分为这么多系列，主要是针对不同的应用领域；下面详细介绍：

Cortex-M分为：M0，M0+，M3，M4，M7

M0，M0+：基础版本，从图中可以看出来，有过于基础，所以生产不出来高性能的STM32的单片机；
M3：目前最主流的设计内核选型，应用范围广；

M4：比较着M3的内核]]></description><category></category></item><item><title><![CDATA[C语言： 函数调用的开销]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/116482561</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/116482561</guid><author>csshuke</author><pubDate>Fri, 07 May 2021 09:55:30 +0800</pubDate><description><![CDATA[转载请注明来源 http://blog.youkuaiyun.com/imred/article/details/48865359  初学C语言的时候，我们有时会听说函数调用会有一定的开销，在进行了进一步学习之后，我们来看看原来听说的开销指的什么。  下面是两个非常简单的样例，就不作解释了：  ...]]></description><category></category></item><item><title><![CDATA[C语言中volatile关键字的作用]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/115748738</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/115748738</guid><author>csshuke</author><pubDate>Fri, 16 Apr 2021 09:35:41 +0800</pubDate><description><![CDATA[一.前言
1.编译器优化介绍：

由于内存访问速度远不及CPU处理速度，为提高机器整体性能，在硬件上引入硬件高速缓存Cache，加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行，没有相关性的指令可以乱序执行，以充分利用CPU的指令流水线，提高执行速度。以上是硬件级别的优化。再看软件一级的优化：一种是在编写代码时由程序员优化，另一种是由编译器进行优化。编译器优化常用的方法有：将内存变量缓存到寄存器；调整指令顺序充分利用CPU指令流水线，常见的是重新排序读写指令。对常规内存进行优化的时候，]]></description><category></category></item><item><title><![CDATA[USB 2.0高速和全速的区别]]></title><link>https://blog.youkuaiyun.com/csshuke/article/details/113920332</link><guid>https://blog.youkuaiyun.com/csshuke/article/details/113920332</guid><author>csshuke</author><pubDate>Sun, 21 Feb 2021 16:57:48 +0800</pubDate><description><![CDATA[USB 2.0接口标准的三种速度规格 
High-speed 25Mbps～400Mbps(最大480Mbps) (高速)
Full-speed 500Kbps～10Mbps(最大12Mbps)  （全速）
Low-speed 10Kbps～100Kbps（最大1.5Mbps）（低速）
]]></description><category></category></item></channel></rss>