嵌入式基础笔记
文章平均质量分 89
stm32等mcu的学习笔记与杂项笔记
内 鬼
所有博文与笔记在GitHub Repository:redlightASl/Notes进行实时更新,如转载请标明出处。现已切换到个人博客进行更新,redlightasl.top
展开
-
STM32F4深入学习【基础电路实现】
作为一个STM32的学习者,同时我也是一名微电子专业的学生,自然要将二者联系一下——本篇笔记就从基础的触发器verilog代码说起,简单剖析STM32中基础电路的实现本篇文章不涉及原理,只讨论可行的verilog代码,相关内容可参考verilog基础教程、集成数字电路设计教程及ARM-AMBA协议相关教程触发器实现基本触发器电路主要有D触发器、JK触发器、T触发器三种,其中T除法器和D触发器都是在JK触发器基础上改进而来触发器是一个单片机外设配置的基础JK触发器JK触发器是最基础的用于边沿触发的原创 2022-04-23 12:29:09 · 2331 阅读 · 0 评论 -
maix_train本地训练出现“Failed to get convolution algorithm”的解决方法
使用sipeed提供的maix_train进行k210本地模型训练的时候,出现了以下问题2022-01-29 21:31:49,805 - [ERROR]: failed: TrainFailReason.ERROR_INTERNAL, error occurred when train, error: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try lo原创 2022-01-29 22:05:27 · 2389 阅读 · 1 评论 -
STM8L开发环境配置
stm8l101f3p6配环境记录最近因为需要使用一个低成本、低功耗、小体积的mcu制作一套简单的spi-iic-uart转换板,综合比较了stc8(51架构)、stm8(st自研8位CISC架构)、atmel8(51架构)等单片机,最后选择了stm8l10x系列,因为成本可以接受(好贵啊,但是至少比msp那种诡异的东西便宜)体积最小(封装ssop20)外部电路最少(唯二不需要外部晶振的单片机)功耗相对低(虽然比不上TI的,但是它更便宜)外设最丰富(有硬件spi、iic、uart,完全满足需求原创 2022-01-04 23:15:14 · 3376 阅读 · 6 评论 -
现代C语言技术2
C语言语法拾遗专门总结了一些C语言C99/C11之后的新语法或冷门语法预处理和宏——灵魂预处理器和宏可以说是面向对象语言独有的东西,这些特性发生在编译这个过程之前,使得C语言的编译过程变得“可控”,甚至可以说C语言编译本身就是一个开发者可编程的过程——或许这样说比较抽象,举个例子:java的宏并不对一般开发者开放,一般只有OpenJDK的开发者才会面对java宏和相关预编译指令;但是C语言的宏直接出现在hello world程序中:“#include”指令本身就意味着对链接器进行调用——这些宏严格来说原创 2021-09-16 20:12:12 · 712 阅读 · 0 评论 -
现代C语言技术1
本篇内容根据《C程序设计新思维》编写,作者水平有限,难免存在疏漏和错误,有问题请指出C与POSIX的历史C、UNIX、POSIX的存在是紧密相连的C和UNIX都是在20世纪70年代由贝尔实验室的设计,而贝尔有一项与美国政府达成的协议:贝尔将不会把自身的研究扩张到软件领域,所以UNIX被免费发放给学者进行研究、重建;UNIX商标则被在数家公司之间专卖。在这个过程中,一些黑客们改进了UNIX,并增加了很多变体,于是在1988年IEEE建立了POSIX标准,提供了一个类UNIX操作系统的公共基础POSIX原创 2021-09-16 20:11:01 · 623 阅读 · 2 评论 -
电赛笔记【msp430简介——基于msp430f5529】
MSP430该MCU是由德州仪器TI生产的16位低功耗单片机主要分以下型号:专注低功耗的1xx通用型,配备1KB-60KB FLASH、512B-10KB RAM,工作时耗电仅达200uA/MIPS,RAM保持模式耗电0.1uA,RTC模式耗电0.7uA;可在6us之内快速唤醒。搭载10/12位斜率SAR ADC,集成模拟比较器、DMA、硬件乘法器、BOR、SVS、12位DAC能耗比高的F2xx通用型,性能16MIPS@3.3V,配备1-120KB FLASH,8-128KB RAM,工作耗电22原创 2021-08-01 19:00:30 · 27415 阅读 · 10 评论 -
电赛笔记【电机控制】
本篇博文主要使用HAL库和CubeMX进行代码示例,毕竟电赛时间那么紧张,写STP库的时间都够CubeMX重开一局了直流电机控制根据电机学,直流电机转速n=U−IRKϕn=\frac{U-IR}{K\phi}n=KϕU−IR其中U为电枢端电压,I为电枢电流,R为电枢电路总电阻,Φ为每极磁通量,K为电机结构参数直流电动机的转速控制方法有两种励磁控制法:对励磁磁通进行控制电枢控制法:对电枢电压进行控制励磁控制阀在低速状态下收到磁极饱和限制,在高速时受换向火花和换向器结构强度的限制,动态原创 2021-07-30 22:11:12 · 3122 阅读 · 5 评论 -
电赛笔记【常用控制算法】
硬件控制算法可应用的电路系统一般由模拟电路和数字电路组成。模拟电路用于电信号的处理和提供电源;数字电路则用于采集非电信号数据和控制系统。一般来说系统控制使用MCU、DSP或FPGA通过软件编程实现,在其中常使用用于控制系统的各种算法。PID算法PID算法简介PID算法是一种很成熟、应用广泛的连续时间控制系统算法,最突出优点在于:结构典型方便参数整定可以灵活更改结构除了数字PID,还存在使用电阻、电容反馈与集成运放配合实现的模拟PID,但是因为其不便于修改和调参,适用范围不广PID是一种原创 2021-07-19 11:18:10 · 3978 阅读 · 0 评论 -
电赛笔记【集成运放简介】
集成运放概述常见的模拟集成电路类型集成运算放大器OP集成功率放大器集成高频放大器集成中频放大器集成比较器集成乘法器集成稳压器集成数模/模数转换器ADC/DAC模拟集成电路的特性集成电路中一般使用三极管组成恒流源电路来部分替代电阻硅片上难以制作大电容、大电感,因此电路常常使用直接耦合的方式常采用复合管的方式制作较大放大倍数的三极管集成运放的基本组成输入级输入级要求高阻抗,常使用射随器与差分放大器减少温漂和增大输入电阻一般使用复合管构成差分放大器,配合共集-共基放大器,用额原创 2021-07-19 11:16:40 · 1172 阅读 · 0 评论 -
电赛笔记【数模转换原理】
数模转换与模数转换这里以STM32G474为例来介绍STM32中的ADC与DAC编程主要作为电赛的笔记模数转换ADC四个基本部分采样:定时对连续变化的模拟信号进行测量得到的瞬时值保持:采样结束后将得到信号保持一段时间,使ADC有充分时间进行ADC转换。一般采样脉冲频率越高、采样越密,采样值就越多,采样保持电路的输出信号就越接近输入信号的波形。对采样频率要求(满足采样定理):采样频率Fs >= 2*输入模拟信号频谱中最高频率Fmax量化:将采样电压转换为某个最小单位电压的整数倍编码:用原创 2021-07-19 11:15:52 · 2134 阅读 · 0 评论 -
STM32F4深入学习【定时器】(下)
STM32的STP定时器库函数从STP换到HAL,没想到愣是没有一丝改变STM32的定时器库函数非常多这里作以下基本梳理(大多是从.c文件开头的注释翻译整理)库函数的基本使用方法库函数被分成了9组功能,如下所示TIM时基管理ST提供了一些库函数用来管理定时器的基础设置时基管理的使用方法很简单,如下所示使用RCC_APBxPeriphClockCmd(RCC_APBxPeriph_TIMx, ENABLE)函数开启定时器时钟使用设定好的参数设置定时器初始化结构体使用TIM_Tim原创 2021-05-22 20:50:10 · 1168 阅读 · 3 评论 -
STM32F4深入学习【定时器】(上)
定时器时钟单片机就是定时器!定时器就是单片机!——某个不愿透露姓名的学长定时器是单片机的灵魂,学一个单片机,最先掌握的是GPIO,最容易掉坑的是中断控制器,最复杂的是那些总线协议,而最难掌握的就是定时器这里笔者通过阅读STM32F4xx官方参考手册,配合英文版和中文版整理了与STM32标准外设库有关的定时器知识点(其实大部分是摘抄/翻译原文),经过自己浅薄的经验(半年多的STM32学习经历)梳理得到以下内容,权当抛砖引玉将外设库源码摘抄附录在结尾,顺序与正文基本一致,可供参考内核定时器SYST原创 2021-05-22 20:47:58 · 4655 阅读 · 11 评论 -
STM32F4深入学习【中断控制】
嵌套向量中断控制器NVICARM内核标准规定了使用嵌套向量中断控制器NVIC控制异常和中断。对于STM32F407的Cortex-M4内核,NVIC具有16个可编程优先级、86个可屏蔽中断通道(ARM标准规定NVIC最多支持240个中断请求、1个不可屏蔽中断NMI、1个systick中断和多个系统异常,STM32只用到了一部分)为了继续执行被中断的程序,异常流程需要利用一些手段来保存被中断程序的状态(保护现场),并在异常处理完成后自动恢复(恢复现场),这个过程一般有硬件实现,但是也可以由硬件、软件共同操原创 2021-05-13 12:19:18 · 1729 阅读 · 2 评论 -
STM32F4深入学习【GPIO】
本文章根据stm32f4xx中文参考手册整理,可供学习其他arm内核单片机/stm32系列单片机参考如果对其中的内容有疑问,可以参考RCC、定时器、中断相关部分的解析以下内容使用SPL库(标准库)作为代码示例,HAL库是更高层的封装,想HAL库的使用可以查看其他教程GPIO电路每个GPIO端口包括4个32位配置寄存器、2个32位数据寄存器、1个32位置位/复位寄存器、1个32位锁定寄存器和2个32位复用功能寄存器。每个IO端口位均可自由编程,但IO端口寄存器必须按32位字、半字或字节进行访问基本电原创 2021-04-17 11:22:08 · 1752 阅读 · 3 评论 -
STM32F4深入学习【RCC】
复位系统复位系统复位将所有寄存器复位,除了时钟控制寄存器CSR中的复位标志和备份域寄存器复位条件:外部复位:NRST引脚电平拉低WWDG复位:窗口看门狗计数结束IWDG复位:独立看门狗计数结束软件复位(内核软复位):将Cortex-M4内核的应用中断和复位控制寄存器(SCB_AIRCR)中的SYSRESEREQ(sys_reset_eq)位 置1在以下三种情况下会产生内核复位:上电复位:MCU通电时内核自动将所有组成部件复位系统复位:只复位处理器和外设,不会复位内核de原创 2021-03-29 19:14:42 · 2828 阅读 · 3 评论 -
STM32H7外设配置速查【QSPI部分】
QSPI协议QSPI是Queued SPI(队列串行外围接口)的缩写,是由摩托罗拉公司推出的SPI协议的一个扩展,比SPI应用更加广泛,现在的FLASH、SRAM等存储器大多支持QSPI协议——QSPI是一种专用的通信接口,可连接单、双或四线SPI存储器QSPI在SPI协议的基础上增加了队列传输机制。STM32将Queued SPI协议接口实现为QUADSPI接口。QSPI的实现和SPI基本相似,有部分不同点,在下面列出。物理连接QSPI是标准的四信号线SPI,MCU与外设之间由六根线连接:NSS原创 2021-02-02 01:56:08 · 3226 阅读 · 0 评论 -
STM32F4外设配置速查【内存管理部分】
内存管理内存管理:软件运行时对MCU内存资源的分配和使用的技术主要目的:高效、快速分配内存并在适当时刻释放和回收内存资源实现方法:实现或近似实现c语言定义的malloc()和free()函数,malloc()用于内存申请,free()用于内存释放分块式内存管理由内存池和内存管理表组成内存池内存池被等分为n块,对应大小为n的内存管理表,内存管理表的每一个项对应内存池的一块内存内存管理表每一项代表一块对应的内存池,项为0时,代表对应的内存块未被占用;项非0时,代表对应的内存块已经被占用原创 2021-01-02 01:38:41 · 475 阅读 · 0 评论 -
STM32F4外设配置速查【OV2640摄像头部分】
OV2640OV2640是OmniVision公司生产的1/4英寸CMOS UXGA(1632_1232分辨率)图像传感器特点:体积小、工作电压低、灵敏度高具有单片UXGA摄像头和影像处理器的所有功能通过SCCB总线控制可输出整帧、子采样、缩放、取窗口等方式各种分辨率的8/10位影像数据最高帧数15帧/秒(SVGA可达30帧,CIF可达60帧)用户定义图像质量、数据格式、传输方式等所有图像处理功能都可以通过SCCB接口(行摄像机控制总线协议,相当于一个简易的I2C协议)编程兼容I2C接原创 2020-12-31 20:39:25 · 5143 阅读 · 3 评论 -
STM32F4外设配置速查【低功耗唤醒部分】
低功耗模式一般在系统或电源复位后,mcu在运行状态下由HCLK为CPU提供时钟,内核执行代码,当CPU不需要运行时可利用多种低功耗模式来节省功耗,等待某事件触发时才唤醒stm32f4xx有三种低功耗模式睡眠模式仅内核停止,外设如NVIC、systick等仍运行停止模式所有时钟停止,1.8V内核电源工作,备份寄存器、待机电路等都有供电,寄存器、SRAM数据保留待机模式1.8V内核电源关闭,仅有备份寄存器和待机电路维持供电,寄存器、SRAM清空,功耗最低运行模式下,也可原创 2020-12-29 18:15:15 · 865 阅读 · 0 评论 -
STM32F4外设配置速查【IAP部分】
IAP(In Application Programming)应用内编程mcu编程方式ICP(in circuit programming)使用JTAG/SWD协议或bootloader下载用户应用程序到mcuIAP(in application programming)通过任意一种通信接口(IO口、USB、CAN、USART、I2C、SPI等)下载册灰姑娘徐或者应用数据到flashstm32允许用户在应用程序中重新烧写flash中的内容局限性:IAP至少需要有一部分程序已经使用ICP原创 2020-12-29 14:20:47 · 471 阅读 · 0 评论 -
STM32F4外设配置速查【FPU与DSP部分】
FPU与DSP详细内容参考Cortex-M4内核编程手册FPU调用stm32f4xx及更高配置stm32单片机才有fpu支持stm32f4带有32位单精度硬件FPU,支持浮点指令集,整个FPU单元能被使能和关闭使用协处理器控制寄存器(SCB->CPACR)中的CP11和CP10启用/关闭FPU芯片复位后,CP10、CP11四个位默认为0,FPU关闭将CP10、CP11同时置位即可开启FPUFPU使用system_stm32f4xx.c截取void SystemInit(void)原创 2020-12-14 23:13:00 · 1222 阅读 · 0 评论 -
STM32F4外设配置速查【FSMC-LCD-SRAM部分】
TFTLCDTDTLCD即薄膜晶体管液晶显示器,在液晶显示屏每个像素上都设置有一个薄膜晶体管(TFT),图像质量高一般TFTLCD模块位3.3V供电,不支持5V电压MCU,如果使用5V MCU需在信号线串接120R电阻使用LCD使用16位80并口驱动,与OLED并口驱动类似电容触摸模块使用SPI串口驱动采用厂商提供配置文件或参考数据手册即可完成LCD和触摸屏的驱动配置LCD驱动流程硬复位发送初始化序列(按照厂家提供设置)设置坐标写点或读点写点步骤:写GRAM指令写入颜色数据L原创 2021-01-01 17:33:14 · 1532 阅读 · 0 评论 -
STM32F4外设配置速查【FLASH部分】
前置知识:STM32编程方式在线编程(ICP)通过JTAG/SWD协议或Bootloader下载用户程序到mcu在程序中编程(IAP)通过任意通信接口(IO、USB、CAN、USART、I2C、SPI等)下载程序或应用数据到存储器中STM32允许用户在应用程序中烧录FLASH中的内容局限性:使用前需要有bootloader被以ICP方式烧录进FLASH中前置知识:FLASH结构块名称块基地址大小主存储器扇区00x0800 0000-0x0800 3FFF原创 2020-12-08 19:20:24 · 1044 阅读 · 0 评论 -
STM32F4外设配置速查【DMA部分】
STM32F4 DMA(直接内存存取)DMA原理DMA即Direct Memory Access 直接存储器访问:将数据从一个地址复制到另一个地址,当CPU初始化DMA控制器后,传输动作由DMA控制器实现和完成优点:无需CPU控制 或 中断压栈-出栈过程,让RAM与IO设备间可快速传输数据,减少CPU负载stm32f4资源双AHB总线,一个用于存储器访问,一个用于外设访问编程接口仅支持32位访问的AHB使用DMA最多2个DMA控制器,总共2*8=16个数据流,每个DMA控制器用于管原创 2020-12-07 10:45:09 · 1384 阅读 · 2 评论 -
STM32F4外设配置速查【OLED SSD1306部分】
为突出主要内容(基础原理),删改了部分代码OLED 8080并口CS:片选信号WR:向OLED写数据RD:向OLED读数据D[7:0] :8位双向数据线RST(RES):硬复位OLEDDC:命令/数据标志 0读写命令 1读写数据使用过程在STM32内部建立128*8个字节的缓存,修改时只修改STM32上的缓存(SRAM),修改后**一次性把STM32缓存数据写入OLED的GRAMSSD1306命令序号指令D7D6D5D4D3D2D1D0命令说明0原创 2020-11-09 17:38:12 · 513 阅读 · 0 评论 -
STM32F4外设配置速查【总线协议部分】
总线协议I2C (又称I2C、IIC等)I2C(Integrated Circuit)是两线式半双工串行总线由数据线SDA和时钟SCL构成一般可达400kbps以上协议栈底层硬件SDA和SCL分别上拉到VCC,同时接入设备主设备操纵SCL,可以接收/发送SDA从设备可以发送/接收SDA驱动空闲(释放总线)SDA=1 SCL=1起止信号起始信号:SCL=1 SDA下降沿停止信号:SCL=1 SDA上升沿应答信号ACK发送器每发送一个字节,就在时钟9器件释放SDA,由接收器反馈原创 2020-12-14 22:17:28 · 1375 阅读 · 0 评论 -
STM32F4外设配置速查【DHT11部分】
DHT11传感器工作电压范围:3.3-5.5V 工作电流:0.5mA(Typ)输出:单总线数字信号单个数据引脚端口完成输入输出,输出未编码的二进制数据数据包由5Byte(40Bit)组成,数据分小数和整数部分,一次传输40bit,高位先出数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和(前四个字节相加)传感器输出的是未编码的二进制数据,数据之间应该分开处理计算公式:湿度=byte4.byte3=45.0湿度=byte4 . by原创 2020-12-02 17:25:29 · 989 阅读 · 0 评论 -
STM32F4外设配置速查【ADC、DAC部分】
ADC原理ADC电源要求:全速运行时2.4-3.6V 慢速运行时1.8V 电压输入范围VREF−≤VIN≤VREF+V_{REF-}\le V_{IN}\le V_{REF+}VREF−≤VIN≤VREF+规则通道转换期间可产生DMA请求stm32f40x系列大容量芯片带有3个ADC控制器(3路ADC),都是其中144脚IC因为带PF脚所以多8个通道,共24个外部通道,小于144脚的IC只有16个外部通道所有ADC均为12位逐次逼近型模拟数字转换器各通道可以单次(执行一次转换)、连续(ADC原创 2020-11-30 11:27:36 · 3162 阅读 · 5 评论 -
STM32F4外设配置速查【RNG部分】
硬件随机数发生器(RNG)stm32f4片上自带RNG,以连续模拟噪声为基数,在主机读数时提供一个32位随机数两个连续的随机数间隔40个PLL48CLK时钟可以通过监控RNG熵来标识异常行为或禁止来降低功耗原理:由数个环形振荡器组成,振荡器输出进行异或来产生种子,输入馈入线性反馈移位寄存器(RNG_LFSR),然后寄存器会把结果转移到读取此寄存器即可获得32位随机数rng.c#include "rng.h"#include "delay.h"//RNG初始化u8 RNG_inti(voi原创 2020-12-06 21:26:49 · 516 阅读 · 0 评论 -
STM32F4外设配置速查【电容触摸开关部分】
电容触摸开关 实现步骤:Touch_PAD引脚设置为推挽输出,初始输出0,实现电容放电到0等待IO复位,Touch_PAD引脚设置为浮空输入,等待电容充电等待同时开启Touch_PAD引脚输入捕获等待充电完成(充电到底,Vx检测到上升沿)计算充电时间开关触发条件:没有按下时,充电时间为T_default,Touch_PAD按下时电容变大,充电时间为T_touch,若(T_default-T_touch)<T_trigger,则可判断按键按下,开关触发u8 Touch_PAD_in原创 2020-12-02 17:23:43 · 275 阅读 · 0 评论 -
STM32F4外设配置速查【RTC部分】
RTC(Real Time Clock)实时时钟独立的BCD定时器/计数器可以提供日历时钟有2个可编程闹钟中断,1个具有中断功能的周期性可编程唤醒标志包含用于管理低功耗模式的自动唤醒单元2个32位寄存器包含BCD格式的second、minute、hour(12/24小时制)、day、week、month、year还可以提供二进制的亚秒值系统可自动将月份天数补偿位28、29、30、31天,还可以进行夏令时补偿时钟源:由RTC_CALR精密校准过的LSE(32.768kHz)时钟经过多次分频原创 2020-11-09 17:35:16 · 547 阅读 · 0 评论 -
STM32F4外设配置速查【看门狗部分】
独立看门狗(IWDG)iwdg.c#include "iwdg.h"void IWDG_Init(u8 prer,u16 rlr)//prer为预分频系数,rlr为溢出时间{ //1. 取消寄存器写保护 IWDG_WritrAccessCmd(IWDG_WriteAccess_Enable); //2. 设置独立看门狗预分频系数 IWDG_SetPrescaler(prer); //3. 设置看门狗重装载值,设置溢出时间 IWDG_SetReloa原创 2020-11-09 17:29:03 · 196 阅读 · 0 评论 -
STM32F4外设配置速查【定时器部分】
通用定时器定时器区别定时器种类位数计数器模式产生DMA请求捕获/比较通道互补输出特殊应用场景高级定时器(TIM1、TIM8)16向上向下可以4有带可编程死区的互补输出通用定时器(TIM2、TIM5)32向上向下可以4无通用(定时计数、PWM输出、输入捕获、输出比较)通用定时器(TIM3、TIM4)16向上向下可以4无通用(定时计数、PWM输出、输入捕获、输出比较)通用定时器(TIM9-TIM14)16向上没有2原创 2020-11-09 17:27:48 · 497 阅读 · 0 评论 -
STM32F4外设配置速查【中断部分】
主要为速查关键函数编写,部分内容不规范中断管理中断优先级分组将STM32中断分成0-4功5个组每个终端有抢占优先级和响应优先级高抢占优先级可打断第低抢占优先级抢占优先级相同的中断,那个响应优先级高哪个先执行如果两中断优先级相同,则哪个先发生哪个先执行分组数字越小,优先级越高一般代码执行过程中只设置一次中断优先级分组利用NVIC_PriorityGroupConfig()函数设置优先级分组利用NVIC_Init()函数和NVIC_InitStructure结构体组合设置中断通道、原创 2020-11-09 17:26:07 · 382 阅读 · 0 评论 -
STM32F4外设配置速查【串口通信部分】
RS232串口通信使用简单,参见以下源代码驱动配置usart.c#include "sys.h"#include "usart.h" //如果使用ucos,则包括下面的头文件即可.#if SYSTEM_SUPPORT_OS #include "includes.h" //ucos 使用 #endif//加入以下代码,支持printf函数,而不需要选择use MicroLIB #if 1 #pragma import(__use_no_semihosting)原创 2020-12-15 19:46:58 · 706 阅读 · 0 评论 -
STM32F4外设配置速查【基础部分】
基础库文件速查sys.h直接ctrl c+ctrl v自正点原子#ifndef __SYS_H#define __SYS_H #include "stm32f4xx.h" ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它任何用途//**********************************************原创 2020-11-09 17:31:29 · 336 阅读 · 0 评论 -
关于花一周就能流畅使用Markdown这件事——Markdown个人笔记
标题使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题例:你好你好你好你好你好你不好字体Markdown 可以使用以下几种字体:*斜体*_斜体_**粗体**__粗体__***粗斜体***___粗斜体___为了方便可以统一记为*是强调符号,一对为斜体,两对为更加强调的粗体,三对是非常强调的粗斜体例:苍茫的天涯原创 2020-11-15 17:46:18 · 316 阅读 · 0 评论 -
51汇编指令汇总
原创 2020-12-04 20:12:57 · 444 阅读 · 0 评论