<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CallMeSumo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CallMeSumo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CallMeSumo]]></copyright><item><title><![CDATA[when FreeRtos is used.It is strongly recommended to use  a HAL timebase source other than the Systic]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/89403787</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/89403787</guid><author>CallMeSumo</author><pubDate>Fri, 19 Apr 2019 17:57:56 +0800</pubDate><description><![CDATA[在stmcubeMX中进行配置的时候，如果使用了freertos系统，生成代码的时候会有如下提示：



其意思就是，当使用了FreeRtos的时候，强烈建议HAL库使用除了Systick以外的时钟源。也就是说当不使用FreeRtos的时候，HAL使用的是systick作为时钟源，现在使用了rtos，不建议hal库和rtos一起使用systick作为时钟源。

我们先看一下rtos和HAL库使用s...]]></description><category></category></item><item><title><![CDATA[ESP8266使用入门教程]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78814321</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78814321</guid><author>CallMeSumo</author><pubDate>Fri, 15 Dec 2017 16:21:07 +0800</pubDate><description><![CDATA[本文目标：了解esp8266以及其开发流程芯片介绍：8266片上集成wifi+MCU，使用的是一个M0的内核，而且成本很低，因为片上有wifi和MCU，所以作为网络终端非常的方便，当然，因为是wifi，所以低功耗方面就别想了，低功耗+联网，NB-IOT更加合适。固件：下面先介绍一下芯片固件的概念，说白了，esp8266也是一个单片机，上电还是得从0地址开始跑，平时我们使用单片机，一般都是使用keil]]></description><category></category></item><item><title><![CDATA[在阿里云服务器上搭建SVN服务器]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78753230</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78753230</guid><author>CallMeSumo</author><pubDate>Fri, 08 Dec 2017 16:45:11 +0800</pubDate><description><![CDATA[购买阿里云服务的步骤就说了，登陆上服务器之后 
1.安装svn软件包



sudo apt-get install subversion

2.创建SVN的服务文件夹，我将服务文件夹路径设置为 /home/svn



sudo mkdir /home/svn

3.创建仓库



sudo svnadmin create /home/svn/mywork    //mywork就是你要创建的仓]]></description><category></category></item><item><title><![CDATA[虚拟机  grub error: unknown filesystem错误解决办法]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78743768</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78743768</guid><author>CallMeSumo</author><pubDate>Thu, 07 Dec 2017 17:24:13 +0800</pubDate><description><![CDATA[问题描述：虚拟机启动的时候，提示grub error: unknown filesystem这个错误，至于原因，有可能因为之前将uboot烧写到sd卡，用了dd命令，有可能弄错了扇区，把主硬盘的文件系统信息给覆盖了，因为我在扇区0,1,2都写了数据，说多都是泪注意：这篇文章提供一个解决思路，因为今天运气实在太差，导致到了最后还是没能拯救整个虚拟机，但是知道大概的方法网上好多文章都是因为安装了双系统，]]></description><category></category></item><item><title><![CDATA[（三）对套接字的设置参数进行设置]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78376597</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78376597</guid><author>CallMeSumo</author><pubDate>Sat, 28 Oct 2017 15:57:32 +0800</pubDate><description><![CDATA[我们还可以自己设置套接字的参数，例如缓冲区的大小，是否使用Nagle算法等等直接上代码跟注释吧，前段时间写好放在电脑上的，直接copy一份，懒得排格式了#include <sys/socket.h>//设置套接字的参数主要通过两个函数。一个是设置，一个是获取设置
//获取参数
//getsockopt(int sock,int level,int optname,void*optval,sockle]]></description><category></category></item><item><title><![CDATA[（二）关于套接字的断开操作--半关闭]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78376504</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78376504</guid><author>CallMeSumo</author><pubDate>Sat, 28 Oct 2017 15:50:26 +0800</pubDate><description><![CDATA[在我们断开套接字的时候，应该尽量保证一个通信流程的完整，例如服务器或者客户端要关闭套接字，应该跟对方说：我要断开了，对方收到断开请求，有的时候要做响应的处理，比如保存当前状态，或者发送最后一帧数据报告断开前的状态，直接调用close（）不是不是最好的方法半关闭服务器端，一般服务器主动断开连接的时候，才会用到半关闭， 
半关闭的意思是，服务器关闭写通道，此时会给客户端发送一个EOF信息，客户端收到之后]]></description><category></category></item><item><title><![CDATA[（一）关于socket编程的一些基础数据类型]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78376359</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78376359</guid><author>CallMeSumo</author><pubDate>Sat, 28 Oct 2017 15:37:53 +0800</pubDate><description><![CDATA[经常使用socket进行数据通信，经常会被里边的一些数据类型以及结构体搞蒙，下边进行分类，代码不是死记硬背，分类记住就好，要用到的时候，知道有这个用法，再慢慢去细查具体使用方法一下是一个简单的tcp服务端，根据服务端的代码对用到的数据类型和结构体做一个简单的讲解，根据标号，寻找对应的注释#include <stdio.h>
#include <string.h>
#include <arpa/ine]]></description><category></category></item><item><title><![CDATA[关于c++观察者模式的理解]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78376026</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78376026</guid><author>CallMeSumo</author><pubDate>Sat, 28 Oct 2017 15:09:49 +0800</pubDate><description><![CDATA[观察者模式，有时又称为发布-订阅模式，是软件设计模式的一种，在这个模式中，当被观察者发生改变时，会主动通知所有关注它的观察者，它的一个大致实现原理是：被观察者类中，有一个容器，当有观察者关注它时，被观察者会将这个观察者添加到这个容器中，被观察者有事件发生时，会遍历这个容器，通知所有关注它的观察者。具体实现方法：被观察者发生事件的时候，如何通知观察者呢？通常做法是直接调用观察者的某个方法，但是这样做的]]></description><category></category></item><item><title><![CDATA[QT 按键样式设置]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78216199</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78216199</guid><author>CallMeSumo</author><pubDate>Thu, 12 Oct 2017 16:16:10 +0800</pubDate><description><![CDATA[开发的QT程序的时候，按键效果一般都会自己写，按下和释放的效果以及按键被禁用的效果，直接上程序吧，不同的控件样式表的内容应该不一样，网上找了很久没有找到QT的样式说明，哪位朋友找到了还望不吝赐教，下面直接上代码：QPushButton{//默认样式
border-radius:10px;//圆角
color: rgb(255, 255, 255);//按钮文字颜色
background-color:]]></description><category></category></item><item><title><![CDATA[Ubuntu安装VMware Tools]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78048957</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78048957</guid><author>CallMeSumo</author><pubDate>Thu, 21 Sep 2017 10:28:34 +0800</pubDate><description><![CDATA[在虚拟机里边的ubuntu安装VMware Tools
在虚拟机的工具选择安装VMware Tools，因为我已经安装了，所以这里显示的是重新安装 点击之后，会将安装文件以磁盘的方式放进虚拟机里边，也就是类似于虚拟机放入了一张光盘，安装文件就在光盘里边将tar.gz文件拷贝到本机的一个文件夹里边，我拷贝到了用户文件夹下边
$ cp VMwareTools-10.0.10-4301679.tar.gz]]></description><category></category></item><item><title><![CDATA[Ubuntu 设置自定义分辨率]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/78041791</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/78041791</guid><author>CallMeSumo</author><pubDate>Wed, 20 Sep 2017 15:48:44 +0800</pubDate><description><![CDATA[ubuntu 在1920×1080的显示器上无法全屏显示，在系统分辨率设置中没有对应的分辨率，所以要添加自定义的分辨率步骤
查看参数 ，Modeline 后边的参数等下要用到
$  cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"]]></description><category></category></item><item><title><![CDATA[关于STM32莫名死机的一些问题记录]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/72841697</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/72841697</guid><author>CallMeSumo</author><pubDate>Fri, 02 Jun 2017 10:10:39 +0800</pubDate><description><![CDATA[问题描述
ZET6跑了ucosII系统，在运行过程中有时会出现死机的情况，经过硬件调试发现，是进入延时的时候导致的这个问题，延时函数是没有问题的，而且这个问题是偶尔出现
问题排查
死机之后指针指向了硬件错误中断，初步猜测是因为栈溢出，因为跑了系统，并且函数的嵌套层数比较多，导致栈内存不够，进入了硬件错误中断
解决方法
将函数分离出来，减少函数嵌套，因为每一个函数都会分配单独的内存空间，所以多层的函数]]></description><category></category></item><item><title><![CDATA[STM32中使用long long 型的数据以及数据的转换]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/70312187</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/70312187</guid><author>CallMeSumo</author><pubDate>Fri, 21 Apr 2017 10:48:20 +0800</pubDate><description><![CDATA[因为要保存运单号码，又不想使用字符串保存，所以就用了uint_64_t的类型保存数据，传输的时候要将其转为字节数组，使用联合体能方便进行转换//8个字节长度的联合体，注意，因为M3是使用的小端模式，所以高字节的数据是保存在高地址中的
union  byte8
{
  uint64_t u64_buf;
  u8 u8_buf[8];
  u16 u16_buf[4];
  u32 u32_buf[2]]></description><category></category></item><item><title><![CDATA[c语言结构体数据对齐问题]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/70310865</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/70310865</guid><author>CallMeSumo</author><pubDate>Fri, 21 Apr 2017 10:24:28 +0800</pubDate><description><![CDATA[问题描述：在开发过程中，构建了一个结构体，然后将结构体保存到flash芯片中，读取出来的时候数据内容和存进去的不一样（STM32F103芯片）问题所在：构建结构体的时候，没有注意到结构体数据的对齐问题，计算错了结构体的大小详细说明：没有进行对齐的结构体内容如下：根据结构体的内容，按照常规的计算方式，那么这个结构体的大小是32个字节，所以我写到flash里边的时候，写入长度就给了32个字节的长度。st]]></description><category></category></item><item><title><![CDATA[关于STM32 使用ST-Link下载提示 Internal command error的问题]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/70154673</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/70154673</guid><author>CallMeSumo</author><pubDate>Thu, 13 Apr 2017 10:28:16 +0800</pubDate><description><![CDATA[问题描述：
芯片使用的是STM32F103ZET6，使用ST-link 接上芯片，在keil的Debug->Setting中是能识别到芯片的，Flash固件也选多了，点击下载的时候提示  Internal command error，换jlink使用swd方式接上芯片，不能识别芯片
问题所在：
我在vcc和verf+之间串了一个10K的电阻，导致verf+的电压只有1.5V，所以st-lin]]></description><category></category></item><item><title><![CDATA[关于Vs2012重新生成解决方案时提示exe访问被拒绝的处理方式]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/52013034</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/52013034</guid><author>CallMeSumo</author><pubDate>Sun, 24 Jul 2016 11:13:57 +0800</pubDate><description><![CDATA[今天用VS写程序，中途调试的时候程序崩了，然后修改程序，再次运行重新生成解决方案的时候总是提示xxxxxx.exe（xxx是你的文件名称）访问被拒绝


清理解决方案不管用，把debug删除了也不管用，后边修改输出目录就可以正常生成解决方案了
没有修改之前是这样的：


修改之后是这样：


怀疑是因为调试出错的时候导致这个宏变量丢失了，找不到路径]]></description><category></category></item><item><title><![CDATA[STM32的启动过程]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/52005768</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/52005768</guid><author>CallMeSumo</author><pubDate>Sat, 23 Jul 2016 17:59:07 +0800</pubDate><description><![CDATA[当运行main函数的时候，芯片不是直接执行main函数的，还有一个启动的过程
M3的启动方式由boot0和boot1选择，可以有三种启动方式


最常用的应该是第一种，就是将程序存储在片内的flash上，掉电后程序不会消失。
boot引脚的设置不同，芯片复位后起始地址就不同，选择从flash启动的时候，其复位地址就是0x08000000，Cortex-M3内核规定，起始地址必须放置堆顶指]]></description><category></category></item><item><title><![CDATA[STM32的内存地址映射与IAP下载]]></title><link>https://blog.youkuaiyun.com/CallMeSumo/article/details/52003338</link><guid>https://blog.youkuaiyun.com/CallMeSumo/article/details/52003338</guid><author>CallMeSumo</author><pubDate>Sat, 23 Jul 2016 11:36:05 +0800</pubDate><description><![CDATA[stm32的flash地址起始于0x08000000，结束地址是0x080000000加上芯片实际的flash大小，不同的芯片flash大小不同。RAM起始地址上0x200000000，结束地址是0x20000000加上芯片的RAM大小。STM32将外设等都映射为地址的形式，对地址的操作就是多外设的操作。
stm32的外设地址从0x40000000开始，可以看到在库文件中，是通过基于0x4000]]></description><category></category></item></channel></rss>