WS_EX_NOREDIRECTIONBITMAP
全部标签创建一个新的项目的时候,使用vue-cli创建。安装vue-clinpminstall-g@vue/clivue-cli文档创建好之后,运行npmrunserve,会启动一个基于express的服务器,就可以热重载代码了,不会手动刷新去查看修改后的代码,很方便。原理是在运行vue前端代码的时候,服务器还会运行一个websocketClient,与服务器通信。如果检查到代码有修改,就会刷新页面。如果websocket通信有问题是不会正常进行热重载的。因为我是直接在测试服务器上做修改,查看的。但是这里有一个问题,在服务器上,vue-cli-servece不能正常检测到公网ip,而是直接使用了局域网
创建一个新的项目的时候,使用vue-cli创建。安装vue-clinpminstall-g@vue/clivue-cli文档创建好之后,运行npmrunserve,会启动一个基于express的服务器,就可以热重载代码了,不会手动刷新去查看修改后的代码,很方便。原理是在运行vue前端代码的时候,服务器还会运行一个websocketClient,与服务器通信。如果检查到代码有修改,就会刷新页面。如果websocket通信有问题是不会正常进行热重载的。因为我是直接在测试服务器上做修改,查看的。但是这里有一个问题,在服务器上,vue-cli-servece不能正常检测到公网ip,而是直接使用了局域网
ws2812系列灯条,是一种可寻址的RGB LED彩灯,可以自定义颜色、点灯速度等。只需要一个IO就可以控制多个灯。ws2812系列有三根线,分别为VCC、GND、信号控制线。作为优化升级版的ws2813系列,更是具有断点续传功能,比如说有个灯坏了,但是它与后面的信号线没有断,信号可以正常传到后面去。作为Arduino爱好者,这里推荐两个好用的库hastLed和Neopixel。这里想和大家分享一下stm32连接ws2812~ 用的单片机是stm32f103zet6,这部分代码换成stm32f103c8t6照样跑的通。一、添加ws2812.c和ws2812.h文件直接使用正点原子模板向HARD
ws2812系列灯条,是一种可寻址的RGB LED彩灯,可以自定义颜色、点灯速度等。只需要一个IO就可以控制多个灯。ws2812系列有三根线,分别为VCC、GND、信号控制线。作为优化升级版的ws2813系列,更是具有断点续传功能,比如说有个灯坏了,但是它与后面的信号线没有断,信号可以正常传到后面去。作为Arduino爱好者,这里推荐两个好用的库hastLed和Neopixel。这里想和大家分享一下stm32连接ws2812~ 用的单片机是stm32f103zet6,这部分代码换成stm32f103c8t6照样跑的通。一、添加ws2812.c和ws2812.h文件直接使用正点原子模板向HARD
group系列之前觉得这里简单不需要再进行总结了。后来发现还是需要总结巩固一下,还是有一些方法之类的之前未使用过。这里来重新整理,记录一下。groupby将表中的数据根据某个条件进行分组。比如下面这张表:如果我们按照班级进行分组那么数据将会是这样的:通过mysql执行表格数据进行校验:selectclassname,GROUP_CONCAT(id,name,courseName,scoreSEPARATOR'%')fromwinfunGROUPBYclassname;运行结果:group_concat()待会再总结。根据groupby的特性,这也是为什么通过groupby进行分组后,我们对数据
group系列之前觉得这里简单不需要再进行总结了。后来发现还是需要总结巩固一下,还是有一些方法之类的之前未使用过。这里来重新整理,记录一下。groupby将表中的数据根据某个条件进行分组。比如下面这张表:如果我们按照班级进行分组那么数据将会是这样的:通过mysql执行表格数据进行校验:selectclassname,GROUP_CONCAT(id,name,courseName,scoreSEPARATOR'%')fromwinfunGROUPBYclassname;运行结果:group_concat()待会再总结。根据groupby的特性,这也是为什么通过groupby进行分组后,我们对数据
之前,在使用异常捕获语句try...catch...throw语句时,一直没太留意几种用法的区别,前几天调试程序时发展找不到异常根源,无意中了解到几种使用方法是有区别的。总结如下:我们都知道,C#中使用throw和throwex抛出异常,但二者是有区别的。在C#中推荐使用throw;来抛出异常;throwex;会将到现在为止的所有信息清空,认为你catch到的异常已经被处理了,只不过处理过程中又抛出新的异常,从而找不到真正的错误源。thrownewException()包装一个异常,把内部异常Exception也抛出,这样抛出的异常是最全面详细的异常。 throw的用法主要有以下几种:第一种(
之前,在使用异常捕获语句try...catch...throw语句时,一直没太留意几种用法的区别,前几天调试程序时发展找不到异常根源,无意中了解到几种使用方法是有区别的。总结如下:我们都知道,C#中使用throw和throwex抛出异常,但二者是有区别的。在C#中推荐使用throw;来抛出异常;throwex;会将到现在为止的所有信息清空,认为你catch到的异常已经被处理了,只不过处理过程中又抛出新的异常,从而找不到真正的错误源。thrownewException()包装一个异常,把内部异常Exception也抛出,这样抛出的异常是最全面详细的异常。 throw的用法主要有以下几种:第一种(
这次设计一个RGB灯的控制器,该控制器具有如下特点:每个灯的颜色可调,亮灭可控可以设置参数来修改RGB的数目 WS2812B的数据时序如下图所示: (图片来源自网络、侵权删) 为了方便设计我把T1H和T0L的时间值设为0.8us,为了稳定将RES设置为60us。 设计的思路是,设置一个400ns的计时器,然后再设置一个计400ns次数的计时器(每计三次清零),然后1码就是前两个400us为高电平,第三个400us为低电平;0码也是同理。一、设计的代码1、单像素控制模块`timescale1ns/1ps/////////////////////////////////////////////
这次设计一个RGB灯的控制器,该控制器具有如下特点:每个灯的颜色可调,亮灭可控可以设置参数来修改RGB的数目 WS2812B的数据时序如下图所示: (图片来源自网络、侵权删) 为了方便设计我把T1H和T0L的时间值设为0.8us,为了稳定将RES设置为60us。 设计的思路是,设置一个400ns的计时器,然后再设置一个计400ns次数的计时器(每计三次清零),然后1码就是前两个400us为高电平,第三个400us为低电平;0码也是同理。一、设计的代码1、单像素控制模块`timescale1ns/1ps/////////////////////////////////////////////