<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>鸟的天空</title><link>http://www.xjtudll.cn/</link><description>Good good study,Day day up!</description><item><title>SVN修改Log信息</title><link>http://www.xjtudll.cn/Exp/704/</link><description>&lt;p&gt;SVN默认是不能修改Log的，强行修改会报错：&lt;/p&gt;&lt;p&gt;Repository has not been enabled to accept revision propchanges,ask the administrator to create a pre-revprop-change hook&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/2a53ea572a4750fa613f286e4550487c.png&quot;&gt;&lt;img width=&quot;580&quot; height=&quot;212&quot; title=&quot;217a8eaf-7f1d-436c-8ede-fab6a055448d&quot; style=&quot;margin: 0px; border: 0px currentcolor; border-image: none; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;217a8eaf-7f1d-436c-8ede-fab6a055448d&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/ce63e008c654a158a33f08dd89760362.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;如果需要修改Log，则需要配置pre-revprop-change hook脚本&lt;/p&gt;&lt;p&gt;一、Linux&lt;/p&gt;&lt;p&gt;对于Linux客户端（含群晖），需要将服务器端的hooks文件夹pre-revprop-change.tmpl文件的后缀去掉&lt;/p&gt;&lt;p&gt;即pre-revprop-change.tmpl改为pre-revprop-change&lt;/p&gt;&lt;p&gt;如果没有这个文件的话，自己建一个，内容如下：&lt;/p&gt;&lt;p&gt;REPOS=&amp;quot;$1&amp;quot;&lt;/p&gt;&lt;p&gt;REV=&amp;quot;$2&amp;quot;&lt;/p&gt;&lt;p&gt;USER=&amp;quot;$3&amp;quot;&lt;/p&gt;&lt;p&gt;PROPNAME=&amp;quot;$4&amp;quot;&lt;/p&gt;&lt;p&gt;ACTION=&amp;quot;$5&amp;quot;&lt;/p&gt;&lt;p&gt;if [ &amp;quot;$ACTION&amp;quot; = &amp;quot;M&amp;quot; -a &amp;quot;$PROPNAME&amp;quot; = &amp;quot;svn:log&amp;quot; ]; then exit 0; fi&lt;/p&gt;&lt;p&gt;echo &amp;quot;Changing revision properties other than svn:log is prohibited&amp;quot; &amp;gt;&amp;amp;2&lt;/p&gt;&lt;p&gt;exit 1&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/66bfaac569371b837fe0b21faec508d6.png&quot;&gt;&lt;img width=&quot;740&quot; height=&quot;279&quot; title=&quot;3486ef6d-ef82-426e-8692-0ec23cc7637b&quot; style=&quot;margin: 0px; border: 0px currentcolor; border-image: none; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;3486ef6d-ef82-426e-8692-0ec23cc7637b&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/54f0a4dddfae79199b6fd0ccaada9500.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;然后修改权限即可（需要先切换到hooks目录）：chmod 777 pre-revprop-change&lt;/p&gt;&lt;p&gt;不过有时候文件格式不对，也会不起作用的（若没修改权限，有可能也会提示这个）&lt;/p&gt;&lt;p&gt;Revprop change blocked by prop-revprop-change hook (exit code 255) with no output&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/bfd2adbfed0c7206153e8d2824d0e712.png&quot;&gt;&lt;img width=&quot;664&quot; height=&quot;242&quot; title=&quot;7d4dd079-00b7-48f0-aa15-7359b9491aba&quot; style=&quot;margin: 0px; border: 0px currentcolor; border-image: none; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;7d4dd079-00b7-48f0-aa15-7359b9491aba&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/47e4611e87405d9560e42200da228bd7.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;此时，如果强行执行一下这个pre-revprop-change文件（ssh -t admin@201.201.201.168&amp;nbsp; &amp;#39;/volume1/svn/WiFi_Clock/hooks/pre-revprop-change&amp;#39;），就会提示：&lt;/p&gt;&lt;p&gt;unexpected end of file&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/aede29b5df5eba3b9900852020d26146.png&quot;&gt;&lt;img width=&quot;1176&quot; height=&quot;113&quot; title=&quot;5a19fdad-34b2-4ede-8ebd-aad3d66cc5b1&quot; style=&quot;margin: 0px; border: 0px currentcolor; border-image: none; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;5a19fdad-34b2-4ede-8ebd-aad3d66cc5b1&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/fd00c2220566d98192d331debffcdbe6.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;需要将文本从Windows格式，改为Linux格式&lt;/p&gt;&lt;p&gt;Windows下可以使用Notepad++修改&lt;/p&gt;&lt;p&gt;编辑-&amp;gt;文档格式转换-&amp;gt;转为Unix&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/6324d7aeeb12453ca33a166f0802be38.png&quot;&gt;&lt;img width=&quot;997&quot; height=&quot;589&quot; title=&quot;1e51cf02-e0ab-414b-8ff3-0a31ab278009&quot; style=&quot;margin: 0px; border: 0px currentcolor; border-image: none; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;1e51cf02-e0ab-414b-8ff3-0a31ab278009&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/c8cfe30f7c42d4bfaea1810dafbb5a6c.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;参考资料：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.csdn.net/lc315yuhuofei/article/details/51649217&quot;&gt;https://blog.csdn.net/lc315yuhuofei/article/details/51649217&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.csdn.net/iteye_17942/article/details/81759616&quot;&gt;https://blog.csdn.net/iteye_17942/article/details/81759616&lt;/a&gt; &lt;/p&gt;&lt;p&gt;二、Windows&lt;/p&gt;&lt;p&gt;将pre-revprop-change.bat拷贝到hooks目录中，这个批处理文件内容如下：&lt;/p&gt;&lt;p&gt;rem Only allow log messages to be changed.&lt;/p&gt;&lt;p&gt;if &amp;quot;%4&amp;quot; == &amp;quot;svn:log&amp;quot; exit 0&lt;/p&gt;&lt;p&gt;echo Property &amp;#39;%4&amp;#39; cannot be changed &amp;gt;&amp;amp;2&lt;/p&gt;&lt;p&gt;exit 1&lt;/p&gt;&lt;p&gt;如果用的是Visual SVN Server，也可以直接在前台界面里修改，具体如下：&lt;/p&gt;&lt;p&gt;找到具体项目的SVN目录，右键，属性，修改Hooks脚本，填入上述内容&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/650e1823ef4068384a23209ddd237580.png&quot;&gt;&lt;img width=&quot;1336&quot; height=&quot;652&quot; title=&quot;5a4ed63b-1539-49ba-93f5-384b872e7cc9&quot; style=&quot;border: 0px currentcolor; border-image: none; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;5a4ed63b-1539-49ba-93f5-384b872e7cc9&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/3bcc1d769ae2866996acbe33fa7bd5cc.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 22 Feb 2025 12:50:00 +0800</pubDate></item><item><title>CSDN、博客园文章图片无法复制粘贴的办法（不需要脚本）</title><link>http://www.xjtudll.cn/Exp/703/</link><description>&lt;p&gt;本质就是利用浏览器的阅读器模式&lt;/p&gt;&lt;p&gt;1、使用Edge浏览器&lt;/p&gt;&lt;p&gt;在网址前面加read://&lt;/p&gt;&lt;p&gt;例如：&lt;/p&gt;&lt;p&gt;原网址：https://blog.csdn.net/qq_57139623/article/details/134045280&lt;/p&gt;&lt;p&gt;阅读器模式：read://https://blog.csdn.net/qq_57139623/article/details/134045280&lt;/p&gt;&lt;p&gt;&amp;lt; div=&amp;quot;&amp;quot;&amp;gt;&lt;/p&gt;&lt;p&gt;一定要输全网址，即包含http或者https&lt;/p&gt;&lt;p&gt;2、使用FireFox浏览器&lt;/p&gt;&lt;p&gt;浏览器网址的右侧，有个切换到阅读器模式的图标，单击即可切换到阅读器模式&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/6b786768402700589f058293e8ad7e52.png&quot;&gt;&lt;img width=&quot;471&quot; height=&quot;143&quot; title=&quot;e23c0c97-5e54-476e-b76d-af777c181fd9&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;e23c0c97-5e54-476e-b76d-af777c181fd9&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/ed6d5c5e2192e8d1b9d08d2a7bac25a7.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 11 Feb 2025 15:10:00 +0800</pubDate></item><item><title>PlatformIO串口无输出</title><link>http://www.xjtudll.cn/Exp/702/</link><description>&lt;p&gt;问题：&lt;/p&gt;&lt;p&gt;同样的串口打印代码，在Arduino IDE里可以正常输出，但是在PlatformIO里看不到任何输出&lt;/p&gt;&lt;p&gt;硬件：ESP32-S3 Camera&lt;/p&gt;&lt;p&gt;解决方法：&lt;/p&gt;&lt;p&gt;This is because DTR and RTS both are connected to the RESET pin and GPIO 0 of the esp 8266 chip, and by default in the terminal serial port in visual studio code DTR and RST pin of the the serial to usb adapter are active and prevent the chip to act as normal.&lt;br/&gt;Solution:&lt;br/&gt;In terminal serial port press CTRL + T and then CTRL + D to inactive DTR and then CTRL + T and then CTRL + R to inactive RST pin&lt;/p&gt;&lt;p&gt;界面里操作如下（去掉DTR和RTS前面的√，即不勾选）：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/c76cac65e1006ffa3b60182ae01629b1.png&quot;&gt;&lt;img width=&quot;851&quot; height=&quot;279&quot; title=&quot;sshot-1&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;sshot-1&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/a0de3e9eb0dcaf21f50558a5d4a370da.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;参考资料：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://community.platformio.org/t/cant-get-output-from-serial-monitor/15533/18&quot;&gt;https://community.platformio.org/t/cant-get-output-from-serial-monitor/15533/18&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 04 Feb 2025 14:52:00 +0800</pubDate></item><item><title>怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始？？</title><link>http://www.xjtudll.cn/Exp/701/</link><description>&lt;p&gt;1、truncate table 表名&lt;/p&gt;&lt;p&gt;2、dbcc checkident(表名,RESEED,0)&lt;/p&gt;</description><pubDate>Sat, 18 Jan 2025 14:51:00 +0800</pubDate></item><item><title>proteus仿真时虚拟串口窗口丢失的解决办法</title><link>http://www.xjtudll.cn/Exp/700/</link><description>&lt;p&gt;在使用Proteus调试串口时会遇到自带的串口工具无法弹出虚拟串口&lt;/p&gt;&lt;p&gt;解决办法如下：&lt;br/&gt;在Simulation中止后，进入工具栏Debug-&amp;gt; Reset Debug Pop up Windows，并在弹出窗口中选“yes”。 再次运行Simulation，可以发现窗口可以正常弹出。&lt;br/&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/fcfc360f8a9c541bff55fe1e4549255a.png&quot;&gt;&lt;img width=&quot;247&quot; height=&quot;309&quot; title=&quot;0.983389644111311&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none; width: 247px; height: 309px;&quot; alt=&quot;0.983389644111311&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/36315c39d9f0a0374470538873d3ed5e.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 17 Jan 2025 14:30:00 +0800</pubDate></item><item><title>BIN转BCD</title><link>http://www.xjtudll.cn/Exp/699/</link><description>&lt;p&gt;BCD代码，Binary-Coded Decimal‎，是一种二进制的数字编码形式，用二进制编码的十进制代码。这种编码形式利用了四个位元来储存一个十进制数，使二进制和十进制之间的转换得以快捷的进行。常见BCD编码有8421 BCD码，2421 BCD码，余3码。我们要说的就是8421 BCD码与二进制的转换，为简便叙述，简称8421 BCD码为BCD码。&lt;/p&gt;&lt;p&gt;BCD与BIN对应编码关系如下：&lt;/p&gt;&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;十进制数字&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;BIN&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;BCD&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0000&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;0000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0001&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;0001&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;2&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0010&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;0010&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;3&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0011&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;0011&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;4&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0100&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;0100&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;5&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0101&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;0101&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;6&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0110&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;0110&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;7&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;0111&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;0111&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;8&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1000&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;1000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;9&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1001&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p&gt;1001&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;10&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1010&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;11&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1011&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;12&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1100&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;13&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1101&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;14&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1110&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;102&quot; valign=&quot;top&quot;&gt;&lt;p&gt;15&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;129&quot; valign=&quot;top&quot;&gt;&lt;p&gt;1111&lt;/p&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;对于二进制来说，大于1111 B就进位；对于BCD来说，是大于1001 B就进位。通俗的讲，BIN是逢16进1，BCD是逢10进1。&lt;/p&gt;&lt;h5&gt;利用除法和求余实现BIN转BCD&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;这是一种非常容易理解的算法。利用除法和求余运算将每一位都提取出来。&lt;/p&gt;&lt;p&gt;例如：&lt;/p&gt;&lt;p&gt;325 ----&amp;gt; 0x 325 (BCD)&lt;/p&gt;&lt;p&gt;a = 325/100 = 3&lt;/p&gt;&lt;p&gt;b = (325%100)/10 = (325-a*100)/10 = 2&lt;/p&gt;&lt;p&gt;c = 325%100%10 = 325-a*100-b*10 = 5&lt;/p&gt;&lt;p&gt;这种算法对于没有乘除法指令的低速单片机来说，实现起来比较复杂，耗时较多。&lt;/p&gt;&lt;p&gt;反过来，要将BCD转成BIN时，先取出每一位，再分别与10,100,1000等相乘。&lt;/p&gt;&lt;p&gt;0x 325 ----&amp;gt; 325&lt;/p&gt;&lt;p&gt;a = 0x325&amp;gt;&amp;gt;8;&lt;/p&gt;&lt;p&gt;b = 0x325 &amp;gt;&amp;gt;4;&lt;/p&gt;&lt;p&gt;c = 0x325&amp;amp;0x00F&lt;/p&gt;&lt;p&gt;325=a*100+b*10+c&lt;/p&gt;&lt;h5&gt;&lt;a name=&quot;_Toc363636541&quot;&gt;&amp;nbsp;&lt;/a&gt;利用加法实现BIN转BCD&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;BIN是逢16进1，BCD是逢10进一。&lt;/p&gt;&lt;p&gt;计算机里的数都是二进制表示的，对于任意一个十进制数，可以表示为：&lt;/p&gt;&lt;p&gt;对于BCD而言：&lt;/p&gt;&lt;p&gt;举例来说：&lt;/p&gt;&lt;p&gt;49 = 4*10 + 9&lt;/p&gt;&lt;p&gt;0x49 = 4*16+9 = 4*(10+6)+9 =49+4*6&lt;/p&gt;&lt;p&gt;325 = 3*100+2*10+5&lt;/p&gt;&lt;p&gt;0x325 = 3*256+2*16+5 = 3*(100+156)+2*(10+6)+5 = 3*156+2*6+325&lt;/p&gt;&lt;p&gt;实际应用中，最为常见的还是两位十进制到两位BCD之间的转换，即：&lt;/p&gt;&lt;p&gt;很明显：&lt;/p&gt;&lt;p&gt;反过来，要将BCD转成BIN，即&lt;/p&gt;&lt;p&gt;，有：&lt;/p&gt;&lt;h5&gt;“移位，加3”算法实现BIN转BCD&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;这种算法通常用于cpld，fpga等&lt;/p&gt;&lt;p&gt;以8位BIN转3位BCD来说明算法流程：&lt;/p&gt;&lt;p&gt;1、左移二进制数&lt;/p&gt;&lt;p&gt;2、如果BCD码的某个部分&amp;gt;4，那么给该部分+3。例如，如果个位&amp;gt;4,则给个位+3。&lt;/p&gt;&lt;p&gt;3、如果左移了8次，转换结束；否则转向步骤1。&lt;/p&gt;</description><pubDate>Wed, 08 Jan 2025 14:28:00 +0800</pubDate></item><item><title>黑群晖：certificate has expired or is not yet valid</title><link>http://www.xjtudll.cn/Exp/698/</link><description>&lt;p&gt;&lt;a href=&quot;https://blog.csdn.net/weixin_54655073/article/details/138663733&quot;&gt;https://blog.csdn.net/weixin_54655073/article/details/138663733&lt;/a&gt; &lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;sudo -i&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;mv /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.bak&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;sudo curl -Lko /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;synoservice --restart pkgctl-Docker （重启docker，如果卡住，就重启设备）&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://alexnj.com/blog/updating-root-certificates-on-synology/&quot;&gt;https://alexnj.com/blog/updating-root-certificates-on-synology/&lt;/a&gt; &lt;/p&gt;&lt;h3&gt;Updating CA root certificate bundle on Synology&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;I ran into the issue of my Synology NAS not being able to pull from my local Docker registry:&lt;/p&gt;&lt;pre&gt;docker:&amp;nbsp;Error&amp;nbsp;response&amp;nbsp;from&amp;nbsp;daemon:&amp;nbsp;Get&amp;nbsp;&amp;quot;https://redacted-local-hostname.net/v2/&amp;quot;:&amp;nbsp;x509:&amp;nbsp;certificate&amp;nbsp;has&amp;nbsp;expired&amp;nbsp;or&amp;nbsp;is&amp;nbsp;not&amp;nbsp;yet&amp;nbsp;valid&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Turns out my Synology hasn&amp;#39;t been picking up the latest CA root certificates. I could verify that this is the issue by running &lt;code&gt;curl&lt;/code&gt;&lt;/p&gt;&lt;pre&gt;curl&amp;nbsp;-I&amp;nbsp;https://alexnj.com&amp;nbsp;&amp;nbsp;
curl:&amp;nbsp;(60)&amp;nbsp;SSL&amp;nbsp;certificate&amp;nbsp;problem:&amp;nbsp;certificate&amp;nbsp;has&amp;nbsp;expired&amp;nbsp;&amp;nbsp;
More&amp;nbsp;details&amp;nbsp;here:&amp;nbsp;https://curl.haxx.se/docs/sslcerts.html&amp;nbsp;&amp;nbsp;
...&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Fixing this turned out rather easy. The commands below download the up-to-date root certificates from curl.se, in PEM format. We move it to the place where Synology keeps the CA-certificate bundle, overwriting it. We create a backup of the origin CA-certificate bundle, with a &lt;code&gt;.backup&lt;/code&gt; extension, just in case you&amp;#39;d want to revert for any reason.&lt;/p&gt;&lt;pre&gt;cp&amp;nbsp;/etc/ssl/certs/ca-certificates.crt&amp;nbsp;/etc/ssl/certs/ca-certificates.crt.backup&amp;nbsp;&amp;nbsp;
wget&amp;nbsp;--no-check-certificate&amp;nbsp;https://curl.se/ca/cacert.pem&amp;nbsp;&amp;nbsp;
mv&amp;nbsp;cacert.pem&amp;nbsp;/etc/ssl/certs/ca-certificates.crt&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;After this, the same curl command started succeeding. However, Docker was still throwing the same error — meaning it didn&amp;#39;t pick up the updated root certificates. Solution? Let&amp;#39;s try restarting the Synology Docker daemon:&lt;/p&gt;&lt;pre&gt;synoservice&amp;nbsp;--restart&amp;nbsp;pkgctl-Docker&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;That took care of it. If you run into the same issue with your Synology, hope this helps!&lt;/p&gt;</description><pubDate>Sun, 29 Dec 2024 14:13:00 +0800</pubDate></item><item><title>金蝶K3物料在各个订单中如何显示长代码</title><link>http://www.xjtudll.cn/Exp/697/</link><description>&lt;p&gt;在系统设置-系统设置-仓库管理-系统设置-供应链整体选项中右边‘基础资料录入与显示采用短代码’的勾去掉&lt;/p&gt;</description><pubDate>Wed, 25 Dec 2024 14:07:00 +0800</pubDate></item><item><title>销售订单序时簿中过滤界面中，【名称】的下拉列表中无法选择到【购货单位】，也就是无法按【购货单位】过滤销售订单？</title><link>http://www.xjtudll.cn/Exp/696/</link><description>&lt;p&gt;【操作步骤】&lt;/p&gt;&lt;p&gt;&amp;nbsp; 1、使用有权限的用户登录K3主界面后，单击左上角【系统】→【K/3BOS】，输入用户名及密码，登入账套，依次单击打开【供应链】→【销售管理】，找出业务单据销售订单并双击打开；&lt;/p&gt;&lt;p&gt;&amp;nbsp; 2、单击菜单【编辑】-【序时簿设置】，找到字段【购货单位$】,并单击选择对应【过滤列表显示】即可。&lt;/p&gt;</description><pubDate>Thu, 12 Dec 2024 14:07:00 +0800</pubDate></item><item><title>常用电平标准</title><link>http://www.xjtudll.cn/Exp/695/</link><description>&lt;p&gt;现在常用的电平标准有TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232、RS485等，还有一些速度比较高的LVDS、GTL、PGTL、CML、HSTL、SSTL等。下面简单介绍一下各自的供电电源、电平标准以及使用注意事项。&lt;/p&gt;&lt;h5&gt;1、TTL电平&lt;/h5&gt;&lt;p&gt;TTL：Transistor- Transistor Logic 三极管结构。&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;：5V；V&lt;sub&gt;OH&lt;/sub&gt;&amp;gt;=2.4V；V&lt;sub&gt;OL&lt;/sub&gt;&amp;lt;=0.5V；V&lt;sub&gt;IH&lt;/sub&gt;&amp;gt;=2V；V&lt;sub&gt;IL&lt;/sub&gt;&amp;lt;=0.8V。&lt;/p&gt;&lt;p&gt;因为2.4V与5V之间还有很大空闲，对改善噪声容限并没什么好处，又会白白增大系统功耗，还会影响速度。所以后来就把一部分“砍”掉了，也就是后面的LVTTL。&lt;/p&gt;&lt;p&gt;LVTTL又分3.3V、2.5V以及更低电压的LVTTL(Low Voltage TTL)。&lt;/p&gt;&lt;p&gt;（1）3.3V LVTTL&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;：3.3V；V&lt;sub&gt;OH&lt;/sub&gt;&amp;gt;=2.4V；V&lt;sub&gt;OL&lt;/sub&gt;&amp;lt;=0.4V；V&lt;sub&gt;IH&lt;/sub&gt;&amp;gt;=2V；V&lt;sub&gt;IL&lt;/sub&gt;&amp;lt;=0.8V。&lt;/p&gt;&lt;p&gt;（2）2.5V LVTTL&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;：2.5V；V&lt;sub&gt;OH&lt;/sub&gt;&amp;gt;=2.0V；V&lt;sub&gt;OL&lt;/sub&gt;&amp;lt;=0.2V；V&lt;sub&gt;IH&lt;/sub&gt;&amp;gt;=1.7V；V&lt;sub&gt;IL&lt;/sub&gt;&amp;lt;=0.7V。&lt;/p&gt;&lt;p&gt;更低的LVTTL不常用就先不讲了。多用在处理器等高速芯片，使用时查看芯片手册就OK了。&lt;/p&gt;&lt;p&gt;TTL使用注意：TTL电平一般过冲都会比较严重，可能在始端串22欧或33欧电阻； TTL电平输入脚悬空时是内部认为是高电平。TTL输出不能驱动CMOS输入。&lt;/p&gt;&lt;p&gt;过冲（overshoot）就是第一个峰值或谷值超过设定电压——对于上升沿是指最高电压而对于下降沿是指最低电压。&lt;/p&gt;&lt;p&gt;下冲（undershoot）是指下一个谷值或峰值。过分的过冲能够引起保护二极管工作，导致过早地失效。过分的下冲能够引起假的时钟或数据错误。&lt;/p&gt;&lt;h5&gt;2、CMOS电平&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;CMOS：Complementary Metal Oxide Semiconductor PMOS+NMOS。&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;：5V；V&lt;sub&gt;OH&lt;/sub&gt;&amp;gt;=4.45V；V&lt;sub&gt;OL&lt;/sub&gt;&amp;lt;=0.5V；V&lt;sub&gt;IH&lt;/sub&gt;&amp;gt;=3.5V；V&lt;sub&gt;IL&lt;/sub&gt;&amp;lt;=1.5V。&lt;/p&gt;&lt;p&gt;相对TTL有了更大的噪声容限，输入阻抗远大于TTL输入阻抗。对应 3.3V LVTTL，出现了LVCMOS，可以与3.3V的LVTTL直接相互驱动。&lt;/p&gt;&lt;p&gt;（1）3.3V LVCMOS&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;：3.3V；V&lt;sub&gt;OH&lt;/sub&gt;&amp;gt;=3.2V；V&lt;sub&gt;OL&lt;/sub&gt;&amp;lt;=0.1V；V&lt;sub&gt;IH&lt;/sub&gt;&amp;gt;=2.0V；V&lt;sub&gt;IL&lt;/sub&gt;&amp;lt;=0.7V。&lt;/p&gt;&lt;p&gt;（2）2.5V LVCMOS：&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;：2.5V；V&lt;sub&gt;OH&lt;/sub&gt;&amp;gt;=2V；V&lt;sub&gt;OL&lt;/sub&gt;&amp;lt;=0.1V；V&lt;sub&gt;IH&lt;/sub&gt;&amp;gt;=1.7V；V&lt;sub&gt;IL&lt;/sub&gt;&amp;lt;=0.7V。&lt;/p&gt;&lt;p&gt;CMOS使用注意：CMOS结构内部寄生有可控硅结构，当输入或输入管脚高于V&lt;sub&gt;CC&lt;/sub&gt;一定值（比如一些芯片是0.7V）时，电流足够大的话，可能引起闩锁效应，导致芯片的烧毁。&lt;/p&gt;&lt;p&gt;闩锁效应：Latch up，CMOS工艺特有的寄生效应。&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/58e4788b9a886b441c0bbb5db702f8a5.jpg&quot;&gt;&lt;img width=&quot;709&quot; height=&quot;229&quot; title=&quot;clip_image002&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;clip_image002&quot; src=&quot;http://www.xjtudll.cn/zb_users/upload/2024/08/01db66f155c2a764393dd569d3fe38cc.jpg&quot; border=&quot;0&quot;/&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;从图中我们可以看出由NMOS的有源区、P衬底、N阱、PMOS的有源区构成了一个n-p-n-p的结构，这就是一个典型的可控硅电路，如上图右侧所示。一旦图中组成等效可控硅的电路的Q1、Q2任何一个正向偏置，都将触发闩锁效应，使电源和地之间短路，形成大电流，而导致芯片发热烧毁。&lt;/p&gt;&lt;h5&gt;3、ECL电平&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;ECL：Emitter Coupled Logic 发射极耦合逻辑电路(差分结构)&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;=0V；V&lt;sub&gt;EE&lt;/sub&gt;=-5.2V；V&lt;sub&gt;OH&lt;/sub&gt;=-0.88V；V&lt;sub&gt;OL&lt;/sub&gt;=-1.72V；V&lt;sub&gt;IH&lt;/sub&gt;=-1.24V；V&lt;sub&gt;IL&lt;/sub&gt;=-1.36V。&lt;/p&gt;&lt;p&gt;速度快，驱动能力强，噪声小，很容易达到几百M的应用。但是功耗大，需要负电源。为简化电源，出现了PECL(ECL结构，改用正电压供电)和LVPECL。&lt;/p&gt;&lt;p&gt;PECL：Pseudo/Positive ECL&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;=5V；V&lt;sub&gt;OH&lt;/sub&gt;=4.12V；V&lt;sub&gt;OL&lt;/sub&gt;=3.28V；V&lt;sub&gt;IH&lt;/sub&gt;=3.78V；V&lt;sub&gt;IL&lt;/sub&gt;=3.64V&lt;/p&gt;&lt;p&gt;LVPELC：Low Voltage PECL&lt;/p&gt;&lt;p&gt;V&lt;sub&gt;CC&lt;/sub&gt;=3.3V；V&lt;sub&gt;OH&lt;/sub&gt;=2.42V；V&lt;sub&gt;OL&lt;/sub&gt;=1.58V；V&lt;sub&gt;IH&lt;/sub&gt;=2.06V；V&lt;sub&gt;IL&lt;/sub&gt;=1.94V&lt;/p&gt;&lt;p&gt;ECL、PECL、LVPECL使用注意：不同电平不能直接驱动。中间可用交流耦合、电阻网络或专用芯片进行转换。&lt;/p&gt;&lt;p&gt;以上三种均为射随输出结构，必须有电阻拉到一个直流偏置电压。(如多用于时钟的LVPECL：直流匹配时用130欧上拉，同时用82欧下拉；交流匹配时用 82欧上拉，同时用130欧下拉。但两种方式工作后直流电平都在1.95V左右。)&lt;/p&gt;&lt;h5&gt;4、LVDS电平&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;LVDS：Low Voltage Differential Signaling&lt;/p&gt;&lt;p&gt;差分对输入输出，内部有一个恒流源3.5-4mA，在差分线上改变方向来表示0和1。通过外部的100欧匹配电阻(并在差分线上靠近接收端)转换为±350mV的差分电平。&lt;/p&gt;&lt;p&gt;LVDS使用注意：可以达到600M以上，PCB要求较高，差分线要求严格等长，差最好不超过10mil(0.25mm)。&lt;/p&gt;&lt;p&gt;100 欧电阻离接收端距离不能超过500mil，最好控制在300mil以内。&lt;/p&gt;</description><pubDate>Mon, 02 Dec 2024 14:04:00 +0800</pubDate></item></channel></rss>