<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[网布的世界]]></title><description><![CDATA[共同学习，共同进步]]></description><link>https://blog.youkuaiyun.com/wangbuu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangbuu]]></copyright><item><title><![CDATA[C#从网站爬取小说]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/137678076</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/137678076</guid><author>wangbuu</author><pubDate>Fri, 12 Apr 2024 17:50:44 +0800</pubDate><description><![CDATA[学习使用c#制作一个windows小程序在小说网站爬取小说。对于一些网络小说想要下下来却找不到下载的地方，只要能在线浏览的基本都可以通过分析后台的html来获取到内容。程序还有很多需要优化的地方，文章目的只是一个c#编程的练习，起到抛砖引玉的作用。]]></description><category></category></item><item><title><![CDATA[STM32F 驱动WS2812B (3) SPI+DMA]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/125293732</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/125293732</guid><author>wangbuu</author><pubDate>Wed, 15 Jun 2022 14:05:51 +0800</pubDate><description><![CDATA[原理说明在《STM32F 驱动WS2812B (1) IO口》已经说明实现逻辑1跟逻辑0的脉冲将数据通过DMA发送到SPI外设，发送前面80us的低电平RESET信号以及每个灯珠的24个逻辑0或者1的脉冲。芯片使用STM32F107VC
理清思路，上一期通过TIM方式驱动灯组的时候说过，对于灯带的逻辑1就是一个高电平800ns低电平450ns的脉冲，逻辑0就是一个高电平400ns低电平850ns的脉冲。脉冲周期为1250ns。所以理论上通过SPI的方式可以产生这两种脉冲就可以实现控制灯带。...]]></description><category></category></item><item><title><![CDATA[STM32F 驱动WS2812B (2) PWM+DMA]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/116264731</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/116264731</guid><author>wangbuu</author><pubDate>Thu, 29 Apr 2021 15:19:40 +0800</pubDate><description><![CDATA[STM32F412通过TIM PWM DMA方式驱动WS2812B一、基本思路STEP1：STEP2：二、实现1.配置CUBEMX2.配置DMA3.配置GPIO口4.修改工程三、验证1.抓取0 code波形2.抓取1 code波形3.验证发送脉冲个数以及时间一些想法部分关键代码

一、基本思路
原理说明在《STM32F 驱动WS2812B (1) IO口》已经说明
STEP1：
实现逻辑1跟逻辑0的脉冲，这里用PWM修改占空比方式实现。
STEP2：
将数据通过DMA发送到TIM外设，发送前面80us的低电]]></description><category></category></item><item><title><![CDATA[STM32F 驱动WS2812B (1) IO口]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/116267529</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/116267529</guid><author>wangbuu</author><pubDate>Thu, 29 Apr 2021 15:19:13 +0800</pubDate><description><![CDATA[STM32F107通过IO翻转驱动WS2812BLED灯组基本原理基本思路代码实现总结关键源码

基本原理
根据WS2812B的datasheet，这个灯组的控制方式是单IO控制，以高电平的时间不同来判定当前的数据是“1”还是“0”。如下图所示：


从图中可以看出0 code对应一个高电平400ns低电平850ns的脉冲，而1 code对应一个高电平800ns，低电平450ns的脉冲，无论0 code还是1 code的脉冲周期都是1250ns。还有一个reset电平是一个大于50us的低电平表示reset]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（8）- Petalinux 2018.2 编译移植Marvell8801wifi内核模块]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/107798430</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/107798430</guid><author>wangbuu</author><pubDate>Tue, 04 Aug 2020 20:34:30 +0800</pubDate><description><![CDATA[前言
petalinux2018.2用的内核版本是4.14.0

marvell8801给的驱动所依赖的内核版本是3.10.11

由于内核的API在这两个版本上是有区别的，所以需要修改，其次还需要修改makefile。
目录结构
sd8801的驱动目录如下
D:\DOWNLOADS\SD-UAPSTA-8801-FC18-MMC-14.85.36.P101-C3X14160_B0-GPL-RELEASE
│  SD-UAPSTA-8801-FC18-MMC-14.85.36.p101-C3X14160_B]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（7）-Ubuntu下SDK编写linux应用程序 Petalinux 2018.2]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/107782861</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/107782861</guid><author>wangbuu</author><pubDate>Tue, 04 Aug 2020 13:04:02 +0800</pubDate><description><![CDATA[前言
之前一篇说明了在windows下编写应用程序的方法，在ubuntu下使用Xilinx SDK编写应用程序还是比较方便的，主要有以下几个步骤。
前提：
安装好petalinux2018.2
准备工作
1.安装Xilinx SDK 2018.2 Linux版本
解压缩sdk文件夹，得到如图所示文件夹内容：

在文件夹下运行终端，在终端中输入./xsetup，进入到安装界面

如下图所示进行勾选安装即可

安装完成后在桌面会有SDK的图标

2.生成可用的sysroot文件夹
在petalinux工程的目录]]></description><category></category></item><item><title><![CDATA[STM32 HAL库CAN同时发送超过3条推荐方法]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/105708499</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/105708499</guid><author>wangbuu</author><pubDate>Thu, 23 Apr 2020 15:56:31 +0800</pubDate><description><![CDATA[STM32 HAL库CAN同时发送超过3条推荐方法前言方法1方法2方法3（推荐）
前言
在STM32的HAL库中使用CAN发送使用的是HAL_CAN_AddTxMessage，在这个函数里面发送的时候会先去判断3个发送的fifo是否是满的，如果都是满的，就会直接跳出了，所以如果程序中是连续发送若干条can消息的话，如果超过3条就会出现只能发送3条的状况，想要解决这种问题有几个方法
方法1
通过在H...]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（6）-Windows下SDK编写linux应用程序 Petalinux 2018.2]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/104426184</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/104426184</guid><author>wangbuu</author><pubDate>Fri, 21 Feb 2020 13:25:22 +0800</pubDate><description><![CDATA[前言
继上一篇博客已经很长时间没更新了，这段时间空下来可以在继续跟大家共同学习共同进步了，在这之间的时间有很多朋友关注着，也加了我QQ问了一些问题，我最近也会把大家问的问题收集下来，然后做个集锦，相信大家第一次搞这个肯定会碰到一些问题。
这篇博客主要来说一下，在windows下面怎么编写，编译linux代码，我像很多人也习惯操作windows下的SDK软件，其实不论linux下的sdk或者是win...]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（5）-Linux应用程序-前言 Petalinux 2018.2]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/87266898</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/87266898</guid><author>wangbuu</author><pubDate>Thu, 14 Feb 2019 13:22:14 +0800</pubDate><description><![CDATA[前言
应用程序的编写，主要有两种方法。可以通过在终端中petalinux-create新建一个app，然后在里面编写，最后通过petalinux-build进行编译，但是这样会造成时间很长，并且调试起来会比较麻烦。这种方式适合编译一些比较小的app并且希望加入到文件系统里面的情况。在调试的阶段我推荐用下面的一种方式来进行开发应用程序，就是通过SDK来开发应用程序。这种开发方式的前提是可以通过网络远...]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（4）-修改使用emmc加载内核 Petalinux 2018.2]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/85621346</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/85621346</guid><author>wangbuu</author><pubDate>Wed, 02 Jan 2019 16:10:59 +0800</pubDate><description><![CDATA[前言
板子上使用的是8G的emmc连接到sd1，首先要对emmc格式化，然后在修改petalinux kernel的保存位置，之后在生成boot.bin然后修改环境变量就可以了。
Step1: 格式化emmc
查看是否识别到当前的emmc，可以看到mmcblk1说明识别到了emmc
ls /dev

格式化emmc
mkdosfs -F 32 /dev/mmcblk1

查看所有磁盘的状态
fdi...]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（3）-导入硬件，配置，编译，生成，烧录 Petalinux 2018.2]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/85620705</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/85620705</guid><author>wangbuu</author><pubDate>Wed, 02 Jan 2019 15:56:48 +0800</pubDate><description><![CDATA[ZYNQ-Linux学习笔记（3）-导入硬件，配置，编译，生成，烧录 Petalinux 2018.2Petalinux 2018.2安装Step1:下载文件Step2:安装依赖包Step3:安装petalinux导入硬件配置Step1:新建vivado工程Step2:生成fsblStep3:新建petalinux工程配置并编译Step1:外设选择Step2:选择boot存储位置Step3:选择k...]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（2）-在Xilinx SDK中建立Linux应用程序]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/81189016</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/81189016</guid><author>wangbuu</author><pubDate>Tue, 24 Jul 2018 17:33:33 +0800</pubDate><description><![CDATA[写在前面： 
注意：在前篇中所用的工具都是2015.2，从这篇开始将使用2017.4进行操作。 
安装环境：win7,win10,Xilinx SDK 2017.4,Xilinx Vivado 2017.4 
虚拟机：Ubuntu16.04，petalinux 2017.4



建立Petalinux工程


在安装好petalinux2017.4的Ubuntu中（具体安装方法请参考上一篇），新...]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（1续）-microzed在VIVADO中的配置]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/80475699</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/80475699</guid><author>wangbuu</author><pubDate>Mon, 28 May 2018 09:43:17 +0800</pubDate><description><![CDATA[上次一篇文章中间说到的vivado的详细配置，在下面列出来： 
 
 
 
 
 
 
 
 
 
 
 
 
 


相关的文件可以再这里下载：链接：https://pan.baidu.com/s/1dospsRArIlMv-h3LcovNwA 密码：yqsj  
有问题可以留言或者发邮件到839089604@qq.com...]]></description><category></category></item><item><title><![CDATA[xilinx zynq 7000 FSBL启动分析（二）]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/80047791</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/80047791</guid><author>wangbuu</author><pubDate>Tue, 24 Apr 2018 16:30:38 +0800</pubDate><description><![CDATA[前言

在上一次分析中，分析到了



HandoffAddress = LoadBootImage();

在分析这个函数之前，在从0地址运行之前，在复位（上电复位）之后会从bootROM这个位置开始执行代码，在bootROM中，程序会将QSPI（如果是从qspi启动的话）的前nK的数据拷贝到OCM中，然后跳转到OCM中执行。把生成的BOOT.bin文件用二进制程序打开，根据数据手册可以分析一下...]]></description><category></category></item><item><title><![CDATA[xilinx zynq 7000 FSBL启动分析（一）]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/80000621</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/80000621</guid><author>wangbuu</author><pubDate>Thu, 19 Apr 2018 10:00:53 +0800</pubDate><description><![CDATA[





花了几天看完了FSBL的代码，在这里做个总结，分析一下zynq的启动过程。

众所周知，xilinx zynq 7000系列的芯片中包括两个部分，PS和PL，也就是FPGA的逻辑编程的部分跟嵌入式ARM的部分，ARM部分是双核的A9处理器。关于FPGA的部分在这里就不说了。其实说的简单点，可以吧这个芯片看成一个带有FPGA外设的ARM处理器，下面详细分析一下启动流程。

所有的芯片都是...]]></description><category></category></item><item><title><![CDATA[ZYNQ-Linux学习笔记（1）-从零开始在MicroZed7020上使用PETALIUX tool工具创建Linux]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/79986534</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/79986534</guid><author>wangbuu</author><pubDate>Wed, 18 Apr 2018 12:05:13 +0800</pubDate><description><![CDATA[

前言
实验平台
安装依赖包
安装PetaLinux


修改dash-&amp;gt;bash（如果需要）
安装PetaLinux 2015.2






通过VIVADO创建硬件平台


新建工程
配置芯片以及外设






PetaLinux新建工程
导入硬件配置
配置内核，根文件系统
编译以及启动
总结









前言

经过很多天的摸索尝试各种方法，最后在自己的脑海中有了一个大体的...]]></description><category></category></item><item><title><![CDATA[ZYNQ学习笔记]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/50971436</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/50971436</guid><author>wangbuu</author><pubDate>Thu, 24 Mar 2016 14:27:36 +0800</pubDate><description><![CDATA[在ubantu下安装交叉编译器arm-xilinx-linux-gnueabi-gcc 方法
git clone https://github.com/xupsh/CodeSourcery.git
echo "export PATH=~/CodeSourcery/bin:$PATH">>~/.bashrc
echo "wxport CROSS_COMPILE=arm-xilinx-linux]]></description><category></category></item><item><title><![CDATA[痛苦的挣扎--msp430g2553我恨你！]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/44417873</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/44417873</guid><author>wangbuu</author><pubDate>Wed, 18 Mar 2015 17:57:03 +0800</pubDate><description><![CDATA[已经3天了，3天每天晚上都调程序调到很晚，写这篇博客就是用来见证自己有没有焕然大悟的一天。
事实证明不要过于自信，不要太看得起自己，自认为懂一点单片机的知识，自认为自己有些项目经验。面对一个简单的SPI，自认为自己能轻松解决。但是我错了，原本信心满满的开始自己的一个小小的实验，但是中间出现了许多问题，无论怎样的调试就是出不来结果。
事情是这样开始的，因为一个项目，需要3轴加速度传感器，翻了下工]]></description><category></category></item><item><title><![CDATA[小白的ARDUINO日志二--时钟]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/26435273</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/26435273</guid><author>wangbuu</author><pubDate>Wed, 21 May 2014 06:44:37 +0800</pubDate><description><![CDATA[今天我们说一下单片机的灵魂----时钟
单片机的时钟就像我们人类的心脏一样，不停地跳动才得以工作。在编写程序之前，一定要先了解时钟，没有时钟整个程序是运行不了的。那么这里小白就有个疑问。怎么去了解它，知道时钟的哪些东西才能更好的去编写程序呢？
我们学习时钟，分三个部分，输入、输出跟控制过程。输入即时钟的输入源，有哪些，比如晶振、RC振荡器等等。输出即这些个时钟最终是让位处理器的哪些部分正常的工]]></description><category></category></item><item><title><![CDATA[小白的ARDUINO日志]]></title><link>https://blog.youkuaiyun.com/wangbuu/article/details/26281689</link><guid>https://blog.youkuaiyun.com/wangbuu/article/details/26281689</guid><author>wangbuu</author><pubDate>Mon, 19 May 2014 20:16:20 +0800</pubDate><description><![CDATA[今天是5月19日，星期一
（win7 64位INF中的服务安装段落无效解决方法）
把遗忘很久的AEDUINO的板子拿出来研究研究，遂写下这个开篇报告，以后也许会长期更新下去。在家里翻了好久终于在角落里找到了这块板子，之前买来并没有好好利用，这次就拿这个板子从头学起，现在几乎什么都忘光了，变成菜鸟了，如果有地方说的不对请及时纠正。
为什么要去搞这个ARDUINO呢？一来因为我比较喜欢这种简单的]]></description><category></category></item></channel></rss>