<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zn2016的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zn2016</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zn2016]]></copyright><item><title><![CDATA[单片机存储中的大小端模式]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/80611679</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/80611679</guid><author>zn2016</author><pubDate>Thu, 07 Jun 2018 16:44:56 +0800</pubDate><description><![CDATA[请写一个C函数，若处理器是Big_endian的，则返回0；若是Little_endian的，则返回1解答：int checkCPU( )
{
    {
           union w
           { 
                  int a;
                  char b;
           } c;
           c.a = 1;
  ...]]></description><category></category></item><item><title><![CDATA[按键扫描，看看牛人如何5个I/O口，设置25个按键的]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/80609779</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/80609779</guid><author>zn2016</author><pubDate>Thu, 07 Jun 2018 15:14:53 +0800</pubDate><description><![CDATA[在做项目（工程）的时候，我们经常要用到比较多的按键，而且IO资源紧张，于是我们就想方设法地在别的模块中节省IO口，好不容易挤出一两个IO口，却发现仍然不够用，实在没办法了就添加一个IC来扫键。一个IC虽然价格不高，但对于大批量生产而且产品利润低的厂家来说，这是一笔不菲的开支!那，我们能不能想到比较好的扫键方法：用最少的IO口，扫最多的键？可以吗？举个例：给出5个IO口，能扫多少键？有人说是2*3＝...]]></description><category></category></item><item><title><![CDATA[SourceInsight窗口显示+牛人总结的单片机应用程序架构]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79938270</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79938270</guid><author>zn2016</author><pubDate>Sat, 14 Apr 2018 11:25:06 +0800</pubDate><description><![CDATA[牛人总结的单片机应用程序架构

2018年03月08日 17:51:58JawSoW阅读数 4451

工作中经过摸索实验，总结出单片机大致应用程序的架构有三种：
1. 简单的前后台顺序执行程序，这类写法是大多数人使用的方法，不需用思考程序的具体架构，直接通过执行顺序编写应用程序即可。
2. 时间片轮询法，此方法是介于顺序执行与操作系统之间的一种方法。
3. 操作系统，此法应该是应用...]]></description><category></category></item><item><title><![CDATA[NTC 10k-25°C]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79840851</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79840851</guid><author>zn2016</author><pubDate>Sat, 07 Apr 2018 13:36:32 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[STM32 时钟输出MCO功能]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79839000</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79839000</guid><author>zn2016</author><pubDate>Sat, 07 Apr 2018 09:59:03 +0800</pubDate><description><![CDATA[一、数据手册：使用步骤：1、开时钟输出时钟控制；RCC_MCOConfig(RCC_MCO_SYSCLK); // 实际是对RCC_CFGR寄存器的24-26位配置。2、配置时钟输出管脚PA8为复用推挽输出    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MH...]]></description><category></category></item><item><title><![CDATA[IO状态]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79836978</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79836978</guid><author>zn2016</author><pubDate>Fri, 06 Apr 2018 21:21:21 +0800</pubDate><description><![CDATA[一、IO状态检测：



二、按键检测：





三、IO状态获取：

步骤一：定义结构体类型



步骤二：定义结构体变量



步骤三：初始化结构体





步骤四：获取IO口状态值：高/低





步骤五：IO状态获取，在10mS后台程序中处理





四、常用指示灯处理方式：

1、常亮：



2、常灭：



3、频闪：



4、呼吸：

1、每隔10mS改变一次占空比。

...]]></description><category></category></item><item><title><![CDATA[UART]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79766865</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79766865</guid><author>zn2016</author><pubDate>Sat, 31 Mar 2018 11:05:45 +0800</pubDate><description><![CDATA[



// 参考博客

https://blog.youkuaiyun.com/zh_666888/article/details/79916130]]></description><category></category></item><item><title><![CDATA[Word、Excel、PDF、PPT 常用功能]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79745005</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79745005</guid><author>zn2016</author><pubDate>Thu, 29 Mar 2018 18:42:07 +0800</pubDate><description><![CDATA[一：Word 常用功能总结：1、word制作如下字体:1）编辑栏选择“插入”--“文本框”，在文本框输入信息如下（微软雅黑 一号），选中文字选择对齐方式：两端对齐：分散对齐：2、页眉、页尾处理：3、设置页面数显示：4、word怎么增加、删除一张空白页：增加空白页：把鼠标放在要增加的地方，点击“插入”-&amp;gt;&quot;空白页&quot;。删除空白页：把鼠标放在空白页处，点击键盘“Delete”键。5、word怎么制...]]></description><category></category></item><item><title><![CDATA[嵌入式软件可靠性设计的一些理解]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79741703</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79741703</guid><author>zn2016</author><pubDate>Thu, 29 Mar 2018 14:01:03 +0800</pubDate><description><![CDATA[0.前言          设备的可靠性涉及多个方面：稳定的硬件、优秀的软件架构、严格的测试以及市场和时间的检验等等。这里着重谈一下作者自己对嵌入式软件可靠性设计的一些理解，通过一定的技巧和方法提高软件可靠性。这里所说的嵌入式设备,是指使用单片机、ARM7、Cortex-M0，M3之类为核心的测控或工控系统。       嵌入式软件可靠性设计应该从防错、判错和容错三方面进行考虑. 此外,还需理解自...]]></description><category></category></item><item><title><![CDATA[常用算法]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79741299</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79741299</guid><author>zn2016</author><pubDate>Thu, 29 Mar 2018 13:35:00 +0800</pubDate><description><![CDATA[1、冒泡法排序。2、二分查找算法。]]></description><category></category></item><item><title><![CDATA[Systick定时器]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79589798</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79589798</guid><author>zn2016</author><pubDate>Sat, 17 Mar 2018 10:47:15 +0800</pubDate><description><![CDATA[声明：内容来自正点原子PPTSystick定时器就是系统滴答定时器，一个24位的倒计数定时器，计到0时，将从RELOAD寄存器中自动重装载定时初值。只有不把它在SysTick控制及状态寄存器中的使能位清楚，就永不停息，即使在睡眠模式下也能工作。4个Systick寄存器：    CTRL      SysTick 控制和状态寄存器      LOAD     SysTick 自动重装载除值寄存器 -...]]></description><category></category></item><item><title><![CDATA[CRC16校验]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79587689</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79587689</guid><author>zn2016</author><pubDate>Fri, 16 Mar 2018 22:23:05 +0800</pubDate><description><![CDATA[示例：]]></description><category></category></item><item><title><![CDATA[ADC扫描模式配置]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79587412</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79587412</guid><author>zn2016</author><pubDate>Fri, 16 Mar 2018 21:56:28 +0800</pubDate><description><![CDATA[1、采用ADC的扫描模式连续扫描8路ADC,通常需配合DMA使用。2、ADC主频时钟最好不要超过14M，否则会采集不准。]]></description><category></category></item><item><title><![CDATA[UART+DMA串口发送数据]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79573347</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79573347</guid><author>zn2016</author><pubDate>Thu, 15 Mar 2018 20:22:15 +0800</pubDate><description><![CDATA[实际使用时只需把要发送的数据准备好，调用Uart_Send_Data。 Uart_Send_Data(&quot;AT+VERSION\r\n&quot;, 12);]]></description><category></category></item><item><title><![CDATA[STM32之ADC]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79541125</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79541125</guid><author>zn2016</author><pubDate>Tue, 13 Mar 2018 15:31:00 +0800</pubDate><description><![CDATA[STM32F103XX的ADC的采样时钟最快14MHz，最快采样率为1MHz。对于有ADC转换时间计算有如下公式：TCONV=采样时间+12.5对于本公式：其中12.5是固定数（可以直接用，12.5是采集12位AD时间是固定的周期），而采样时间是由ADC初始化配置语句中ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 1, ADC_SampleTime_...]]></description><category></category></item><item><title><![CDATA[STM32中GPIO的8种工作模式]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79539424</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79539424</guid><author>zn2016</author><pubDate>Tue, 13 Mar 2018 13:44:28 +0800</pubDate><description><![CDATA[有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入的区别转载自：http://bbs.ednchina.com/BLOG_ARTICLE_2082651.HTM 最近在看数据手册的时候，发现在Cortex-M3里，对于GPIO的配置种类有8种之多：（1）GPIO_Mode_AIN 模拟输入 （2）GPIO_Mode_IN_FLOATING 浮空输入（3）G...]]></description><category></category></item><item><title><![CDATA[GPIO初始化之PB3/PB4/PA13/PA14/PA15引脚的复用]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79537004</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79537004</guid><author>zn2016</author><pubDate>Tue, 13 Mar 2018 10:27:25 +0800</pubDate><description><![CDATA[转载来自：http://blog.youkuaiyun.com/q759040024/article/details/234684691.为什么要复用PB3/PB4/PA13/PA14/PA15  在mcu复位的时候这几个引脚被作为jtag的功能。当我们要使用这些引脚作为普通的I/O时必须进行引脚的功能复用。2.PB3/PB4/PA13/PA14/PA15引脚默认功能参照   PB3-------------...]]></description><category></category></item><item><title><![CDATA[OLED原理、时序和操作+自己源码程序]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79518570</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79518570</guid><author>zn2016</author><pubDate>Sun, 11 Mar 2018 18:15:27 +0800</pubDate><description><![CDATA[转载博客：http://blog.youkuaiyun.com/abap_brave/article/details/53022540一,OLED简介OLED,即有机发光二极管,采用非常薄的有机材料图层和玻璃基板制成 当有电流通过时,有机材料会发光,OLED屏幕可视角度大,节省电能优点:分辨率高,自发光,不需背光源,对比度高,厚度薄,视角广,反应速度快,温度范围广,制造及制程简单缺点:价格贵,尺寸难以大型化(...]]></description><category></category></item><item><title><![CDATA[DMA+DAC+TIMER输出正弦波 自己验证]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79489379</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79489379</guid><author>zn2016</author><pubDate>Fri, 09 Mar 2018 10:58:22 +0800</pubDate><description><![CDATA[#define PI	3.1415u16 DAC_Channel1WaveValue[256]; // 用函数封装/**********************************************************// 函数名称:   void  Sine_WaveData(u16 cycle ,u16 *D)// 函数功能:正弦波形数据产生*******************...]]></description><category></category></item><item><title><![CDATA[STM32 使用DMA+DAC+TIMER输出正弦波]]></title><link>https://blog.youkuaiyun.com/zn2016/article/details/79480236</link><guid>https://blog.youkuaiyun.com/zn2016/article/details/79480236</guid><author>zn2016</author><pubDate>Thu, 08 Mar 2018 09:57:16 +0800</pubDate><description><![CDATA[来自博客：http://www.cnblogs.com/zhoubatuo/p/6123217.html之前已经简单论述过，根据我个人菜鸟的了解与认识，对之前的知识进行整理回顾:DMA:我的理解就是一个通道，或者是一座桥梁。在静态内存到静态内存，或者外设到静态内存间的一个通讯的通道。建立这个通道的好处是：可以抛开CPU，不占用CPU的资源，直接使用这块内存的内容，速度也会加快。DAC：STM32F...]]></description><category></category></item></channel></rss>