<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shareinfo2018]]></title><description><![CDATA[复杂问题简单化，力求精简强悍。---speak less and do more---]]></description><link>https://blog.youkuaiyun.com/chenyefei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenyefei]]></copyright><item><title><![CDATA[STM32独立看门狗（IWDG）和窗口看门狗（WWDG）的区别【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/115182928</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/115182928</guid><author>chenyefei</author><pubDate>Wed, 24 Mar 2021 17:41:18 +0800</pubDate><description><![CDATA[来自：https://blog.youkuaiyun.com/lyh290188/article/details/104371270

1.看门狗介绍

 看门狗这东西虽然简单，但我相信绝大多程序员没有足够重视它。使用看门狗保证系统正常地运行是非常有必要的。我们在设计产品时，代码以及硬件设计缺陷或是外界电磁干扰都有可能使系统死机，如果不能正常对其进行复位，系统的可靠性将大打折扣。看门狗分为软件看门狗和硬件看门狗两类，其原理都是使用一个独立定时器来计时，超出时间就会产生复位信号，主要区别看是否具有独立的硬件结构，如果有.]]></description><category></category></item><item><title><![CDATA[sunmi打印小票测试]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/108811908</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/108811908</guid><author>chenyefei</author><pubDate>Sat, 26 Sep 2020 15:03:18 +0800</pubDate><description><![CDATA[本来打算2020都不写博客的，因为太忙了，一直在项目。不是在项目的策划中，就是在项目的实现中；不是在项目的实现中，就是在项目修复bug中；不是在项目的修复bug中，就是在项目的新增需求中; 项目，项目还是项目，循环往复无穷尽也。坑也罢，路也罢，任他东西南北龙卷风，博客还是要不断进行中...哈哈哈

sunmi打印小票测试代码：


public void printerTest(){
        SunmiPrintHelper.getInstance().print3Line();
       ..]]></description><category></category></item><item><title><![CDATA[STM32的串口1,2,3,4,5初始化]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/103082726</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/103082726</guid><author>chenyefei</author><pubDate>Fri, 15 Nov 2019 12:09:31 +0800</pubDate><description><![CDATA[串口1：


void Usart1_Init(u32 baud)
{
    //GPIO端口设置
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;
     
    RCC_APB2Periph...]]></description><category></category></item><item><title><![CDATA[cookies和session的关系【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/100805983</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/100805983</guid><author>chenyefei</author><pubDate>Fri, 13 Sep 2019 16:53:21 +0800</pubDate><description><![CDATA[来自：https://zhidao.baidu.com/question/2855587.html

Cookie是一种发送到客户浏览器的文本串句柄，并保存在客户机硬盘上，
可以用来在某个Web站点会话之间持久地保持数据。Request和Response对象都有
一组Cookie。Request.cookie集合是一系列Cookie，从客户端与HTTP Request一
起发送到Web服务器。反过...]]></description><category></category></item><item><title><![CDATA[计算机只通过加法实现减法，乘法，除法c实现(致新手)]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/98378204</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/98378204</guid><author>chenyefei</author><pubDate>Sat, 03 Aug 2019 21:06:34 +0800</pubDate><description><![CDATA[c代码(只是整数处理情况)：


#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;

int add(int a, int b)
{
    return a + b;
}

int sub(int a, int b)
{
    int tmp = ~b; //反码
    tmp = tmp + 1;//补码
    return add(a...]]></description><category></category></item><item><title><![CDATA[如何推导欧拉公式e^iθ=cosθ+i*sinθ【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/94411596</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/94411596</guid><author>chenyefei</author><pubDate>Mon, 01 Jul 2019 22:25:37 +0800</pubDate><description><![CDATA[来自：https://blog.youkuaiyun.com/yesyes120/article/details/81156295

相信大多数人都知道大名鼎鼎的数学最美的公式：

为什么说它是最美的呢？因为它包含了指数里最基本的e，复数里最基本的 i ，圆频率最基本的 π，以及自然数里最基本的0和1。

本质上这个公式是由这个公式推导过来的，把θ换成π即可。

那么这个公式是如何得到的呢？可以使用高等数...]]></description><category></category></item><item><title><![CDATA[不用单片机驱动1602LCD]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/94322330</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/94322330</guid><author>chenyefei</author><pubDate>Sun, 30 Jun 2019 15:08:52 +0800</pubDate><description><![CDATA[很久前的测试，本意是想用分立元件搭建一个cpu，也成功实现了8条命令，32字节的寻址空间，只是比较乱，后来整理了下，下一篇上传程序跳转功能部分。这部分主要实现程序的PC功能的测试，纯属测试，也有点新意。

使用元件有：1个数字方波发生器，3个计数器，2个存储器，1个lcd



c.bin文件内容：



d.bin文件内容：


...]]></description><category></category></item><item><title><![CDATA[你还没明白嵌入式ARM的MMU和Cache机制？看这里老司机给你解答【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/91474007</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/91474007</guid><author>chenyefei</author><pubDate>Tue, 11 Jun 2019 22:06:12 +0800</pubDate><description><![CDATA[来自：http://www.sohu.com/a/165155521_777180

Cache是高性能CPU解决总线访问速度瓶颈的方法，然而它的使用却是需要权衡的，因为缓存本身的动作，如块拷贝和替换等，也是很消耗CPU时间的。MMU的重要性勿庸置疑，ARM920T（和ARM720T）集成了MMU是其最大的卖点；有了MMU，高级的操作系统（虚拟地址空间，平面地址，进程保护等）才得以实现。二者都挺复...]]></description><category></category></item><item><title><![CDATA[嵌入式处理器中cache数据不一致性的解决方法【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/91466743</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/91466743</guid><author>chenyefei</author><pubDate>Tue, 11 Jun 2019 20:58:02 +0800</pubDate><description><![CDATA[来自：http://m.elecfans.com/article/889625.html

随着嵌入式计算机应用的发展，嵌入式CPU的主频不断提高，这就造成了慢速系统存储器不能匹配高速CPU处理能力的情况。为了解决这个问题，许多高性能的嵌入式处理器内部集成了高速缓存cache。其中，三星公司的S3C44B0X内部就集成了8 KB空间统一的指令和数据Cache。

Cache即高速缓冲存储器，是位于...]]></description><category></category></item><item><title><![CDATA[超级详细Tcpdump 的用法【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/90452455</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/90452455</guid><author>chenyefei</author><pubDate>Wed, 22 May 2019 21:22:19 +0800</pubDate><description><![CDATA[来自：https://www.cnblogs.com/maifengqiang/p/3863168.htm

1、抓取回环网口的包：tcpdump -i lo

2、防止包截断：tcpdump -s0

3、以数字显示主机及端口：tcpdump -n



第一种是关于类型的关键字，主要包括host，net，port, 例如 host 210.27.48.2，指明 210.27.48.2是一台...]]></description><category></category></item><item><title><![CDATA[GDB 格式化结构体输出【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/90246657</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/90246657</guid><author>chenyefei</author><pubDate>Wed, 15 May 2019 22:30:50 +0800</pubDate><description><![CDATA[来自：https://blog.youkuaiyun.com/unix21/article/details/9991925

set print address
set print address on
打开地址输出，当程序显示函数信息时，GDB会显出函数的参数地址。系统默认为打开的，
show print address
查看当前地址显示选项是否打开。

set print array
set print ...]]></description><category></category></item><item><title><![CDATA[Ubuntu下查看运行程序文件的所在目录以及占用端口]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/89363692</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/89363692</guid><author>chenyefei</author><pubDate>Wed, 17 Apr 2019 20:19:38 +0800</pubDate><description><![CDATA[$ ps -aux | grep "bash"
host    2003  0.0  0.5   9836  5672 pts/0    Ss    2018   0:00 -bash
host    2116  0.0  0.5   9836  5156 pts/1    Ss    2018   0:00 -bash
host    2306  0.0  0.5   9836  5608 p...]]></description><category></category></item><item><title><![CDATA[vim进阶 | 使用插件打造实用vim工作环境【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/88070468</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/88070468</guid><author>chenyefei</author><pubDate>Fri, 01 Mar 2019 22:51:43 +0800</pubDate><description><![CDATA[来自：https://www.jianshu.com/p/56385f4f95f5?from=jiantop.com

首先晒一张我的vim截图，基本IDE有的功能都能实现了，虽然在日常工作里还是用商用软件SourceInsight，但是作为一个开发者，少不了折腾的心。



myvim

vim，作为与emacs齐名的编辑器，无需更多溢美之词，由于学习曲线陡峭，但是学会之人，无不表示其方便，vi...]]></description><category></category></item><item><title><![CDATA[vim 插件管理器 Vundle 安装与配置【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/88069416</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/88069416</guid><author>chenyefei</author><pubDate>Fri, 01 Mar 2019 21:55:40 +0800</pubDate><description><![CDATA[来自：https://www.jianshu.com/p/1839f1fb3f08

安装插件管理器 Vundle


git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim


配置

修改~/.vimrc:


set nocompatible              &quot; 这是必需的 
fi...]]></description><category></category></item><item><title><![CDATA[(深入理解计算机系统) bss段，data段、text段、堆(heap)和栈(stack)【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/87884878</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/87884878</guid><author>chenyefei</author><pubDate>Fri, 22 Feb 2019 20:06:50 +0800</pubDate><description><![CDATA[来自：https://www.cnblogs.com/yanghong-hnu/p/4705755.html

bss段：

　　bss段（bss segment）通常是指用来存放程序中未初始化的全局变量的一块内存区域。

　　bss是英文Block Started by Symbol的简称。

　　bss段属于静态内存分配。 

  

data段：

　　数据段（data segment）通常...]]></description><category></category></item><item><title><![CDATA[gdb调试工具常用命令【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/86726657</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/86726657</guid><author>chenyefei</author><pubDate>Thu, 31 Jan 2019 21:29:00 +0800</pubDate><description><![CDATA[来自：https://www.cnblogs.com/tangtangde12580/p/8045980.html

编译程序时需要加上-g，之后才能用gdb进行调试：gcc -g main.c -o main

gdb中命令：

回车键：重复上一命令

（gdb）help：查看命令帮助，具体命令查询在gdb中输入help + 命令,简写h

（gdb）run：重新开始运行文件（run-text：...]]></description><category></category></item><item><title><![CDATA[rt-thread中的list测试]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/86658196</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/86658196</guid><author>chenyefei</author><pubDate>Sat, 26 Jan 2019 16:09:51 +0800</pubDate><description><![CDATA[rt-thread通过list管理相关设备，分层以及接口管理，list的大致框架如下：



测试代码：


#include &amp;lt;stdio.h&amp;gt; 
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;stdint.h&amp;gt;
#include &amp;lt;string.h&amp;gt;


enum obj_class_type
{
    Obj_Test1 = 0...]]></description><category></category></item><item><title><![CDATA[rt-thread中的XXX_EXPORT()测试]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/86652531</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/86652531</guid><author>chenyefei</author><pubDate>Fri, 25 Jan 2019 22:08:06 +0800</pubDate><description><![CDATA[测试代码：


#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;
#include &amp;lt;stdint.h&amp;gt;
 

typedef long (*syscall_func)(void);

typedef struct st_syscall
{
    const char*     name;  
    const char*    ...]]></description><category></category></item><item><title><![CDATA[SRAM、PSRAM、SPI FLASH杂记【转】]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/86544547</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/86544547</guid><author>chenyefei</author><pubDate>Fri, 18 Jan 2019 18:15:23 +0800</pubDate><description><![CDATA[来自：https://blog.youkuaiyun.com/sinat_27746419/article/details/79620816

当前工作内容主要是在RDA5981平台上来进行产品开发设计，在设计过程中接触到了SRAM、PSRAM和SPI FLASH等，故借此机会来整理该方面的相关知识。 
以下内容比较杂乱，主要记录了SRAM、PSRAM、DRAM、SDRAM的概念和PSRAM的简介以及SPI ...]]></description><category></category></item><item><title><![CDATA[结构体内存对齐测试]]></title><link>https://blog.youkuaiyun.com/chenyefei/article/details/86508829</link><guid>https://blog.youkuaiyun.com/chenyefei/article/details/86508829</guid><author>chenyefei</author><pubDate>Wed, 16 Jan 2019 15:40:46 +0800</pubDate><description><![CDATA[代码：


#include &lt;stdio.h&gt; 
#include &lt;string.h&gt;
#include &lt;stdint.h&gt;
#include &lt;stdlib.h&gt;
 
/*
** 结构体中按照最长的一个成员变量大小对齐
**/
 
/**************************************
* |  1  |  2  |
...]]></description><category></category></item></channel></rss>