【HEXO】[01]HEXO常用命令
hexo远程发布
1hexo clean && hexo g && hexo d
新建md文件
1hexo n "name"
【蓝桥杯单片机】程序模板设计
前言
为了确保程序的准确性,总结了以下要点
保证程序逻辑正确,其次再是“基于现象上”的正确,保证程序不会出现隐性问题
在逻辑正确的前提下,保证数据读取的实时性,尽量优化代码执行效率
对数据的处理,在确保程序完全正常运行的前提下,最大限度地提高内存空间的利用率
编写程序时,先写主框架,验证逻辑后,再依次验证其他模块
数码管/LED模块工作原理
例如:数码管的段选/位选输出由两个74HC573锁存器控制
锁存器送出数据的过程
P0输出8位数据
锁存器不使能,Q0~Q7为之前的数据,D0 ~ D7等待被送出
锁存器使能,数据送出,Q0~Q7即为P00 ~ P07的信号
注意:OE此处默认接GND
**如何控制锁存器送出数据的顺序/使锁存器单个送出数据? **
由一个或非门(U25)的四个输出控制四个锁存器的输入使能信号(Y7C~Y4C)
或非门的输入Y7 ~ Y4由一个译码器的输出控制,或非门的一端WR默认为低电平,那么这里的或非门就相当于一个输入为Y(n)的非门
其中74HC138(U24)的输入为P2口的P27~P25
通过推导可知,P27 ~ P ...
【C语言入门学习】[1]初识C语言 01
【C语言入门学习】[1]初识C语言 01
2024.1.9更新
2024.2.20更新
#前言
什么是C语言?
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
ANSI C,作为C语言最初的标准
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C
C语言介于机器语言和高级语言之间
一、基本概念
一、c语言的基本框架
main函数是程序的入口
return 0;函数正常运行结束时返回0
二、c语言的数据类型
char //字符数据类型
short //短整型
int //整形
long //长整型
long long // ...
【stm32单片机】[CubeMX][1]Hal库初始化配置
前言
在准备安装CubeMX开发环境之前,需要注册ST官网账号,注册的信息不要出现中文,密码也不要与注册信息的个人姓名相关,否则可能导致页面卡住。
需要安装java环境,才能正常允许CubeMX
确保以及安装了Keil MDK,Keil完成了stm32的芯片包配置,至少下载串口通信(FLY MCU) , STLink Unit中其中一款下载/串口通信软件。
CubeMX初始配置
1.CubeMX安装芯片固件包
像常用的stm32f103c8t6,我们就选择STM32F1,勾选最新固件包,点击Install Now进行在线安装
2.工程创建
1.打开stm32cubeMX,File > New project >MCU/MPU Selector >Part Number
2.输入stm32f103c8,Start Project
3.Project Manager > Project
3.引脚配置
3.外设配置
GPIO属性配置
GPIO output level > High 输出等级 高
GPIO mode Output ...
【蓝桥杯单片机】客观题
RC低通滤波器
截止频率
【stm32单片机】[11]IIC通信(mpu6050)
IIC通信协议
基本功能
同步时序的稳定性比异步时序更高
半双工
SCL、SDA两根通信线
支持总线挂载(一主多从,多主多从)
硬件电路
所有I2C设备的SCL连接在一起,SDA连接在一起
设备的SCL和SDA均要配置成开漏输出模式(防止形成短路电流,SDA要么被上拉,要么输出低电平),会有“线与”的现象。在多主机的模式下,可以利用线与的特性,实现总线仲裁和时钟同步。
SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右
PS:IIC时序是高位先行,串口是低位先行
PS:主机接收时,需要释放SDA,即输入模式
PS:从机的地址可以通过电路改变
红线处,此时需要从机应答,这里如果但看主机的SDA,应该会释放SDA,即高电平,由于从机要发送应答,根据线与的特性,这里拉低了SDA,所以最后SDA呈现图中所示。
IIC通信的设备中会有单独一个字节空间存储地址指针,当给IIC设备指定地址写时,地址指针会加一,这时如果使用当前地址读,就是读取指针地址指向的内存。此时序较为少用、
指定地址读的实现原理:先调用指定地址写,但是不写数据。再次 ...
【stm32单片机】[9]DMA数据转运
相关库函数
恢复缺省配置
void DMA_DeInit(DMA_Channel_TypeDef* DMAy_Channelx);
初始化DMA
void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct);
结构体初始化
void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct);
DMA使能
void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState);
中断输出使能
void DMA_ITConfig(DMA_Channel_TypeDef* DMAy_Channelx, uint32_t DMA_IT, FunctionalState NewState);
DMA设置当前数据寄存器
void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNum ...
【stm32单片机】[10]串口通信
库函数解释
结构体初始化配置
void USART_DeInit(USART_TypeDef* USARTx);
void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);
void USART_StructInit(USART_InitTypeDef* USART_InitStruct);
同步时钟配置
void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct);
void USART_ClockStructInit(USART_ClockInitTypeDef* USART_ClockInitStruct);
发送数据
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
写DR寄存器
接收数据
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
...
【Python学习】[1] 初识Python
第一个Python程序
12345678910111213141516(base) C:\Users\123>pythonPython 3.11.7 | packaged by Anaconda, Inc. | (main, Dec 15 2023, 18:05:47) [MSC v.1916 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> print('Hello world')Hello world>>> print("Hello world")Hello world>>> name = input('请输入你的名字')请输入你的名字'Turin'>>> print(name)'Turin'>>> print('Hello',name)Hello 'Turin'>>> 2**101024>>>
数据类型和 ...
【pid算法】[入门篇] 1-深入浅出pid控制算法原理
pid模拟调参(无人机)
Webpack App (rossning92.github.io)
多环(平衡小车)
12345678910111213141516171819202122232425262728int Kp,Ki,Kd;int Error;int Error_old;int Error_difference;long int Error_sum;void I_amplitude_limiting(int number){ if(Error_sum>number) { Error_sum=number; }}//PID控制系统:P、I、D共同作用//measure,calcu:系统的输入int PID_control(float measure,float calcu){ Error = measure - calcu;//误差值 Error_sum += Error;//误差累加 I_amplitude_limiting(2000);//限幅函数 Error_difference = Error- Error_old;//误差变化率(近似于对时间的微分) ...
【微机原理】红外通信系统
# 前言
一、红外通信系统
二、红外调制解调的原理
空闲状态:红外LED不亮,接收头输出高电平
发送低电平:红外LED以38KHz频率闪烁发光,接收头输出低电平
发送高电平:红外LED不亮,接收头输出高电平
总而言之,只有红外LED发送38KHZ的闪烁信号时,红外接收头OUT引脚才会对外输出低电平信号
红外发送–红外接收的本质是调制和解调,在这种条件下,可以过滤掉自然界中的“噪声信号”,只有38KHZ附近的红外信号才能被红外接收头识别转换为对应的低电平。
转换示意图:
1.红外LED发出的信号
2.红外接收头发出的信号
其中,红外接收头发出的低电平信号的宽度等价于红外LED发送的38KHz信号的时间。
一、基于CCP1输入捕获模式的解调电路
1. Proteus生成基带信号
1.1脉冲最小单位
1.2特定脉冲序列
从左往右表示数据从高位到低位,如图所示为01001101
1.3仿真结果
代码部分
1234567891011121314151617181920212223242526272829303132333435363738#include < ...
【HEXO】[2] 多线程部署常见问题
HEXO更新日志
2024.5.3
重要更新:将HEXO博客部署到腾讯云轻量化服务器,极大提升国内访问速度,访问ip地址:Turin’s Blog - 数理照亮世界
优化主页文章卡片界面,参考文章:首页 | Butterfly主题美化教程 (zhheo.com)
优化网站页面显示效果:透明度。博客背景使用一图流 | QianChengGit の小森林
xxxxxxxxxx git remote add [alias] [url]//参数[alias]为别名, [url]为远程仓库的地址bash
一、HEXO部署到云服务器(Ubuntu系统)
Hexo部署至服务器(Ubuntu 20.04)-腾讯云开发者社区-腾讯云 (tencent.com)
04_Hexo-多平台部署-云服务器-GitHub-Gitee | Mycpen
二、Ubuntu允许root连接服务器
Linux开启ssh并允许root登录(ubuntu、centos、kalilinux)_ssh允许root远程登录-CSDN博客
报错信息 “E45: ‘readonly’ option is set ...