WS2812驱动 SPI+DMA 无需降频 一个灯占用9Byte的RAMWS2812驱动 STM32F103 SPI+DMA 无需降频 一个灯占用9Byte的RAM对于WS2812不了解的朋友可以先看一下这些【STM32】WS2812介绍、使用SPI+DMA发送数据 WS2812的驱动我想到的主要有三种 延时 SPI UART三者区分: 延时,占用资源,需要用到ASM nop不然容易被优化,需要用示波器抓时间。 UART 起始位低,结束位高,如果要强行实现也是 2021-01-31 blog #ws2812 #spi #dma
USART硬件流控制USART硬件流控制 RS232 DB9定义 1 CD ← Carrier Detect 载波检测 2 RXD ← Receive Data 接收数据 3 TXD → Transmit Data 发送数据 4 DTR → Data Terminal Ready数据终端就绪 5 GND — System Ground 系统接地 6 DSR ← Data Set Ready 数据设备就绪 7 RTS 2020-08-08 blog #usart #rts #cts #dtr #dsr
Typora强制升级解决办法问题描述This beta version of Typora is expired, please download and install a newer version. 解决typora强制升级问题 This beta version of Typora is expired, please download and install a newer version. 网上一堆的什么改时 2022-07-15 blog #typora
STM32F070系列的IAP程序STM32F070系列的IAP程序总程序思路 之所以不直接将接收到的BIN文件直接写入到APP区域是因为如果升级过程出现某些错误时,程序将会清除升级标志位,并跳转到APP运行程序减少产品变砖的概率。 注:如果在 将BacpupApp区域的BIN文件拷贝到App区域 这一步如果拷贝两次都校验失败将会导致程序停掉。 STM32内Flash区域划分 此次使用的MCU型号是STM32F070C 2018-08-16 misc #iap #bootloader #stm32
OSIOSI开放系统互联参考模型(Open System Interconnection Reference Model),即我们通常所说的网络互联的七层框架,它是国际标准组织(International Organization for Standization)于1977年提出的标准,又称为ISO/IEC 7498或X.200建议。值得注意的是,OSI并没有提供一个可以实现的方法,它不是一 2020-08-08 blog #osi
MarkDown学习笔记参考官方的示例 https://www.markdownguide.org/basic-syntax/ 二级标题三级标题四级标题五级标题六级标题asdasdasdasdassdasdas 这是一段引用 这是一段引用 无序列表12- * + 都可以作为无序列表的前缀,但是需要注意不要把他们混用。建议使用 - 作为无序列表前缀。 阿斯大声 阿斯大声打 阿斯大声问请问恶 123- 2020-08-08 blog #markdown #note
License差异对比参考SPDX License List 使用 SPDX 短格式标识符 以简单、高效、便携和机器可读的方式 传达 FOSS 许可证信息 123// SPDX-License-Identifier: MIT/* SPDX-License-Identifier: MIT OR Apache-2.0 */# SPDX-License-Identifier: GPL-2.0-or-later 术语什么 2023-02-02 blog #license
Let's Encrypt SSL 证书申请Let’s Encrypt SSL 证书申请为什么申请? HTTP:未实施数据加密 每个以 HTTP 开头的 URL 链接都使用一种基本类型的“超文本传输协议”。由 Tim Berners-Lee 于 1990 年代初创建,当时互联网仍处于起步阶段,该网络协议标准允许 Web 浏览器和服务器通过数据交换进行通信。 HTTP 也被称为“无状态系统”,这意味着它可以按需连接。您单击一个链接,请求 2023-01-12 blog #ssl #https
MD5MD5MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16个字符(BYTES))的散列值(hash value),用于确保信息传输完整一致。将数据(如一段文字)运算变为另一固定长度值,是散列算法的基础原理。 参考 MD5破解的几种方法 Wiki MD5 特性 不可逆向的 我们没办法把MD5码还原对应的 2022-09-14 blog #md5
JPEG JPEG2000 WebP PNG GIF对比图像的显示原理有损/无损压缩图片文件格式有可能会对图片的文件大小进行不同程度的压缩,图片的压缩分为有损压缩和无损压缩两种。 有损压缩对图像本身的改变,在保存图像时保留了较多的亮度信息,而将色相和色纯度的信息和周围的像素进行合并,合并的比例不同,压缩的比例也不同,由于信息量减少了,所以压缩比可以很高,图像质量也会相应的下降。并且这种损失是不可逆的,我们不可能从有一个有损压缩过的图片中恢复出 2022-09-18 blog #jpeg #webp #jpeg2000 #image
Hex 文件格式解析Hex 文件格式解析参考资料Intel HEX File Format Keil Intel HEX Wiki 格式 以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示) 在HEX文件里面,每一行代表一个记录。记录的基本格式为如表所示 冒号 本行数据长度 本行数据起始地址 数据类型 数据 校验码 1 byte 2 bytes 1 byte n byte 1 b 2021-09-24 blog #hex
解决 Chrome由贵单位管理 惠普 谷歌浏览器 HP关键词:Chrome由贵单位管理 惠普 HP 谷歌浏览器 浏览器由所属组织管理 环境惠普 HP ProBook 450 G8 Notebook PCWIndows10 19042.1415谷歌浏览器 版本 96.0.4664.45(正式版本) (64 位) 步骤 网上说了很多删除注册表的答案,删除完了只是临时解决,重启后问题依旧,注册表被恢复 \HKEY_LOCAL_MACHINE\SOFTWAR 2021-12-19 blog #hp #chrome
C按特定格式读取字符串的数据 Sscanf的用法C按特定格式读取字符串的数据 sscanf的用法Sscanf 函数原型123int sscanf( const char *buffer, const char *format, [ argument ] ... ); buffer 存储的数据format 窗体控件字符串。 有关详细信息,请参阅”格式规范”。argument 可选自变量locale 要使用的 2019-05-06 blog #sscanf #c/c++
CC2530CC2530是针对IEEE 802.15.4,Zigbee和RF4CE应用的真正片上系统(SoC)解决方案。 它能够以非常低的总物料成本构建强大的网络节点。 CC2530将领先的射频收发器的卓越性能与业界标准增强型8051 MCU,系统内可编程闪存,8 KB RAM以及许多其他强大功能相结合。 CC2530有四种不同的闪存版本:分别为CC2530F32 / 64/128 2018-02-11 blog #embedded #cc2530 #zigbee
speedtest.net 测速安装Ubuntu对于以前安装过speedtest-cli版本用户来说,需要先卸载原来的版本 123sudo apt-get install curlcurl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bashsudo apt-get install speedte 2023-03-26 tools #speedtest #tools
SourceInsigh中Qicker的使用Qicker.em使用方法 代码补全: wh: while() if,ife,ifs: if,if else, if elseif else for: for fo:自动生成for语句与for命令相比它直接会定义循环变量 12345for ( ulI = 0; ulI < # ; ulI++ ){ UINT32_T ulI = 0 2020-07-21 tools #ide #sourceinsigh #si
CMake的使用LVGLGithub:https://github.com/lvgl/lvgl/ LVGL:https://lvgl.io/ LVGL(轻巧多功能图形库)是一个免费的开源图形库,提供创建具有易于使用的图形元素、精美的视觉效果和低内存占用的嵌入式 GUI 所需的一切。 特性 丰富且强大的模块化图形组件:按钮 (buttons)、图表 (charts)、列表 (lists)、滑动条 (sliders) 2023-03-30 tools #linux #cmake
CMake的使用CMakeCMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。 Linux下CMake简明教程_linux中cmake_爱就是恒久忍耐的博客-CSDN博客 CMake 的安装Ubuntu下的安装123456$ su 2023-03-29 tools #linux #cmake
DSlogic协议开发笔记参考资料:smiley:Protocol decoder HOWTO(新手指导) Protocol decoder API Protocol decoder API/Queries 名词解析 Protocol Decoders (PDs) 协议解码器 libsigrokdecode 是一个采用C语言编写的共享库,提供了数据流协议解码功能。该协议解码器采用Python(= 2020-05-21 tools #dslogic #逻辑分析仪 #pyhton #decoder
CADCAD基本操作 对象捕捉:端点、中点、圆心、、、、、 shift正交 shift按住,取消选择 连续画直线,空格取消 画直线,c键闭合 形状直线L键 圆C键 圆心 半径D键切换成直径 两点三点相切 相切 半径相切 相切 相切快捷键不详 圆弧ARC键 逆时针画圆弧 多段线PLI键 可以赋予宽度 合并多段线 PE (pedit 多段线编辑) m 选择多段线 选中后空格确认 y 转换 2021-10-21 more_interest #cad
数据结构数据结构C语言打印运行时间1234567891011#include<time.h>time_t start, stop;int main(void){ start = clock();//滴答时钟 //运行的函数 stop = clock(); printf("%lf----%lf\r\n", (double)(stop-star 2019-08-21 algorithm #数据结构 #堆栈 #队列 #链表 #树 #二叉树
PyQTPyQt添加图标1234567891011121314class WindowGUI(QMainWindow, Ui_MainWindow): def __init__(self): super(WindowGUI, self).__init__() self.setupUi(self) #这里添加了一个图标 self.setWindo 2020-08-08 language #python #qt #pyqt
MicroPythonMicroPython简单、方便、快速开发嵌入式实时系统——MicroPytho 12345678910111213141516171819202122232425262728293031323334353637383940414243from pyb import uartfrom pyb import I2C #工程师将从pyb库导入I2C#这里的PYB库提供了接入到微控制器外围功能,如SPI 2020-08-08 language #embedded #micropython #python
C语言高质量编程C语言高质量编程1.2 头文件的结构 头文件开头处的版权和版本声明(参见示例1-1)。 预处理块。 函数和类结构声明等。 假设头文件名称为 graphics.h,头文件的结构参见下面。 【规则1-2-1】为了防止头文件被重复引用,应当用ifndef/define/endif 结构产生预处理块。 【规则 1-2-2】用#include <filename.h> 格式来引用标准库的头文 2019-10-28 language #c
PID算法PID算法笔记位式控制算法,只考虑当前值,控制量有惯性,比较僵硬 P–比例算法 只考虑现在的误差 Ek = SV - Xk(Ek差值 Sv期望值 Xk当前值) 单纯的P控制算法:Pout=Kp * Ek ( Pout输出的控制量 Kp控制量 Ek差值) 单纯的P控制算法当前误差等于零后不控制 Pout=Kp * Ek+OUT0(OUT0是一个常数维持静态误差 2019-08-21 algorithm #pid
Bluetooth蓝牙蓝牙分类graph LR Bluetooth_3.0 -->BR Bluetooth_3.0 -->EDR Bluetooth_3.0 -->AMP_HS graph LR Bluetooth_4.0 -->BR Bluetooth_4.0 -->EDR Bluetooth_4.0 -->AMP_HS Bluetooth_4.0 -->LE 2020-08-08 Communication #embedded #bluetooth #蓝牙
ModbusModbus百度文库 MODBUS协议最简单又是最直白的解释 分为RTU(发Hex)模式和ASCII(发字符)模式 从机地址 0-247 (其中0为广播地址) 通信格式 ASCII 起始符+设备地址(1Byte)+功能码(1Byte)+数据(nByte n<253)+校验(2Byte LRC)+结束符 起始符——ASCII的起始符为‘:’一个冒号 设备地址——0-247 功能码—— 2020-08-21 Communication #embedded #modbus
UCOS序章延时函数123456789void OSTimeDlyHMSM (CPU_INT16U hours, CPU_INT16U minutes, CPU_INT16U seconds, CPU_INT32U milli, 2020-08-21 RTOS #rtos #ucos
树莓派4B GPIO库 Wiringpi Oops - Unable to Determine Board Type关键词:树莓派4B GPIO库 wiringpi Oops - unable to determine board type… model_ 17 先说解决方案123cd /tmpwget https://project-downloads.drogon.net/wiringpi-latest.debsudo dpkg -i wiringpi-latest.deb 问题描述官网给的解释 http 2021-08-02 raspberry #raspberry #wiringpi
树莓派4B PWM温控风扇 Wiringpi库 PWM调整频率 54M PWM频率不对关键词:树莓派4B PWM温控风扇 wiringpi库 PWM调整频率 54M PWM频率不对 总结很多博客文章都是说树莓派PWM是按19.2M基频率来算的,今天用逻辑分析仪抓了一下波形后发现频率有问题,然后按测得的频率反推,算出来我这里好像是按54M的时钟频率来的,不清楚是什么情况。我这里的环境是wiringpi=2.52 + 树莓派4B + Linux raspberrypi 5.10.52- 2021-08-02 raspberry #raspberry #wiringpi #pwm
RTX创建一个RTX项目Create an RTX5 Project 创建一个新的项目,并选择单片机设备。 Create a new project and select a microcontroller device. 设置 CMSIS::CORE 和 CMSIS::RTOS2 (API)::Keil RTX5,在下拉框中你可以选择添加RTX库或者添加完整源代码。 In the Manage R 2020-08-21 RTOS #rtx #rtos #keil
Linux 应用编程 Curl Libcurllinux 下 curl 的c语言开发安装从源码安装Curl 的官网下载地址:http://curl.haxx.se/download/Curl 的使用例子地址: https://curl.haxx.se/libcurl/c/example.html 下载、解压好后….. 配置参数 1./configure 编译 1make 安装到系统 1sudo make install 检查安装 12 2023-03-24 linux #linuxapp #curl #libcurl