<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[分享学习成长历程，Winter is coming！]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Dasis</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Dasis]]></copyright><item><title><![CDATA[51单片机入门_10_数码管动态显示(数字的使用；简单动态显示；指定值的数码管动态显示)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145670404</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145670404</guid><author>Dasis</author><pubDate>Tue, 18 Feb 2025 22:28:53 +0800</pubDate><description><![CDATA[数组是一组有序数据的集合，数组中每一个数据都是同一数据类型。数组中的元素可以用数组名和下标来唯一确定。数据类型 数组名[常量表达式]={元素表};//P0此时的值为0x3F。]]></description><category></category></item><item><title><![CDATA[51单片机入门_09_数码管静态显示(数码管显示原理：共阴极、共阳极；静态显示与动态显示原理；74HC573锁存器使用及原理；上拉电阻作用；准双向、开漏；原理图分析；编程实践）]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145502376</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145502376</guid><author>Dasis</author><pubDate>Thu, 13 Feb 2025 21:45:39 +0800</pubDate><description><![CDATA[上面的8位数码管如果采用4个一组，段选为8段是固定的“ABCDEFGH”(H也就是dp)接到锁存器11-20引脚，8个数码管有8个位选公共极接到锁存器的11-20引脚，也就说控制8位数码管需要16个IO口进行控制，但是单片机上IO口总共就32个，接了很多外设，为了节省IO口使用锁存器，使用锁存器之后，只需要用到8个IO口就可以控制8位数码管。从原理图可以看到U9锁存器的Q端接了300Ω的排阻，其起到限流的作用，这是因为你锁存器是具有一定驱动能力的，不像单片机的IO口，其电流较大，可能会烧毁数码管。]]></description><category></category></item><item><title><![CDATA[51单片机入门_08_蜂鸣器(蜂鸣器原理；三极管做开关的应用方法(原理后期详细补充)；单片机它不是功率器件，它适合做控制用，不适合驱动功率器件；上拉电阻；电机不能直接接到VCC和GND)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145481621</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145481621</guid><author>Dasis</author><pubDate>Thu, 06 Feb 2025 21:45:11 +0800</pubDate><description><![CDATA[有源蜂鸣器底部橡胶封装，无源蜂鸣器则是PCB板直接外露这里的“源”不是指电源。而是指震荡源。也就是说，有源蜂鸣器内部带震荡源，所以只要一通电就会叫。而无源内部不带震荡源，所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。有源蜂鸣器往往比无源的贵,，就是因为里面多个震荡电路,]]></description><category></category></item><item><title><![CDATA[51单片机入门_07_流水灯(选看；Debug的方法是软件仿真，本篇介绍硬件仿真方法；需要借助硬件支持)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145462055</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145462055</guid><author>Dasis</author><pubDate>Wed, 05 Feb 2025 21:43:33 +0800</pubDate><description><![CDATA[上篇我们学习了在Debug下进行单步调试等，在单行程序调试过程中，当IO发生变化后，开发板上的LED灯还是在执行流水灯的变化，而没有实时的进行IO口的变动，这样的仿真方法就是软件仿真，本篇将会介绍硬件仿真，也就是当在Keil中进行调试，调试运行的结果开发板会同步执行，也就是在debug下当P1的0发生变化之后，开发板上也会同步进行变化。视频介绍了如何使用该芯片。]]></description><category></category></item><item><title><![CDATA[51单片机入门_06_流水灯(宏定义；函数定义；延时函数；标准库函数中的循环移位函数及与左移和右移运算符区别；Keil中Debug的用法；单片机小精灵方便延时函数程序生成)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145451738</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145451738</guid><author>Dasis</author><pubDate>Wed, 05 Feb 2025 14:35:07 +0800</pubDate><description><![CDATA[用define进行宏定义的典型用法注意宏定义后面不能加分号，它是预处理指令不是语句。其中用“uchar”直接替换了unsigned charuchar i;等价于对于上面的宏定义我们是用来给已有数据类型取别名。对已有数据类型取别名一般还有使用关键字typedeftypedef 已有数据类型 新的数据类型;(要加分号)函数就是将多条语句集合在一块，来完成一种特定功能。函数分为标准函数库，和用户自定义函数。keil编译器提供的，不需要用户进行定义。用户根据自己需要编写的函数，它必须在使用前先定义。]]></description><category></category></item><item><title><![CDATA[51单片机入门_05_LED闪烁(常用的延时方法:软件延时、定时器延时；while循环；unsigned char 可以表示的数字是0~255)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145444843</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145444843</guid><author>Dasis</author><pubDate>Tue, 04 Feb 2025 22:25:31 +0800</pubDate><description><![CDATA[变量是在程序执行过程中其值能不断变化的量。在使用一个变量之前必须进行定义，用一个标识符作为变量名，并指出它的数据类型。注意:C语言中每条语句必须用分号结束。数据类型 变量名;例如:a=5;b=2;b=5+a;(其中5是常量，a与b都是变量，b最终的值等于10)可以表示的数字是0-255变量作用域在函数体外定义的变量通常为全局变量，作用范围:从定义开始的整个程序在函数体内定义的变量通常为局部变量，作用范围:函数体内。]]></description><category></category></item><item><title><![CDATA[51单片机入门_04_点亮开发板上的LED灯(LED灯基础知识；电路板工作原理图解析；实际操作步骤；Keil软件安装；stc-isp软件；Proteus电路仿真方法)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145433762</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145433762</guid><author>Dasis</author><pubDate>Tue, 04 Feb 2025 19:05:22 +0800</pubDate><description><![CDATA[LED全称为半导体发光二极管，采用半导体材料制成的，以直接将电能转化为光能，电号转换成光信号的发光器件；其特点是功耗低、高亮度、色彩艳丽、抗振动、寿命长(正常发光8-10万小时)、冷光源等优点，是真正的“绿色照明”以LED为光源的灯饰产品在21世纪的将来，必然取代白织灯，成为人类照明的又一次革命。下图是LED的实物图第一张图片中是直插式的LED灯，需要穿过PCB板焊接起来，该灯为绿色LED灯，点亮后发出绿色光源，其有正负极，对于有正负极直插式器件基本都遵循长正短负。]]></description><category></category></item><item><title><![CDATA[51单片机入门_03_电子电路基础（TTL电平；单片机就是学习如何控制IO口和内部寄存器；电阻电容；电路原理图；网络编号；单片机最小系统结构原理图解析；基本时序）]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145429515</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145429515</guid><author>Dasis</author><pubDate>Mon, 03 Feb 2025 20:46:35 +0800</pubDate><description><![CDATA[I/O口是基本输入Input/输出0utput接口，单片机对外围设备的控制都是通过I/O口来进行的(输出高低电平)。接收外部控制也是通过I/O口来读取外部电压信号。下图左侧为8051单片机的引脚图，虽然后期使用的均为STC89C52芯片，但是引脚这些是完全相同的。上图中的1-20,21-40是其引脚编号，表示一共有40个脚。第40个引脚为Vcc表示电源引脚，用来接正电源；第20脚为Vss，表示接地的引脚，单片机要工作肯定是需要接电源的，这两个脚就是提供电源的。]]></description><category></category></item><item><title><![CDATA[51单片机入门_02_C语言基础0102]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145372215</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145372215</guid><author>Dasis</author><pubDate>Sun, 26 Jan 2025 22:33:06 +0800</pubDate><description><![CDATA[C语言基础部分可以参考我之前写的专栏C语言基础入门48篇
以及《从入门到就业C++全栈班》中的C语言部分，本篇将会结合51单片机讲差异部分。
课程主要按照以下目录进行介绍。
涉及进制转换可以使用计算机上的计算器来进行转换]]></description><category></category></item><item><title><![CDATA[51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片；使用到的硬件及课程安排)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/145346994</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/145346994</guid><author>Dasis</author><pubDate>Sat, 25 Jan 2025 22:17:43 +0800</pubDate><description><![CDATA[在认识单片机之前，需要了解单片机的前身，微型计算机的组成及应用形态。]]></description><category></category></item><item><title><![CDATA[基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/144571527</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/144571527</guid><author>Dasis</author><pubDate>Mon, 23 Dec 2024 22:00:46 +0800</pubDate><description><![CDATA[本部分开始基于《手把手教你学DSP—基于TMS320X281X》，《手把手教你DSP基于MS320F28335 》、《TMS320X281x DSP原理及C程序开发》，另外结合B站视频进行DSP嵌入式的学习。《手把手教你学DSP—基于TMS320X281X》介绍的相对更为基础和详细，《手把手教你DSP基于TMS320F28335 》则是对前者的升级，一般掌握了TMS320X281X对于TMS320F28335也不会有大的问题。]]></description><category></category></item><item><title><![CDATA[C++_STL_xx_番外01_关于STL的总结(常见容器的总结；关联式容器分类及特点；二叉树、二叉搜索树、AVL树(平衡二叉搜索树)、B树、红黑树)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/143351014</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/143351014</guid><author>Dasis</author><pubDate>Tue, 29 Oct 2024 21:55:12 +0800</pubDate><description><![CDATA[不管是map还是multimap unorder_map存储的都是pair(对组)，C++中提供了相应的模板，对组(pair)将一对值组合成一个值，这一对值可以具有不同的数据类型，两个值可以分别用pair的两个公有属性first和second访问，pair的第一元素被视为键值，第二元素被视为实值。基于平衡二叉搜索树，因此采用中序遍历之后是升序，这也是为什么能够实现有序排布的原因；基于hash表的unorder_set和unorder_map。用于存储键值唯一的元素，与set和map一致；]]></description><category></category></item><item><title><![CDATA[C++_STL_01_STL概论(基本概念；六大组件：容器、算法、迭代器、仿函数、适配器、空间配置器；优点)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/143350769</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/143350769</guid><author>Dasis</author><pubDate>Tue, 29 Oct 2024 21:42:38 +0800</pubDate><description><![CDATA[所有的STL主要都是采用模板的技术写的，学习模板不是为了自己写模板，而是怎么使用模板容器、算法、迭代器、仿函数(重载了小括号)、适配器（配接器）、空间配置器。各种数据结构，如vector、list、deque、set、map等,用来存放数据，从实现角度来看，STL容器是一种class template。-类模板各种常用的算法，如sort、find、copy、for_each。从实现的角度来看，STL算法是一种function tempalte.-函数模板。]]></description><category></category></item><item><title><![CDATA[C++_STL_xx_unordered_map 容器解析（什么是unordered_map?unordered_map的常用接口有那些？）以及emplace、emplace_back介绍]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/143063174</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/143063174</guid><author>Dasis</author><pubDate>Fri, 18 Oct 2024 22:03:15 +0800</pubDate><description><![CDATA[有时间了再进行详细整理。]]></description><category></category></item><item><title><![CDATA[C++57个入门知识点_番外5_extern 关键字详解]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/142992725</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/142992725</guid><author>Dasis</author><pubDate>Wed, 16 Oct 2024 22:15:08 +0800</pubDate><description><![CDATA[声明：告诉编译器变量或函数的名称和类型，但不分配内存。例如，extern int x;只是声明变量x，不定义它。定义：不仅声明变量或函数，还分配内存。例如，int x = 42;定义并初始化变量x。]]></description><category></category></item><item><title><![CDATA[Qt项目实例_03_Qt多线程与定时器QTimer(信号槽机制实现数据共享；解决Timers cannot be started from another thread问题；推荐使用信号启动定时器)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/142593974</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/142593974</guid><author>Dasis</author><pubDate>Fri, 27 Sep 2024 15:29:23 +0800</pubDate><description><![CDATA[在进行程序编写中，我们有时会有在子线程中使用定时器不间断运行并且将子线程产生的数据发送给主线程的需求，在实际的编写过程中可能会碰到的问题，本文将会介绍产生原因及解决方法。]]></description><category></category></item><item><title><![CDATA[Qt项目实例_02_Qt线程间数据通讯及数据共享(线程间共享数据方法：共享内存；信号槽机制；共享类指针 )]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/142593228</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/142593228</guid><author>Dasis</author><pubDate>Fri, 27 Sep 2024 14:58:33 +0800</pubDate><description><![CDATA[在使用QT做项目开发过程中，经常会用到多线程，比如图像采集一个线程，图像处理一个线程、数据通讯一个线程。1.使用共享内存；即两个线程都能够共享的变量（全局变量），这样两个线程都能够访问和修改变量，从而达到共享目的；2.使用信号槽机制，将数据从一个线程传递到另外一个线程3.共享类指针来进行访问不同类的变量和函数；目前我用到的就是第二种方法，原笔者推荐使用第三种方法，下篇将会以信号槽的方式实现线程间数据共享以及如何在子线程使用定时器。]]></description><category></category></item><item><title><![CDATA[Qt工程实践_06_Qt MSVC2O17编译器下的程序添加VS2017生成的动态链接库方法]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/141944632</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/141944632</guid><author>Dasis</author><pubDate>Thu, 05 Sep 2024 23:46:45 +0800</pubDate><description><![CDATA[选择lib文件所在位置，注意右下角就不要勾选了，如果勾选了就会在.pro文件生成的代码中增加相应的后缀，此处VS生成的动态不需要。动态链接库中定义有两种函数：导出函数(export  function)和内部函数(internal  function)。最后：运行时将.dll文件与.exe放在同一目录下，编译没有错误即通过！点击下一步，.pro文件中增加以下代码，添加了搜索路径和lib文件位置。，因此需要使用VS2017 VS，并设置生成的为64位的动态链接库。Widget程序的.h文件中增加。]]></description><category></category></item><item><title><![CDATA[S7通信协议从入门到精通_1_Sharp7(C#)类编写西门子 S7系列 plc驱动程序(扩展C++语言)]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/141439976</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/141439976</guid><author>Dasis</author><pubDate>Sun, 25 Aug 2024 20:17:17 +0800</pubDate><description><![CDATA[sharp7是基于西门子S7通信协议封装的一个供.net c#使用的类，摘自c#与西门子PLC1500基于sharp7通信学习，而S7协议是西门子S7系列PLC通信的核心协议，它是一种位于传输层之上的通信协议，其物理层/数据链路层可以是MPI总线、PROFIBUS总线或者工业以太网，摘自基于Snap7使用C#编程访问西门子PLC系列教程(2)-S7协议。以下摘抄自如何使用C＃和Sharp7编写Siemens S7 plc驱动程序Sharp7是一个新的C＃驱动程序，可与Siemens S7 Plc通信。]]></description><category></category></item><item><title><![CDATA[QT从入门到实战x篇_22_番外1_Qt事件系统]]></title><link>https://blog.youkuaiyun.com/Dasis/article/details/138152213</link><guid>https://blog.youkuaiyun.com/Dasis/article/details/138152213</guid><author>Dasis</author><pubDate>Wed, 24 Apr 2024 10:46:38 +0800</pubDate><description><![CDATA[在Qt中，事件(Event)是一个核心概念，它代表了应用程序的一个动作或发生的事情。事件可以是用户的输入，如鼠标点击或键盘按键，也可以是系统生成的，如窗口大小改变或定时器超时。为了处理这些事件，Qt提供了一个事件循环(Event Loop)。这个循环不断地检查是否有新的事件发生，然后将这些事件发送给相应的对象进行处理。事件(event)是由系统或者Qt本身在不同时刻发出的。当用户按下鼠标、敲下键盘，或者其它情况时候都会发出一个相应的事件。一些事件在对用户操作做出相应时发出，如键盘事件等；]]></description><category></category></item></channel></rss>