LaTeX配置:MiKTeX+WinEdt

LaTeX(Tex)是一种语言,搭配上编译器(MIkTEX、TexLive)和编辑器(WinEdt、VS Code等)可以程序化生成PDF文档。本次给大家分享的是MiKTeX+WinEdt的配置(安装方便快捷,占用空间小)。具体步骤如下:

  1. 预下载文件

  1. 下载Ctex2.9版本套装:Index of /ctex/legacy/2.9/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror(选择CTeX_2.9.2.164.exe)

  1. 下载最新MiKTeX:Getting MiKTeX

  1. 下载最新WinEdt: WinEdt Downloads

  1. 配置LaTeX

  1. 安装CTeX_2.9.2.164.exe:在“安装组件”界面不要勾选 MiKTeX,务必要勾选WinEdt,修改安装路径到软件安装盘,如D:\CTEX,其他按步骤操作(或参考网络)。

  1. 安装MiKTeX:首先,按步骤操作,安装至步骤a.的文件中,如D:\CTEX\MiKTeX;然后,在“开始”找到“MiKTeX Console”并打开,点击“更新→检查更新“,检查完毕点击”立即更新“(或参考网络)。

  1. 安装WinEdt:按步骤操作(或参考网络),覆盖安装至步骤a.的文件中,如D:\CTEX\WinEdt。

  1. WinEdt注册和预设

  1. 注册:打开WinEdt(直接叉掉提示注册窗口,进入其主页面),在最上的菜单栏依次点击”Help→Register WinEdt...“,在弹出界面的对应位置输入以下内容(仅对WinEdt11有效):

Name:*60[20220501] Warez_Down [RU-BOARD] (100 users)

Code:4049089118892183088

点击”ok“会弹出successful的字样,这代表注册成功。

  1. 工具栏预设:在最上的菜单栏依次打开”Options→Toolbar→2-row Large。

  1. 英文字体预设:在最上的菜单栏依次打开”Options→Options Interfice→FontSchemes:Font,Tabs,Caret...(第5行)→Font”在如下页面的第26行做修改FONT_NAME="Verdana(或Times New Roman)"和FONT_SIZE=16。

最后,右击左上角的“Font.ini”点击“Load Script”(第3行)。

  1. 中文字体预设:在步骤c.打开的”Options Interfice“界面选择

“Lanquage,Unicode,Sorting...(第9行)→Unicode (UTF-8)Support”在如下页面的第306行做修改FONT="楷体>;Microsoft JhengHei UI>;......SimSun>;宋体>"

最后右击左上角的“Unicode.ini”点击“Load Script”(第3行),并关闭所有页面铁子们,如有帮助,别忘点赞、关注+收藏!

### AS608指纹传感器与STM32的集成 AS608是一款广泛使用的光学指纹传感器,通常通过串口(UART)接口与微控制器通信。对于STM32平台,可以通过标准库或HAL库实现其驱动程序开发。 #### UART配置 在STM32中,AS608主要依赖于UART模块进行数据传输。以下是UART初始化的一个基本示例: ```c #include "stm32f1xx_hal.h" void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 9600; // 默认波特率设置为9600bps huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; HAL_UART_Init(&huart1); } ``` 此部分代码用于初始化USART1外设,确保它能够以指定参数运行[^2]。 #### 数据包结构解析 AS608的数据交互基于特定命令帧格式完成。每一帧由起始字节、地址码、指令码以及校验和组成。发送给AS608的每条命令都需要遵循该协议。 以下是一个简单的函数模板用来构建并发送这些命令至传感器: ```c #define FINGERPRINT_STARTCODE (uint16_t)0xEF01 #define FINGERPRINT_ADDR ((uint8_t[]){0xFF, 0xFF, 0xFF, 0xFF}) // 发送命令到AS608 int sendFingerprintCommand(uint8_t cmdPacket[], uint16_t packetLen){ int i=0; while(i<packetLen){ HAL_UART_Transmit(&huart1,&cmdPacket[i],1,100); i++; } return i; } // 构建完整的命令包 void buildAndSendCmd(uint8_t commandCode,uint8_t paramCount,uint8_t params[]){ uint8_t cmdPacket[12]; uint16_t checksum=0; memcpy(cmdPacket,FINGERPRINT_ADDR,sizeof(FINGERPRINT_ADDR)); cmdPacket[sizeof(FINGERPRINT_ADDR)]=(FINGERPRINT_STARTCODE>>8)&0xFF; cmdPacket[sizeof(FINGERPRINT_ADDR)+1]=FINGERPRINT_STARTCODE&0xFF; cmdPacket[sizeof(FINGERPRINT_ADDR)+2]=(paramCount+4)>>8 & 0xFF ; cmdPacket[sizeof(FINGERPRINT_ADDR)+3]=(paramCount+4) & 0xFF ; cmdPacket[sizeof(FINGERPRINT_ADDR)+4]=commandCode; for(int j=0;j<paramCount;j++){ cmdPacket[sizeof(FINGERPRINT_ADDR)+5+j]=params[j]; checksum+=params[j]; } checksum +=(paramCount+4)+(commandCode+FINGERPRINT_STARTCODE); cmdPacket[sizeof(FINGERPRINT_ADDR)+5+paramCount]=(checksum >>8 )&0xFF; cmdPacket[sizeof(FINGERPRINT_ADDR)+5+paramCount+1]=checksum &0xFF; sendFingerprintCommand(cmdPacket,sizeof(cmdPacket)); } ``` 以上代码片段展示了如何创建一个通用的方法来封装向AS608发出的各种请求操作[^3]。 #### 接收响应处理 当接收到来自AS608的消息时,则需按照相同的帧格式对其进行解码分析。这一步骤同样重要,因为只有正确理解返回的结果才能进一步采取行动。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值