hexo博客绑定域名实现国内访问
在本地可以用hexo来搭建自己的博客后(若还没有搭建可以看我的博客搭建这篇文章),再在Vercel实现线上访问(若想以其他静态页面而非Hexo来Vercel结合github实现线上访问可以看我的使用Vercel来部署静态页面并解决跨域问题这篇文章)。 经过以上两个步骤可以实现使用科技手段来访问搭建的网页或博客,但此时若不想使用科技手段对Vercel提供的域名在国内访问搭建的博客大概率是会访问失败。(这里的原理结合我所学的知识应该是因为Vercel所生成的默认的域名在国内dns服务器解析失败导致无法找到ip,从而使我们所搭建的网站在国内无法访问) 这个问题可以通过购买国内域名就可以实现,购买一些便宜的域名即可(域名购买的步骤不再演示了,便宜的域名6块1年也不是很贵,这里以阿里云的域名为例)。 域名购买完成后可在搜索栏中搜索域名,进入域名控制台页面。 然后点击全部域名查看自己购买到的域名。 下方应该就会有你所购买到的域名信息(若状态不是处于正常状态需要等待一段时间检查)。 然后打开Vercel,点击右上角的ADD NEW下面的Project。 在下方选择你的博客或其他...
串口协议
USART串口通信stm32中使用USART串口通信主要通过RX和TX两个接口完成基础操作,发送的数据通过总线到发送数据寄存器TDR,然后TDR中数据会发送到发送移位寄存器,发送移位寄存器会将比特右移的传到USARTX_TX引脚,产生串口协议规定的波形,当数据从发送移位寄存器发送完成时,TXE标志位会置1,只需判断TXE就可以知道是否可以传下一个数据。 同样在接受控制器中通过USARTX_TX引脚接受数据,接受完成会将RXNE标志位置1。 在实际使用中只有DR寄存器可供读写,写入DR时,数据走TX发送,读出DR时,数据走TX接受。 发送数据的函数形式为 void Serial_SendChar(uint8_t ch) { // 发送字符 USART_SendData(USART1, ch); // 等待发送缓冲区为空 发送完成会将USART_FLAG_TXE置1 while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); } 接受数据的形式为 if (US...
ADC模数转换器
ADC可以将模拟电压转换为数字变量, 输入电压范围03.3V,转换结果的范围:04095,即0V对应0,3.3V对应4095,中间均为一一对应的线性关系。 STM32F10系列中ADC有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 STM32 ADC的总转换时间$$T_{CONV} = 采样时间+12.5个ADC周期$$ 例: 当ADCCLK =14MHz,采样时间为1.5个ADC周期, 则$$T_{CONV} = 1.5 +12.5 =14个ADC周期=1us$$
stm32TIM定时中断
中断优先级配置NVIC来进行中断优先级配置(值越小,优先级越高)。 NVIC优先级分组NVIC的优先级组通过NVIC_PriorityGroupConfig(NVIC_PriorityGroup_X)来配置X表示哪个分组。 NVIC组 抢占优先级 响应优先级 NVIC_PriorityGroup_0 0bits 4bits,可分为0-15 NVIC_PriorityGroup_1 1bits 3bits NVIC_PriorityGroup_2 2bits 2bits NVIC_PriorityGroup_3 3bits 1bits NVIC_PriorityGroup_4 4bits 0bits 计数器计数频率$$CK_CNT = CK_PSC/(PSC+1)$$ CK_CNT:定时器时钟,CK_PSC:定时器时钟源,PSC:预频分值。 计数器溢出频率$$CK_CNT_OV = CK_CNT/(ARR +1)=CK_PSC/(PSC+1)/(ARR+1)$$ ARR:自动重...
stm32标准库初始化
标准库初始化 [!IMPORTANT] 采用Keil IDE基于C语言进行编写stm32运行代码(以stm32f10x系列为例),使用标准库首先需要引入相应的库文件,该文件需要自己去网上下载 新建工程编写逻辑代码前需要对keil将文件夹中的内容读入到IDE中 ,点击keil上方tab栏中的Project里面的New μVisioon Project...,找到存放共工程的文件夹,并在该文件夹中在下方的文件名中输入该工程的名称,后点击保存。 在芯片选择中选择STM32F1x对应的芯片,后点击OK,后续的窗口直接关闭即可。 后面再将对应的固件库文件放入到该工程文件夹中。 keil中把文件导入工程在keil中点击三个方块样式的工程管理按钮 在Project Items中的Groups可添加对应名的文件夹,然后在再右侧的files的下方Add Files添加对应的固件库文件,即可成功创建文件。 然后点击三个方块样式旁边的魔术棒按钮。 在Tab栏中C/C++中的Include Paths中添加工程所用到的文件以及Define中改为USE...
计算机网络-物理层
基础概念 数据:传送信息的实体,通常是有意义的符号序列。 信号:数据的电气/电磁的表现,是数据在传输过程中的存在形式。 信源:产生和发送数据的源头。 信宿:接受数据的终点。 信道:信号的传输媒介。一般用来表示向某一个方向传送信息的介质。 码元:码元指用一个固定时长的信号波形(数字脉冲),代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元,而该时长称为码元宽度。一码元可以携带多个比特的信息量。 速率:也叫数据率,指数据的传输速率,表示单位时间内传输的数据量。可以用码元传输速率和信息传输速率表示。 码元传输速率:表示单位时间内数字通信系统所传输的码元个数,单位是波特,1波特表示数字通信系统每秒传输一个码元。 信息传输速率:表示单位时间内数字通信系统传输的二进制码元个数(即比特数),单位是比特/秒。 三种基本通信方式 单向通信。只有一个方向的通信而没有反方向的交互,仅需要一条信道。如,无线电广播、电视广播就属于这种类型。 半双工通信。通信的双方都可以发送或接收信息,但任何一方都不能同时发送和接受信息,需要两条信道。...
计算机网络-计算机网络体系结构
多层次ISP结构 ISP:因特网服务提供者/因特网服务提供商,是一个向广大用户综合提供互联网接入业务、信息业务、和增值业务的公司,如中国电信、中国联通、中国移动等。 分为主干ISP、地区ISP和本地ISP。 图中IXP可以提高同地区的网络通信速度。 计算机网络OSI七层模型中,下三层网络层,数据链路层和物理层就代表着通信子网(各种传输介质、通讯设备、相应的网络协议组成),路由器是网络层的通讯设备,交换机、网桥是数据链路层的通讯设备,集线器,中继器是物理层的通讯设备。 上三层应用层、表示层和会话层则是资源子网(实现资源共享功能的设备和软件的集合)。 计算机网络的分类按分布范围分类按分布范围可分为以下几种: 广域网(WAN)。广域网实现只要通过交换技术,需要交换机及路由器作为媒介来进行报文交换,一般各节点交换机都是高速链路,具有较大的通信容量。 城域网(MAN)。城域网大多采用以太网技术,有时也常并入局域网的范围讨论。 局域网(LAN)。局域网一般通过广播技术实现,覆盖范围较小。 个人区域网(PAN)。个人区域网指用无线技术连接起来的网络。 按交换技术分类按...
操作系统-输入输出管理
IO设备IO设备就是可以将数据输入到计算机,或者可以接受计算机输出数据的外部设备,属于计算机中的硬件设备。 IO设备的分类 按使用特性 人机交互类外部设备。例如鼠标、键盘、打印机等——用于人机交互 存储设备。例移动硬盘、光盘等——用于数据存储 网络通信设备。调制解调器等——用于网络通信 按传输速率 低速设备。例如鼠标、键盘等——传输速率为每秒几个到几百字节。 中速设备。如激光打印机等——传输速率为每秒数千至上万个字节。 高速设备。如硬盘等——传输速率为每秒数千字节至千兆字节。 按信息交换的单位分类 块设备。传输速率较高,可寻址,即对它可随机地读/写任一块,如磁盘等。 字符设备。传输速率较慢,不可寻址,在输入/输出时常采用中断驱动方式,如鼠标、键盘等。 IO控制方式程序直接控制方式从计算机外部设备读取的每个字,CPU需要对外设状态进行循环检查,直到确定该字已经在IO控制器的数据寄存器中。 优点:实现简单。在读/写指令之后,加上实现循环检查的一系列指令即可。 缺点:CPU和IO设备只能串行工作,CPU需要一直轮询检查,长期处于“忙等”状...
操作系统-内存管理
内存管理的概念内存空间的分配与回收为了更好能适应不同大小的程序要求和提高内存的利用率,就需要对内存空间进行分配与回收。 覆盖与交换覆盖于交换技术是在多道程序环境下用来扩充内存的两种方法。 覆盖技术 覆盖技术的思想就是将程序分为多个段。常用的段常驻内存,不常用的段在需要时调入内存。 常驻内存的段放在“固定区”中,调入后就不再调出(除非运行结束), 不常用的段放在“覆盖区”,需要用到时调入内存,用不到时调出内存。 缺点:由于必须由程序员声明覆盖结构,操作系统完成自动覆盖。对用户不透明,增加了用户编程负担 交换技术 交换技术的思想技术当内存空间紧张时,系统将内存某些进程暂时换出外存,把外存中某些以具备运行条件的进程换入内存(类似进程在内存与磁盘间动态调度)。 连续分配管理方式连续分配是为用户程序分配一个连续的内存空间。 单一连续分配在单一连续分配方式中,内存被分为系统区和用户区。系统区通常位于内存的低地址部分,存放操作系统相关数据;用户区用于存放用户进程相关数据。 在单一连续分配中,内存只能有一道用户程序,用户程序独占整个用户区空间。 优点:实现简单,无外部虽破;可以...
操作系统-进程与线程
进程的概念为了让使参与的每个程序都能独立地运行,为之专门配置的一个数据结构就称为进程块(Process Control Block, PCB)。而由程序段、相关数据段和PCB三部分构成了进程实体(又称进程映像)。 PCB是进程存在的唯一标识,当进程被创建时,操作系统会为其创建PCB,结束后会回收其PCB。 若执行相同的三个程序,此时会将三个程序载入进程,它们的PCB、数据段各不相同,但程序段的内容都是相同的。 进程的状态与转换进程通常有以下几种状态: 运行态。进程正在处理机上运行。 就绪态。进程获得了除处理机外的一切所需资源,一旦得到处理机,便可立即运行。 阻塞态。又称等待态,进程正在等待某一事件(不是在等待CPU处理完成)而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输出完成。即使根据阻塞原因的不同,可设置多个阻塞队列。 创建态。进程正在被创建,尚未转到就绪态。 终止态。进程正从系统中小时,可能是进程正常结束或其他原因推出运行。 由于进程的整个生命周期都在运行态、就绪态、阻塞态三种状态,所以也称这三状态为基本状态。 进程控制进程控制主要是对系...
计算机组成原理-IO系统基本概念
IO控制方式简介假设有这么一段代码: #include <stdio.h> int main(){ char i; scanf("%c", &i); printf("%c",i); return 0; } 当上方代码执行到scanf("%c", &i);此时需要I/O设备来输入内容使程序继续进行下去。 此时CPU有两种解决方案: 程序查询方式:CPU不断轮询检查I/O控制器的状态寄存器,检测到状态为”已完成“后,再从数据寄存器取出输入数据。 程序中断方式:等待键盘I/O时可以先让CPU执行其他程序,键盘I/O完成后I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据。 用上述方法都需要用CPU做中转站来让主存和IO设备相互联系。 若对磁盘等高速外设就不适合使用上诉方法,因此就可以用DMA(Direct Memory Access)控制方式。 DMA控制方式:主存和高速io设备之间建立一条直接数据通路。每完成...
计算机组成原理-总线概述
总线的基本概念总线是一组能为多个部件同时共享的公共信息传送线路。由于总线发送信号,与总线连接的所有部件都能接受到,所以同一时刻只能有一个部件发送数据。可有多个部件同时接受数据。 总线的特点:共享:指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。 分时:指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时向总线发送信息。 总线的分类串行总线与并行总线串行总线: 每次传送只传送1bit数据。 优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。 缺点:在数据发送和接受的时候要进行拆卸和装配,要考虑串行,并行转换的问题。 并行总线: 每次可以并行发送多bit数据。 优点:总线的逻辑时序比较简单,电路实现起来比较容易。 缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。 按功能进行划分片内总线片内总线式芯片内部的总线,如CPU内部寄存器与寄存器之间、ALU之间的公共连接线...
