<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wd0710的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wd0710</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wd0710]]></copyright><item><title><![CDATA[esp32s3驱动rgb灯]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/136317522</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/136317522</guid><author>wd0710</author><pubDate>Tue, 27 Feb 2024 12:00:42 +0800</pubDate><description><![CDATA[最近做项目要用到esp32s3，所以在网上找了和很多资料去学习，但发现好像都堆初学者不是很友好。因为我之前学习和用的都是stm32这类需要自己写驱动的单片机，用到esp32s3这种直接调用驱动一时间会有点不习惯，但反应过来后会发现用起来很方便。然后我购买的是官方的开发板——ESP32-S3-DevKitC-1。官方给的资料很全，很详细，所以需要长时间去学习沉淀。]]></description><category></category></item><item><title><![CDATA[STC32G库函数（五）——ADC检测反推电源电压]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/127596650</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/127596650</guid><author>wd0710</author><pubDate>Sun, 30 Oct 2022 12:57:47 +0800</pubDate><description><![CDATA[STC32G系列的单片机有15条ADC测量通道，同时ADC_VRef+为外部电压参考电源，所以利用ADC测量电源电压有两种方案。第一是先利用稳压电源将ADC_VRef+的电压稳定在特定值，然后电源线可直接接到ADC的前14个通道，然后利用公式就可以得到电源电压。接下来我们会着重介绍第二种方法。首先利用ADC_Inilize（）函数进行初始化，ADC_PowerControl（）使能ADC，Get_ADCResult（）可得到1~15通道的ADC换算值。在得到15通道的测量值后利用公式就可得到电压值。]]></description><category></category></item><item><title><![CDATA[STC32G库函数（四）——EEPROM]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/127596098</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/127596098</guid><author>wd0710</author><pubDate>Sun, 30 Oct 2022 10:41:11 +0800</pubDate><description><![CDATA[stc32g12k128拥有128kB的程序储存区，全部用来存放程序肯定是用不完的，所以还剩下很多的空间可以当做EEPROM，这对某些项目要求的是很有必要的。而我们在调用是也是很方便的，直接调用EEPROM_read_n（）函数读和调用EEPROM_write_n（）函数写就行。关于EEPROM大小的设置，这个需要在烧录软件上设置：如图所示将EEPROM设置为64k（注意：无论EEPROM设置为多少，EEPROM的地址始终从FE:0000h开始）]]></description><category></category></item><item><title><![CDATA[stc32G库函数（三）——RTC实时时钟]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/127017399</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/127017399</guid><author>wd0710</author><pubDate>Fri, 23 Sep 2022 20:53:59 +0800</pubDate><description><![CDATA[我也有一个不能很好解决的问题，就是单片机不知道能不能同时启动两个不同频率的时钟，也就是说我在使用24Mhz为主时钟的同时，还选用32khz为rtc时钟。而我在使用rtc后，程序按照24Mhz的延时是没有错误，也就是说主时钟还是24Mhz，但是不知道这个判断方法准不准确，希望有路过的大佬答疑一下。其中里面的YEAR，MONTH，DAY等是单片机的寄存器，可以直接读取；在最后，使用芯片内部的RTC实时时钟最大的好处就是可以节约成本了，而缺点也有，就是没有备用电源引脚，当单片机断电停止工作后时钟也会停止工作。]]></description><category></category></item><item><title><![CDATA[stc32G库函数（二）——定时器]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/126981507</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/126981507</guid><author>wd0710</author><pubDate>Wed, 21 Sep 2022 22:03:08 +0800</pubDate><description><![CDATA[首先，我们要先向工程文件Driver中添加STC32G_Timer.c，STC32G_Timer_Isr.c和STC32G_NVIC.c这三个文件，其中STC32G_Timer.c中定义了定时器初始化函数Timer_Inilize（）；STC32G_Timer_Isr.c文件中定义了各种的中断函数，我们主要将想要实现的操作写进它给的对应的函数中就行。以下是STC32G_Timer_Isr.c文件定时器0的中断调用函数，我的操作是实现led灯的亮灭，led灯接在P10上。]]></description><category></category></item><item><title><![CDATA[STC32G12K128内部集成的I2C总线实现oled12864显示]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/126922095</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/126922095</guid><author>wd0710</author><pubDate>Sun, 18 Sep 2022 20:42:58 +0800</pubDate><description><![CDATA[I2C 是一种高速同步通讯总线，通讯使用 SCL（时钟线）和 SDA（数据线）两线进行同步通讯。如上图所示，要用到的初始化函数为：void    I2C_Init(I2C_InitTypeDef *I2Cx)，在主机模式下要对结构体的属性进行设置的只有：I2C_InitStructure.I2C_Mode，I2C_InitStructure.I2C_Enable， I2C_InitStructure.I2C_Speed，I2C_InitStructure.I2C_MS_WDTA，]]></description><category></category></item><item><title><![CDATA[stc32G库函数（一）——点亮led]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/126910564</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/126910564</guid><author>wd0710</author><pubDate>Sat, 17 Sep 2022 21:33:34 +0800</pubDate><description><![CDATA[首先，我们先打开Driver\src中的STC32G_GPIO文件看一下，我们可以看到，在这个文件中只有一个函数，有了解过STC32G12K128这款芯片的都知道，他有四个输出方式，分别是：上拉准双向口（8051传统I/O口），浮空输入，开漏输出，推挽输出。这篇文章是基于上一篇文章创建的工程来继续开发的，有兴趣的小伙伴可以先去看一看上一篇——创建stc32G库函数版本的keil项目。由于要用到延时，所以要包含STC32G_Delay.h这个头文件。工程文件放在资源，有兴趣的小伙伴可以自行下载。]]></description><category></category></item><item><title><![CDATA[创建stc32G库函数版本的keil项目]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/126909736</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/126909736</guid><author>wd0710</author><pubDate>Sat, 17 Sep 2022 20:33:43 +0800</pubDate><description><![CDATA[第一代暂命名为 STC32G12K128，虽然还是8051的内核，但作为32位的单片机，它还是具有很大的可能性的。同时，在STC的官网上提供了这个单片机的库函数，这篇文章主要还是让我们先搭建一个开发库函数版本的良好环境，也就是创建keil项目。第一步，下载并安装keil C251，这里就不放链接了，并将芯片型号添加到keil中，可以去官网下载。第二步，创建项目，选择STC32G12K128芯片，打开项目所在文件夹，创建以下文件夹。没有错误，且.hex文件在Output文件夹下，工程创建成功。]]></description><category></category></item><item><title><![CDATA[51单片机AHT20-21源代码]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/126363282</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/126363282</guid><author>wd0710</author><pubDate>Tue, 16 Aug 2022 12:12:10 +0800</pubDate><description><![CDATA[传感器输出经过 标定的数字信号，标准 I 2 C 格式。AHT20 配有一个全新设计的 ASIC专用芯片、一 个经过改进的MEMS半导体电容式湿度传感元件和一个标准的片上温度传感元件，其 性能已经大大提升甚至超出了前一代传感器的可靠性水平，新一代温湿度传感器， 经过改进使其在恶劣环境下的性能更稳定。但是现在网上的大多数原码都是针对stm32等的这种多位单片机，而我们都知道51单片机是8位单片机，无法对浮点数进行运算，对32位的整数计算有时候也不是很准确，所以我对网上stm32的例程进行了修改。...]]></description><category></category></item><item><title><![CDATA[Ping的实现（含程序）]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/125107157</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/125107157</guid><author>wd0710</author><pubDate>Thu, 02 Jun 2022 23:24:43 +0800</pubDate><description><![CDATA[最近在做计算机网络的课程设计，整理了一点资料。ping （Packet Internet Groper）是一种因特网包探索器，用于测试网络连接量的程序。Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令， 主要是向特定的目的主机发送ICMP（Internet Control Message Protocol 因特网报文控制协议）请求报文，测试目的站是否可达及了解其有关状态 。...]]></description><category></category></item><item><title><![CDATA[STC15F2K60S2+OLED12864]]></title><link>https://blog.youkuaiyun.com/wd0710/article/details/124136415</link><guid>https://blog.youkuaiyun.com/wd0710/article/details/124136415</guid><author>wd0710</author><pubDate>Tue, 12 Apr 2022 23:12:40 +0800</pubDate><description><![CDATA[OLED相信大家都认识，是一个很常见的显示模块，但是现在网上买的许多oled显示模块因为底层驱动的原因，在编程时对显示有很大的局限性（特别是对51内核的单片机），在定义坐标行数显示的时候往往需要是8的倍数，以下便是针对这个问题做出的改进。

首先介绍一下这篇文章的核心思想，我们都知道以oled12864为例，其实就是128*64个灯，当选择相应坐标的灯点亮就能显示相对应的数字，字符或者是图像。针对上面问题，我们可以建立和显示屏分辨率一样的二维数组，当我们需要将数值显示到显示屏上时，先将数值赋值给数组相同坐标]]></description><category></category></item></channel></rss>