<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sinon的博客</title>
	<atom:link href="https://sinon.top/feed/" rel="self" type="application/rss+xml" />
	<link>https://sinon.top</link>
	<description>坚强大概——并不是指的的结果，而是迈向某个目标的过程吧</description>
	<lastBuildDate>Wed, 01 Dec 2021 09:01:48 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://sinon.top/wp-content/uploads/2018/11/cropped-SAO1-32x32.jpg</url>
	<title>Sinon的博客</title>
	<link>https://sinon.top</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">155085935</site>	<item>
		<title>Verilog学习笔记——分频器</title>
		<link>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e5%88%86%e9%a2%91%e5%99%a8/</link>
					<comments>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e5%88%86%e9%a2%91%e5%99%a8/#comments</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Tue, 25 May 2021 16:05:42 +0000</pubDate>
				<category><![CDATA[verilog]]></category>
		<category><![CDATA[学习笔记]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=633</guid>

					<description><![CDATA[分频器应该是verilog里最常用的一个模块了，原理也很简单，就是设置一个计数器，设置在计到指定的分频数的一半后反转输出波的电平，以实现指定数目的分频，以下是一个100,000分频的例子：（这个模块本来是用于将一个100mHz的晶振信号转化为周期为1ms的信号） module ms_clk( input clk_100mhz, //输入时钟信号100mHz output reg clk_ms ); localparam DIV_COUNT=50000; //100,000分频 reg [16:0]div_ms_counter=0; //分屏用计数器 initial begin clk_ms=0; end always @(posedge clk_100mhz)begin div_ms_counter=div_ms_counter+1; //每周期计数器+1 if(div_ms_counter==DIV_COUNT)begin //计满50,000重置计数器并翻转输出信号 div_ms_counter=0; clk_ms=!clk_ms; end end endmodule]]></description>
		
					<wfw:commentRss>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e5%88%86%e9%a2%91%e5%99%a8/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">633</post-id>	</item>
		<item>
		<title>汇编学习笔记——用户登录验证系统</title>
		<link>https://sinon.top/%e6%b1%87%e7%bc%96%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e7%94%a8%e6%88%b7%e7%99%bb%e5%bd%95%e9%aa%8c%e8%af%81%e7%b3%bb%e7%bb%9f/</link>
					<comments>https://sinon.top/%e6%b1%87%e7%bc%96%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e7%94%a8%e6%88%b7%e7%99%bb%e5%bd%95%e9%aa%8c%e8%af%81%e7%b3%bb%e7%bb%9f/#respond</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Sat, 05 Dec 2020 16:07:21 +0000</pubDate>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[杂项]]></category>
		<category><![CDATA[汇编]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=587</guid>

					<description><![CDATA[突然发现好像很久没有写过博客了…… 正好最近在上微机课，稍微学了一点汇编，实验课做了个小程序，就正好来水一篇文章（ 代码和逻辑还是比较简单的，也加了很多注释，应该可以看懂我就不细讲了（ .486 DATA SEGMENT USE16 password DB 'B18020511$' password_len=$-password user DB 'Sinon$' user_len=$-user buffer DB 29 DB ? DB 30 DUP(?) msg1 DB 'Please enter your user name:$' msg2 DB 'Please enter your password:$' msg3 DB 'Sinon,Welcome!' DB 0AH DB ' ________ ___ ________ ________ ________ ' DB 0AH DB '|\ ____\|\ \|\ &#91;...&#93;]]></description>
		
					<wfw:commentRss>https://sinon.top/%e6%b1%87%e7%bc%96%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e7%94%a8%e6%88%b7%e7%99%bb%e5%bd%95%e9%aa%8c%e8%af%81%e7%b3%bb%e7%bb%9f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">587</post-id>	</item>
		<item>
		<title>Verilog学习笔记——可编程波形发生器</title>
		<link>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e5%8f%af%e7%bc%96%e7%a8%8b%e6%b3%a2%e5%bd%a2%e5%8f%91%e7%94%9f%e5%99%a8/</link>
					<comments>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e5%8f%af%e7%bc%96%e7%a8%8b%e6%b3%a2%e5%bd%a2%e5%8f%91%e7%94%9f%e5%99%a8/#respond</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Sat, 14 Dec 2019 08:16:29 +0000</pubDate>
				<category><![CDATA[verilog]]></category>
		<category><![CDATA[学习笔记]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=488</guid>

					<description><![CDATA[咕咕咕了很久，终于想到要来写第二篇学习笔记了……这次的实验目的是使用DAC0832来产生自定义波形。 概述 首先是这次要用到的两个器件：DAC0832和TL084，通过由这两个器件组成的电路我们就可以达到将数字信号转换为模拟信号的目的，来看一下电路图： 图上标注为DAC0830，这两款芯片使用方式相同 对于电路图的连接不再做过多赘述。我使用了DAC0830的直通模式来进行实验因为这样最方便。在正确连接的情况下，FPGA所需要做的就只是按照预期的波形输出对应的电压值。不过要注意的是，DAC0832的反应时间约为1 μs，所以如果你给的数值变化速度高于了这个值，那可能无法看到波形正确显示。不过以这个模块的精度，我想也完全用不上这么精确的波形输入…… 接下来就进入最关键的部分：通过FPGA输出波形数值给DAC0830。因为我希望能够输出一个可调的波形，所以我将使用ROM来存储希望显示的波形，存储方式就是在一个波形上等间距地取一定数量的点，然后将这些点按顺序保存到ROM中，这样就只需通过固定频率的时钟按顺序读出这些点，就可以输出我们想要的波形了。当然，这种做法所输出的波形一定是会有失真的，所取的点越密集所产生的失真也越小。同样波形的精确度还受器件以及电路等多种因素的影响，所以想做一个高精度的波形发生器也是件很麻烦的事情…… 正片 1.配置ROM 那么接下来就开始正式编写模块了，首先要做的就是将ROM加入工程中。ROM可以直接调用Vivado中的IP，做法很简单，在左侧工具栏选择IP Catalog ，然后搜索ROM，选择结果中的Block Menory Generator双击打开它进入配置页面，然后开始配置需要产生的波形。 这次实验我先来产生一个正弦波，先依据需要对ROM进行配置。 首先是Basic选项，这里只需要做一项改动，将Memory Type修改为Single Port ROM即可，因为我只需要读取预设好的数据，所以其他功能都可以关掉。修改好的配置页面应该是这样的： 然后进入Port A Options，这里需要修改数据位宽以及数据深度，数据位宽按照所能达到的最大值来设置，依照DAC0832的电压转换公式，输出的数据应该在0~256的范围内，所以将数据位宽Port A Width设置为8（最大值为255）。我准备采样4096个点，所以将数据深度Port A Depth设置为4096。还有一个可选项目，可以将Enable Port Type修改为Always Enabled。这样可以偷懒少写几行代码。修改完的窗口应该长这样： 我没有修改Enable Port Type 最后一个配置项目，Other Options。这里要配置的东西也很简单，我们只需要配置coe文件就好了，这里既可以直接在Vivado中直接配置，也可以写完之后添加到工程中，下面是配置完成后的截图，接下来讲解如何制作coe文件。 2.制作coe文件 首先来看看coe文件的格式： memory_initialization_radix=10; memory_initialization_vector=127,127; 这个文件储存了两个值为127的数。 文件编写十分简单，第一行表示文件采用什么样的进制，十进制就写10，八进制就写8，以此类推。第二行就是你需要储存的数，依次排列，用逗号隔开就行了。 知道了格式后，接下来就是生成数据了，人工计算4096个点显然是不现实的，所以需要借助其他方法来实现，因为前阶段我正好在学MATLAB，所以这次就正好通过MATLAB来实现数据的生成，以下是生成脚本： clc; clear; x=linspace(0,2*pi,4096); %取0到2π中的4096个点 y=127*sin(x)+127; %依据公式计算对应值 output=fopen('output.txt','wt'); for i=1:4095 fprintf(output,'%.0f,',y(i)); %以整数形式输入文件 end i=i+1; fprintf(output,'%.0f;',y(i)); &#91;...&#93;]]></description>
		
					<wfw:commentRss>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e5%8f%af%e7%bc%96%e7%a8%8b%e6%b3%a2%e5%bd%a2%e5%8f%91%e7%94%9f%e5%99%a8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">488</post-id>	</item>
		<item>
		<title>2019全国大学生电子设计竞赛手记</title>
		<link>https://sinon.top/2019%e5%85%a8%e5%9b%bd%e5%a4%a7%e5%ad%a6%e7%94%9f%e7%94%b5%e5%ad%90%e8%ae%be%e8%ae%a1%e7%ab%9e%e8%b5%9b%e6%89%8b%e8%ae%b0/</link>
					<comments>https://sinon.top/2019%e5%85%a8%e5%9b%bd%e5%a4%a7%e5%ad%a6%e7%94%9f%e7%94%b5%e5%ad%90%e8%ae%be%e8%ae%a1%e7%ab%9e%e8%b5%9b%e6%89%8b%e8%ae%b0/#comments</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Wed, 25 Sep 2019 12:44:00 +0000</pubDate>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[比赛实录]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=432</guid>

					<description><![CDATA[2019年的电赛终于结束了，今年的电赛题目真的是神仙出题，对于我这种传统自控选手充满了恶意。但无奈与自己技术有限，最后我们队还是选择了电磁炮这道题。然后，我们从七夕节开始爆肝了四天三夜……打了四天三夜的炮 由于题目比较长，在这里我不在正文部分把题目放出来了，真的不是我懒得排版有需要的可以直接下载PDF查看题目。不过想必有兴趣看这篇文章的都应该知道题目吧…… 说实话，在看到这个题目的时候，我的内心是崩溃的……尼玛电磁炮是什么啊？？？这玩意真的是随随便便就能搭出来的吗？？？整个人瞬间就懵了，或者说整个实验室瞬间就懵了，吐槽声络绎不绝……好在队友给力，不一会就从网上翻出来了电磁炮的电路图（图我忘记存了，不过网上这种图一堆一堆的……）然后火速坐地铁去了器件店里买齐了所有的材料，大概是在我把图像识别写完之后，我们组的电磁炮居然就已经可以运行了，而且好像一下就能发射了？？？这么说是不是显得我特别菜的样子……不得不说，大佬牛逼！虽然我们搭的电路还很粗糙，但是花了几个小时就已经把我觉得最为棘手的电磁炮部分搞得差不多了，感觉我们这次从起跑线上就很顺利了。 闲话就说到这里，接下来我会通过列出一个个问题的方式并解决的方式来记录我的这次电赛经历。语文学渣，叫我写记叙文的话还是免了吧…… Prob.1 目标追踪 看到这个题目，我首先想到的就是目标的追踪问题，因为电赛前一阵子我刚好在学图像处理方面的知识。这次题目一出来，我瞬间就爽了，我手边刚好有一个不错的颜色识别的程序，只需略加改动，我们的目标追踪系统就完成了，而且连串口的配置我都在之前就弄好了。因为这次的图像识别还是比较简单的，所以我这边只贴出我使用的代码，如果想学习的话还是建议去看看opencv的教程。 图像识别代码基于树莓派上运行的opencv，使用树莓派摄像头模块：（具体的代码实现就不讲解啦……看了注释应该就懂了） #encoding:utf-8 import cv2 import numpy as np import serial import imutils import time #由于脚本开机启动，等待20秒后再开始工作防止因系统还没完全初始化导致出错 time.sleep(20) #初始化串口 ser=serial.Serial('/dev/ttyUSB0',115200,timeout=0.5) cap = cv2.VideoCapture(0) ret, frame = cap.read() position=-1 #设置镜头分辨率提高传输效率 cap.set(3,640/2) cap.set(4,480/2) while True: e1 = cv2.getTickCount() # 读取每一帧 ret, frame = cap.read() # 重设图片尺寸以提高计算速度 frame = imutils.resize(frame, width=200) cv2.imwrite("test.jpg",frame) # &#91;...&#93;]]></description>
		
					<wfw:commentRss>https://sinon.top/2019%e5%85%a8%e5%9b%bd%e5%a4%a7%e5%ad%a6%e7%94%9f%e7%94%b5%e5%ad%90%e8%ae%be%e8%ae%a1%e7%ab%9e%e8%b5%9b%e6%89%8b%e8%ae%b0/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">432</post-id>	</item>
		<item>
		<title>目标！去南极！</title>
		<link>https://sinon.top/%e7%9b%ae%e6%a0%87%ef%bc%81%e5%8e%bb%e5%8d%97%e6%9e%81%ef%bc%81/</link>
					<comments>https://sinon.top/%e7%9b%ae%e6%a0%87%ef%bc%81%e5%8e%bb%e5%8d%97%e6%9e%81%ef%bc%81/#respond</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Tue, 24 Sep 2019 14:11:39 +0000</pubDate>
				<category><![CDATA[休闲时光]]></category>
		<category><![CDATA[随笔/日常]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=463</guid>

					<description><![CDATA[我是在很认真的说这件事！ 后年寒假，我一定要去南极玩！！！ 看了《比宇宙更远的地方》，再想想自己过到现在的生活，真的太平淡了也没说平平淡淡不好啦～。看了这部番之后，真的觉得南极就是这样一个能让人释放青春的地方。想想自己也快20岁了，就是想做一件别人不敢想的事情。或许这样的机会以后还会有很多，但就是现在，就是此刻，南极非去不可！]]></description>
		
					<wfw:commentRss>https://sinon.top/%e7%9b%ae%e6%a0%87%ef%bc%81%e5%8e%bb%e5%8d%97%e6%9e%81%ef%bc%81/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">463</post-id>	</item>
		<item>
		<title>Verilog学习笔记——电子钟</title>
		<link>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e7%94%b5%e5%ad%90%e9%92%9f/</link>
					<comments>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e7%94%b5%e5%ad%90%e9%92%9f/#comments</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Tue, 24 Sep 2019 13:41:36 +0000</pubDate>
				<category><![CDATA[verilog]]></category>
		<category><![CDATA[学习笔记]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=459</guid>

					<description><![CDATA[好久不见，我又回来开新坑了。老挖坑人了。 这学期开始接触数电了，感觉比模电好玩多了模电是什么废物玩意,而且因为数电极强的逻辑性以及又fpga这种可编程器件的存在，所以我觉得数电比模电更容易上手，而事实也是现在数电的发展远比模电强大。 闲话不多说，接下来我来介绍一下我设计的电子钟模块，它通过输入一个1Hz的时钟信号来达到计秒的功能，并且具有校准时、分、秒以及清零的功能。具体的实现方法是在内部设置了两套存储器，一套用于存储时钟信号计算的秒数，另一套用于存储用户自定义的校准时间，然后将两套存储相加即可输出最后的时分秒信号。 原理非常简单，算是我学习Verillog以来做的第一个模块了吧，接下来贴出代码：（添加了代码注释） module clock( input clk,h_ad,m_ad,s_ad,res, //输入clk为1Hz output reg[5:0]h, output reg[5:0]m, output reg[5:0]s ); reg[5:0]h1; reg[5:0]m1; reg[5:0]s1; reg[5:0]h2; reg[5:0]m2; reg[5:0]s2; reg[6:0]m_tmp; //寄存器定义 initial begin //赋初值 h=0; m=0; s=0; h1=0; h2=0; m1=0; m2=0; s1=0; s2=0; end always @(posedge clk,negedge res)begin //按秒增加时间 s1=s1+1; if(s1==60)begin //满60秒进一分 s1=0; m1=m1+1; end if(m1==60)begin //满60分进一小时 m1=0; h1=h1+1; end if(h1==24) //满24小时重置 &#91;...&#93;]]></description>
		
					<wfw:commentRss>https://sinon.top/verilog%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-%e7%94%b5%e5%ad%90%e9%92%9f/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">459</post-id>	</item>
		<item>
		<title>Pray for KyoAni</title>
		<link>https://sinon.top/pray-for-kyoani/</link>
					<comments>https://sinon.top/pray-for-kyoani/#respond</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Thu, 18 Jul 2019 16:04:15 +0000</pubDate>
				<category><![CDATA[未分类]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=423</guid>

					<description><![CDATA[今日(7月18日)上午，日本京都著名动画工作室“京都动画”发生一起纵火攻击事件。至今日22：00左右，证实至少有33人死亡。当地媒体说，有一名男子上午前往这家动画工作室，并在建筑物周围喷洒汽油。警方表示嫌犯是一名41岁男子，已被逮捕并因受伤被送往医院。——BBC中文 愿逝者安息🕯️，希望京阿尼能撑过难关。]]></description>
		
					<wfw:commentRss>https://sinon.top/pray-for-kyoani/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">423</post-id>	</item>
		<item>
		<title>太空工程师脚本编写指南——基础篇</title>
		<link>https://sinon.top/%e5%a4%aa%e7%a9%ba%e5%b7%a5%e7%a8%8b%e5%b8%88%e8%84%9a%e6%9c%ac%e7%bc%96%e5%86%99%e6%8c%87%e5%8d%97-%e5%9f%ba%e7%a1%80%e7%af%87/</link>
					<comments>https://sinon.top/%e5%a4%aa%e7%a9%ba%e5%b7%a5%e7%a8%8b%e5%b8%88%e8%84%9a%e6%9c%ac%e7%bc%96%e5%86%99%e6%8c%87%e5%8d%97-%e5%9f%ba%e7%a1%80%e7%af%87/#comments</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Sun, 07 Jul 2019 05:51:32 +0000</pubDate>
				<category><![CDATA[休闲时光]]></category>
		<category><![CDATA[游戏]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=363</guid>

					<description><![CDATA[提示：本文中的大部分名词均会有超链接指向其解释页面，如果有不懂或需要进一步了解的可以前往查阅。 关于太空工程师这款游戏我就不在这里详细介绍了，有想要了解的可以前去steam查看: 就我这几天玩下来的感觉来看，这确实是一个很棒的宇宙沙盒游戏，玩家在这个世界中拥有100%的自由度，并且一切你所见到的东西都是可破坏的（当然，由于这么高的自由度，游戏甚至没有为玩家设立一个游戏目标，所以可能有些玩家在玩这个游戏的时候会有一种“不知道要干嘛”的感觉）。在这个世界中，你可以完全按照自己的构想来建造舰船（当然游戏在这方面还是有一些限制，不过在这种时候可以去找找看有没有mod能解决问题），你可以驾驶着飞船横扫银河系。总之，一切你能在一个沙盒游戏里想象得到的游戏元素几乎都可以在这个游戏中找到。而这个游戏，甚至允许你直接在游戏中加载自定义脚本。通过这些脚本，你可以操作几乎一切方块。当然，不同于大部分游戏那样把游戏内脚本简化成了伪代码或是做成了只需要画流程图（ 或其他类似的东西 ）就行的可视化编程，这个游戏中的脚本编写采用的是如假包换的编程语言——C#(C Sharp)。 话不多说，我们现在就开始学习在太空工程师中，脚本的编写方法。 开始 无论多么伟大的程序员，都是从Hello World开始的。 任何一种编程语言，在使用时都需要一个特定的环境，太空工程师的脚本也是如此。所幸，在太空工程师中我们不需要去挑选名目繁多的IDE或是安装各种编译器，配置各种环境变量。我们需要的，只是一个Programmable Block（可编程方块）只需要建造一个放在地上，我们就可以开始工作了。如果你连这都不会……请你先好好熟悉一下游戏吧…… 这就是我们的Programmable Block了。 然后打开面板，其中有一个Edit按钮就是脚本编辑器了，所有的脚本都需要放在这里面才能运行哦。 在我们开始编写第一个程序之前，我们还需要下载一个代码编辑器，这个编辑器不同于游戏中的编辑器，这个编辑器只是为了让你能更方便地编写代码，在写完后，把代码复制进游戏中即可运行。我在这里推荐的编辑器是Visual Studio Code，当然，你也可以选择NotePad++，sublime等等，这纯粹是个人喜好问题了。 之后，让我们看一眼可编程模块的代码编辑界面。 …… What？这么复杂？？？ 相信很多人都会有这种感受吧。但是，其实这里面的这些代码都只是唬人的，因为它们都只是注释而已，所有//后面的内容对于脚本没有任何作用，只是起到了解释说明的功能。 我们把所有注释都删掉，代码就只剩下这些了： public Program() { } public void Save() { } public void Main(string argument, UpdateType updateSource) { } 是不是瞬间就开心了？ 而我们现在要用到的东西甚至更少，我们甚至只需要保留Main就行了，这是脚本的入口函数，系统会从这里开始执行我们脚本的每一行代码。 现在，我们的代码只剩下这些了： public void Main(string argument, UpdateType updateSource) { } 接下来，我们就可以开始编写我们的代码了。首先要明确的是，所有代码都必须放在Main下面的一对大括号中才能执行，如果你不知道你这行代码代表什么，请不要将它放在除此以外的任何地方。 现在，我们开始每个程序员都会经历的第一步：Hello World 在游戏中，我们采用Echo("something")来在方块的面板上显示字符，这样如果我们要显示Hello &#91;...&#93;]]></description>
		
					<wfw:commentRss>https://sinon.top/%e5%a4%aa%e7%a9%ba%e5%b7%a5%e7%a8%8b%e5%b8%88%e8%84%9a%e6%9c%ac%e7%bc%96%e5%86%99%e6%8c%87%e5%8d%97-%e5%9f%ba%e7%a1%80%e7%af%87/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">363</post-id>	</item>
		<item>
		<title>网站链接美化</title>
		<link>https://sinon.top/%e7%bd%91%e7%ab%99%e9%93%be%e6%8e%a5%e7%be%8e%e5%8c%96/</link>
					<comments>https://sinon.top/%e7%bd%91%e7%ab%99%e9%93%be%e6%8e%a5%e7%be%8e%e5%8c%96/#respond</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Mon, 01 Jul 2019 18:11:07 +0000</pubDate>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[杂项]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=356</guid>

					<description><![CDATA[感觉自己好像很久没有更过博客了呢……今天来记一点东西。 在期末考试复习之余，闲得无聊去研究了一下网站链接的美化问题，本来以为搞起来会很麻烦的，结果试了一下之后发现还挺简单的。 这个方法可以随心所欲的更改网站中显示的url，把所有的index.php等全部隐藏起来，让网页的url看起来更舒服。 配置方法很简单，参见以下代码： #Nigix:在服务器配置的server{...}内添加： location / { if (!-e $request_filename){ #匹配到前面的格式后，把/...隐式重定向到/index.php/... #index.php部分也可以根据自己的需要替换为index.php?title=等格式， #取决于你本来使用的地址格式。 rewrite ^/(.*)$ /index.php/$1 last; } } #Apache:在服务器配置文件或.htaccess下添加: #重写的方式基本相同，就不再详细介绍了。 &lt;IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] &lt;/IfModule>]]></description>
		
					<wfw:commentRss>https://sinon.top/%e7%bd%91%e7%ab%99%e9%93%be%e6%8e%a5%e7%be%8e%e5%8c%96/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">356</post-id>	</item>
		<item>
		<title>软件开发笔记——Sinon的追番列表</title>
		<link>https://sinon.top/sinon-bangumi-list/</link>
					<comments>https://sinon.top/sinon-bangumi-list/#comments</comments>
		
		<dc:creator><![CDATA[Sinon]]></dc:creator>
		<pubDate>Thu, 25 Apr 2019 14:57:32 +0000</pubDate>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[软件开发]]></category>
		<category><![CDATA[WordPress插件]]></category>
		<category><![CDATA[追番列表]]></category>
		<guid isPermaLink="false">https://sinon.top/?p=320</guid>

					<description><![CDATA[其实严格来说这并不算是软件……（但是懒得弄新分类了） 这个插件的开发目的，就如插件名称所说，是要开发出一款插件来自动生成我的追番列表页面。(感觉自己又开了一片大坑） Sinon的追番列表 GitHub 更新日志 V1.2.1 添加了编辑番剧信息的功能获取番剧信息时，若中文名为空，自动将原名移至中文名一栏 v1.2 添加了在插件内直接搜索番剧的功能添加了后台按状态筛选番剧的过滤器 v1.1.4 在正在追番的番剧下添加“进度+1”按钮将后台菜单的番剧列表按照追番状态排序优化CSS样式 v1.1.3 完成WordPress插件标准化，加强安全性。 v1.1.2 根据WordPress插件规范对插件做出修改。 v1.1.1 取消占位格子显示。 v1.1 优化了后台菜单样式，添加了删除指定id的番剧以及删除所有番剧的功能。 v1.0 提供基础的番剧列表生成和管理功能，后续会添加其他新的功能。 项目发布及预览 预览地址  发布地址：见该仓库的release 更新方法 停用并删除旧版本插件，下载新版本插件，使用原来的方式安装即可，用户数据不会被删除。 安装方法 下载GitHub中release的zip文件，在WordPress的插件安装界面上传安装后即可使用。 使用方法 本插件使用bangumi 番组计划所提供的API获取番剧数据。 使用时只需在插件页面搜索番剧名称，并在搜索结果中选择要添加的番剧添加即可， 也可以在番组计划的官网搜索番剧id(即对应的番剧页面url中的那串数字)， 输入后插件会自动调用API获取番剧信息并保存。]]></description>
		
					<wfw:commentRss>https://sinon.top/sinon-bangumi-list/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">320</post-id>	</item>
	</channel>
</rss>
