【开坑国产单片机GD32系列,带你零死角玩转GD32】


第五章 GD32F103C8T6串口开发板设计指南(一)

目录

  • 【开坑国产单片机GD32系列,带你零死角玩转GD32】
    • 第五章 GD32F103C8T6串口开发板设计指南(一)
  • (1)前言
  • (2)Letter Shell介绍
  • (3)串口开发板硬件设计指南
    • (3.1)串口开发板功能介绍
      • (3.1.1)电源接口
      • (3.1.2)电源部分
  • (4)中场总结

(1)前言

磨刀不误砍柴工;

(2)Letter Shell介绍

在第四章中,已经说过会筛选彦祖们的提议,更新相关的内容,先前有几位不愿透露姓名的彦祖在后台私信我,给了我以下几个更新建议:

1.开源项目Letter Shell在GD32平台上的移植;

2.基于GD32的录音笔软硬件设计;

3.基于GD32的USB键鼠软硬件设计;

4.基于GD32的智能家居软硬件设计;

5.基于GD32的智能手环软硬件设计;

首先感谢以上几位彦祖(为什么没有热巴呢?)的支持,以下公布这5位彦祖的照片,以表示我的谢意!

综合考虑过这五个项目的情况后,我决定先更新第一个的内容,毕竟最容易,即开源项目Letter Shell在GD32平台上的移植,这里先介绍一下Letter Shell。
      应该有不少彦祖使用过诸如Ubuntu,Centos等Linux操作系统,就我个人而言,让我印象最为深刻的,自然是Linux不同于Windows的命令行式操作界面,初觉大为不便,因为创建文件都需要输入相应的命令(不过现在可以在图形界面下创建了),但随着使用的深入,特别是由于公司业务需要,将MCU程序开发环境移植到Ubuntu上之后,在使用ARM-GCC编译器,对MCU程序进行编译链接的过程中,发现原来在Windows下使用的Keil/IAR,对我隐瞒了太多细节,原以为编译链接只是几个按钮的事情,没想到到了Linux中,却需要自己编写makefile脚本,但这也让我第一次对MCU程序的编译链接过程有了较为深入的了解,对于Linux下的终端界面和Linux Shell工具,也有了不一样的看法。
      而此次需要移植的项目Letter Shell,就是一款类似于Linux Shell的嵌入式开源项目,它可以很容易地嵌入到单片机程序中,只要自己编写好串口的收发函数,以及定时器函数,就可以像Linux Shell一样,和MCU内核交互,调用MCU程序中的函数。
      这里可能有些彦祖看迷糊了,什么叫做和MCU内核交互?

假设我们在程序中实现了LED的驱动函数,屏幕文本显示的驱动函数,那么只需要在Letter Shell的函数中把LED的驱动函数,屏幕文本显示的驱动函数注册一下(其实就是把Letter Shell的函数指针指向这两个函数),然后在PC端的串口助手中,输入和Letter Shell事先约定好的串口命令,那么就可以调用这两个函数,就像Linux Shell一样调用内核中的函数一样,此外Letter Shell还支持命令自动补全,快捷键功能定义,命令权限管理,用户管理,变量支持等功能。

好!说了这么多,那我们是不是要开始移植了?

      然后并没有,正如我们这期标题所说的,这期帖子的主要内容,是GD32F103C8T6串口开发板的硬件设计指南,而Letter Shell的移植,会被放到第六章,相信各位彦祖现在最想说的是:

由于Letter Shell只需要使用串口功能,用主流的那些单片机开发板来测试,实在是杀鸡用牛刀了,所以为了这期帖子,我专门画了嫖了嘉立创三块板子的打板费,陆续设计了三块基于GD32的串口开发板,有需要的彦祖可以找我要Gerber文件,先展示一下这三块板子:
      最终使用的3号板子,包含一个CMSIS-DAP下载器,以及GD32F103C8T6串口开发板,下载器的源码和制造文件如果有彦祖感兴趣,也可以私信我,接下来就以3号板子为对象,介绍这款串口开发板的设计方案,内容会比较多,感兴趣的彦祖可以耐心看完,工欲善其事必先利其器嘛!

(3)串口开发板硬件设计指南

(3.1)串口开发板功能介绍

由于主要是针对Letter Shell的移植以及操作系统的移植,所以板上资源不多,主要如下图所示:

串口开发板的构成,目前就是上图所示的各个框图,以及背后一颗小尺寸纽扣电池,后期会把CMSIS-DAP下载器也集成到该串口开发板上,由于是手工焊接,所以有些地方不怎么美观,嘉立创的SMT太贵了,舍不得舍不得!接下来我们就从功能分析,器件选型,原理图设计,PCB设计等方面,讨论以上框图中的功能。

(3.1.1)电源接口

由于是串口开发板,而我们平时使用串口对单片机进行调试的时候,一般就是将USB转TTL模块(某宝上一搜一堆的那个)与MCU的TX,RX,GND相连,(这里连接GND的目的是为了统一USB转TTL模块与MCU之间的电平,如果不接GND的话,串口通讯就会出现异常),然后将USB转TTL模块连接到电脑的USB口,就好像下面这张图:
      这种调试方式,MCU和USB转TTL模块是分别供电的,中间通过导线连接,如果周围的线比较少,那倒没啥,如果周围一堆供电或者通信用的导线,或者线缆,那指定是一件让人抓狂的事情,另一种调试方式,就是将USB转TTL电路集成到产品上,然后通过一条MicroUSB,或者Type-C数据线连接,还有一种性价比更高的,就是利用MCU自带的USB模拟出一个虚拟串口(其实CH340G就是这么干的),直接通过MicroUSB或者Type-C连接到电脑,利用USB虚拟出一个虚拟串口的内容,我们会在基于GD32的USB键鼠软硬件设计这个项目中讨论,这里不细说。
      而GD32串口开发板把线都取消了,直接插在电脑的USB口上,没有中间商赚差价,当然啦!前提是开发板本身可以设计得比较小巧,不然得把USB插口干断了。
      这个时候就会有彦祖问了,这个USB插头怎么选型?毕竟在网上一搜,型号一大堆,想选但又怕翻车,所以这里大致介绍一下USB接口,这个我们既熟悉又陌生的小东西。

USB接口主要分为三类:标准USB接口,Mini USB接口,Micro USB接口,具体信息如下:

【标准USB接口】

这个可以说我们生活中最常见的USB接口了,又分为Type-A和Type-B两种,它俩长这样:

      其中Type-A和Type-B,根据支持的USB标准不一样,又可以分为USB 2.0和USB 3.0标准USB接口。所以根据接口的颜色,我们很容易区分该接口是支持USB 2.0还是支持USB 3.0的。Type-A型接口主要应用于鼠标、键盘、U盘等设备上,彦祖们可以看看鼠标的USB接口,大部分都是Type-A(2.0),而Type-B在打印机上应用较多,比如下面这张图,就是典型的Type-B接口:

【Mini USB接口】

不同于标准USB接口的大大咧咧,Mini USB接口,是一种小型的USB接口,其指标与标准USB相同,但是加入了ID针脚(用于区分设备是主机还是外设),以支持OTG(On The Go,该功能允许在没有主机的情况下,实现设备间的数据传送)功能,毕竟不是什么时候都有台电脑在身边的,而Mini USB接口主要分为Mini-A和Mini-B两种,长下面这样:

Mini USB接口由于相对较小的体型,常见于一些小型设备上,比如MP3、MP4、收音机等,早期的老人机也有相当一部分采用了这个接口,高中时期,教室后面的插座上,一堆充电的手机用的都是这个接口,别问我是怎么知道的。

【Micro USB接口】

Micro USB接口,属于Mini USB的升级版本,插拔寿命提高到了10000次,相比Mini USB接口,在宽度几乎不变的情况下,高度减半,更为小巧。Micro USB接口也可分为Micro-A和Micro-B两种,长的就下面这样:

      这个彦祖们应该是不陌生的吧?相信大家都认识,只是不知道它的专业名称,在智能手机发展的前期,绝大多数的智能手机(苹果除外嗷),都采用了Micro-B型接口作为充电和数据接口。

【Type-C接口】

      Type-C接口,是近几年USB-IF组织推出的新型USB接口,该接口最明显的特点,就是可以正反插拔了,并且在充电功率,通讯协议上,都有了很大的提升,长的就是下面这样了:

      这里只是做一个大致的介绍,让彦祖们能够分清谁是谁,如果需要更详细的资料的话,CSDN和知乎上有更详细的介绍,我们这里选用的是USB Type-A接口,主要有两个原因,第一,是因为目前大部分电脑都携带有USB Type-A的接口,使用起来比较方面,可以直接插在上面,第二是因为后面的USB转串口电路所使用的协议转换IC支持的就是USB2.0,这里提一嘴,USB协议是可以向下兼容的,哪怕电脑的USB接口是USB3.0协议,我们也可以把一个USB2.0协议的设备插在上面,比如鼠标啥的,都是可以正常使用的。

(3.1.2)电源部分

电源可以说是整个系统的核心了,电源的性能关乎系统的整体性能,所以在选型和设计上,要格外花力气。
      电源设计的第一步,就是要确定系统的工作电压以及功耗要求,单片机系统一般是采用5V/3.3V/1.8V作为系统工作电压,但是诸如手机充电器,5V-1A直流电源适配器
都只提供一种电压,如果单片机需要1.8V电压,传感器需要3.3V电压,屏幕需要5V电压,电机需要12V电压,这种情况如何处理呢?

这种情况下,就需要升降压电路,对外部电源进行处理,而根据外部电源的不同,所采用的升降压方案也是有很大区别的,接下来我们根据电源电压范围,系统功耗和升降压电路的关系,讨论一下电源设计方案(纯属个人意见,欢迎纠错和指导)。

      单片机系统及其外围电路常见的输入电源电压如上图所示,电源方案设计的第一步就是先确定输入电压的范围,我们按照上图顺序,依次讨论在各个电压范围下电源方案的设计思路。

(a)+12V,电源适配器/开关电源
      一般+12V的电源,都是采用下图所示的电源适配器:

底部铭牌上有一个重要信息,就是输出的电压和电流的额定值,为12V/1A,也就意味着这个适配器的最大允许输出电压是12V,最大允许输出电流是1A,如果用它给需要12V/2A的设备供电,那这个电源适配器和设备就只能

      好!现在已经知道该电源适配器最大可以输出12V/1A,那如果我们要获得需要的5V/3.3V/1.8V电压,接下来该怎么做?对的!就是电源芯片选型了,那相关芯片的选型信息怎么获得呢?有以下几个去处彦祖们可以去逛逛

立创商城: 点击前往

华秋商城: 点击前往

我们的升降压方案是:先将12V降压至5V,再将+5V降至+3.3V,最后再将+3.3V将至+1.8V,总共三个阶段,每一个阶段所使用芯片的类型和工作原理都有差异。
      第一次降压,由+12V将至+5V,这个就要求降压芯片能够承受至少+12V的电压,以及最大1A的电流输入,有一些常见的电源模块上使用的芯片就无法满足要求,比如下图这个:

(实物拍摄)

该模块使用的是AMS1117-3.3降压芯片,在立创上下载其数据手册,在电气参数这一栏会发现如下信息:

从这两张图可以得知,该芯片最大的输入电压是18V,最大输出电流是800mA,也许有些彦祖会说,这不是差不多嘛,凑活凑活也能用呀!我刚开始也是这么想的,直到我看到板子被烧穿了,才知道,这些数据都是极限值呀!一般来说AMS1117-3.3这款芯片输出电流到达200mA的时候,你就可以用它暖手了,到达500mA的时候,你拿着的,就不是一个电源了,而是一个爆竹了,彦祖,你也不想板子上有一个爆竹吧?

接下来我们介绍一下常用的电源芯片分类,电源芯片可以分为LDO芯片,比如AMS1117-3.3,以及DC-DC芯片,这里的LDO是低压降的意思,低压降线性稳压器(LDO)的成本低,噪音小,静态电流(也就是输出端啥都没有接的状态)比较小,它需要的外接元件也很少,通常只需要一两个旁路电容用来滤除外部输入的噪声和纹波,一些性能优秀的LDO线性稳压器可以达到静态电流6μA,电压降最小也只有100mV,电压降指的是输入电压减去输出电压的值,假如输入是5V,输出是3.3V,那么电压降就是1.7V,一旦输入电压减去输出电压小于最小电压降,那么便无法工作,AMS1117-3.3的最小电压降是1.25V。

而DC-DC的意思是(Direct Current)直流到直流,也就是把一个直流电压转换到另一个直流电压,可不只是降压了,还可以升压,讲道理只要符合这个说法的,都可以叫DC-DC转换器,当然也包括LDO。但是更精确的定义时:通过开关方式,把一个直流电压转换到另一个直流电压的器件叫DC-DC,这里的开关方式其实就是通过电感来实现的,像我们经常在一些设备的PCB板上发现这样的电感:


      这些都是DC-DC芯片配备的电感,DC-DC芯片相较于LDO,一般支持更宽的输入电压范围,更大的电压降,更大的输出电流,以及灵活的升降压方式,但是DC-DC芯片的输出脉动和开关噪音较大,散热也是个问题,并且价格也不低

所以如果输入电压和输出电压很接近,比如要求输入5V,输出3.3V,那最好是选用LDO稳压器,由于LDO独特的工作效率,在输入电压和输出电压很接近的场合,工作效率很高,输出信号干净,成本也低,所以在一些轻量级设备,mp3,mp4等应用场景使用得很多,但是,如果输入电压和输出电压不是很接近,比如要求输入12V,输出5V这种场景,就要考虑采用开关型的DC-DC了。
      到了这一步,彦祖们是不是以为就可以正式去进行DC-DC芯片的选型了?其实还有一个很关键的信息我们还没考虑,焊接难度!,毕竟都让贴片厂帮我们焊的话,钱包不支持,所以大部分时候,能自己焊就自己焊,有些彦祖可能会觉得,像这样的PCB板看起来很帅!满满科技风,拿手上都得用双手,一天摸个几十遍。

但是,真要自己去焊,那就可以领略到什么叫做:有一种脑干缺失的美了

就好比以下这种封装的芯片,不知道彦祖们能不能焊上,反正我是抱着赌的心态去操作的。


      所以如果自己焊的话,最好多选择一些诸如LQFP,SOP,TSSOP,SOIC这种引脚明显,方便焊接的芯片,诸如QFN,BGA,UQFN等封装,虽说外表简洁,但是焊接起来,烙铁,热风枪轮番上阵的话,难保芯片不会过热损坏,而且调试起来也不方便,所以如果没有特殊要求的话,还是选择前者更方便一些。
      说了这么多,现在我们已经获得了12V转5V电路的芯片选型指标了,即:

(I)采用DC-DC降压芯片。
(II)DC-DC芯片的允许输入电压范围至少要大于12V。
(III)DC-DC芯片的允许输出电流范围至少要大于1A。
(IV)采用易于焊接的封装。
(IV)控制成本,且要保证供货稳定(之前项目MCU断供,加班加点换MCU,人麻了)。

依据这些指标,我们可以在立创商城的DC-DC电源芯片一栏,进行参数的选择。

我们在功能选择中选择降压型,输入电压其实可以不用管他,虽然我们花了不少篇幅去讨论它,相当一部分的DC-DC芯片都支持12V输入,输出电压也不用专门设置,因为DC-DC芯片的输出电压是可以通过改变电阻阻值调节,接下来就是输出通道选择,一般是一个通道,最后就是参考封装,选中的SOT-23-5,SOP8/SOIC8都是易于焊接的封装,那些不易于焊接的封装后期会出一个教程,给大家参考参考。
      选完之后,就会有一些适合的型号。
      大家可以再根据对成本的要求,或者焊接难度的要求,选一个合适的,这里我使用最多的,就是TPS54202DDCR,封装小巧,价格合适,参数也符合要求,记得下载相应的数据手册,里面有原理图模板,如果初次使用的话,照着参数画就行了。

      好的,我们已经通过前面的DC-DC电路,将12V电源降至+5V,那剩下的+3.3V和+1.8V该如何获得?前面说过,当输入电压(VIN)和输出电压(VOUT)差值较小的时候,可以直接使用LDO芯片,对+5V进行降压操作,但是在在这之前,要再回头看一看DC-DC电路,我们之前说过DC-DC芯片的输出脉动和开关噪音较大,如果不经过处理直接输送给一些诸如屏幕,传感器之类的电路,可能会因为噪声或者电压波动而导致电路工作异常,引起欠压或者关机,所以我们通常会在DC-DC电源芯片的输出脚上并联几个几十uF的电容,上图的TPS54202DDCR参考电路也是在输出端并联了两个22uF的电容,这里需要了解到的是,此处的电容负责吸收输出脉动和噪声,让他们扑通一下掉进电容这个大水桶,然后由于水桶比较大,这些水花不会影响到水桶向外流出水流的状态,水桶,也就是电容,就可以稳定地向外输出一个几乎固定的电压。

      好!我们现在回过头来看LDO芯片的原理图设计,这里其实我们前面已经讨论过了,这里通常采用AMS1117-3.3,HT7533等5V转3.3V芯片,如果需要获得1.8V的话,AMS1117-1.8也是符合要求的,到了这一步,其实选型就简单许多了,最终的参考原理图如下:

当然,你要是希望效果比较明显,易于观察的话,也可以在各个电压输出端安放一些LED,用来表明输出电压正常,然后也可以放置一些电压测试点,省得用万用表的表笔在芯片的jio jio上戳来戳去。

(b)+4.75~5.25V,USB接口/电源适配器
      其实4.75~5.25V这个奇怪的电压范围就是USB接口的电压范围,之前见过有人直接把USB接口的电源接到STC单片机上,结果STC单片机就好像抽风一样,原因就是USB电压的波动范围超过了STC单片机允许的电压波动范围,让单片机出现了重复开关机的现象。
      这一部分的降压电路可以直接照搬上一个内容的+5V转3.3/1.8V电路,莫得问题。

(c)+3.2~3.7V,锂电池
      看电压范围我们可以发现,锂电池最高是3.7V,仅仅比3.3V高出了0.4V,就算是以低压差为优势的LDO,在0.4V的压差面前,大部分的LDO都无法使用,况且还要提供5V和12V电压,所以可以采用以下方案
      市面上常见的锂电池主要有18650锂电池,聚合物锂电池:
      彦祖们应该发现在这两个电池上面都标注了诸如“3.7V”和“650mAh”这样的参数,这两个参数表示的是锂电池在充满电的情况下,输出电压是3.7V左右(实测会有100mV左右的误差),并且可以保持650mA的输出电流一小时,或者保持100mA的输出电流6.5小时,当电池电压下降到3.2V左右时,电池电量接近枯竭,这个时候就该充电了。
      所以要根据设备的电流使用情况和续航要求,选择适当的锂电池,这里我们没有特殊要求。
      那要如何选择将3.2V~3.7V升到+5V的DC-DC芯片呢?其实套数和之前选择12V降至5V的DC-DC芯片一样,在立创的待选框中选择,这里就不多说了,给大家推荐一些我常用的DC-DC升压芯片:
      TPS63020DSJR这款芯片唯一的缺点就是焊接起来不太方便,但是价格和性能没得说,另外说一句,立创上的芯片卖的普遍偏贵,这款芯片在某宝上3元/片。

SDB628,这款芯片的输入电压范围很广,输出电压范围最高也达到了28V,所以我们将5V升到12V的DC-DC芯片选择的也是他,并且他易于焊接,价格更美丽,某宝上甚至不到一元就能买到一片,可以适用普通应用场景了。
      还有一个很重要的点,DC-DC芯片的输出电压是依靠FB引脚上的参考电压而确立的,通常采用电阻分压的方式获得这个参考电压,所以用于分压的电阻精度至少要达到1%,就别用5%精度的电阻了,因为这样会让输出电压的范围有较大的波动,我们这里可以简单计算一下,一般DC-DC芯片的数据手册会提供一个输出电压计算公式,我们这里以SDB628为例,公式为:

如果要获得+12V的输出,通过计算可以得出R1/R2 = 19,假设R1 = 190KΩ,R2 = 10KΩ,如果R1和R2的精度为5%,也就是说最坏的情况是R1 = 190105% = 199.5KΩ,R2 = 1095% = 9.5KΩ,将这两个值代入公式,得到输出电压是13.2V,别看就差了1.2V,有些设备对电压要求很严格,多0.5V就得现场螺旋升天,所以多花点钱,买高精度电阻,彦祖,你也不想设备螺旋升天吧?

      获得12V之后,接下来的3.3V和1.8V就可以利用LDO对5V进行降压,到这里,便获得了12V,5V,3.3V和1.8V,原理图上面也都是有的,彦祖们自己随便拿,我请客,如果还有其他问题,欢迎私信我,一起讨论。

(d)+3.0V,纽扣电池
      这里就不建议搞什么12V,5V之类的电压,因为纽扣电池的容量实在太感人,但凡是有升压的想法,就是太看得起它了,况且升压降压都是有转换效率的,也就是说,能量会有损耗,大部分时候是发热导致的,所以就纽扣电池那点电量,估计都不够发热的。

      所以最好是采用LDO降压至1.8V左右,给低功耗MCU供电还是可以的,本身纽扣电池的应用场景就是低功耗场景,所以除此之外,就别难为他了。

(4)中场总结

到这里GD32F103C8T6串口板的必要硬件电路已经介绍完了,需要相关资料的彦祖直接私信我,剩下的USB转串口,主控,SWD,BOOT,以及各类模块的电路,我们在后续使用时在逐一介绍,不然全在这一章写的话,内容太多(我要回家相亲了),年后开工就继续更新!最后祝大家新年快乐!

国产单片机GD32系列开坑,带你零死角玩转GD32 第五章相关推荐

  1. 国产单片机GD32系列开坑,带你零死角玩转GD32 第六章

    [开坑国产单片机GD32系列,带你零死角玩转GD32] 第六章 GD32F103C8T6串口开发板设计指南(二) 目录 [开坑国产单片机GD32系列,带你零死角玩转GD32] 第六章 GD32F103 ...

  2. 国产单片机GD32系列开坑,带你零死角玩转GD32 第二章

    [开坑国产单片机GD32系列,带你零死角玩转GD32] 第二章 GD32开发环境的搭建,常用资料的获取,以及点亮LED! 目录 [开坑国产单片机GD32系列,带你零死角玩转GD32] 第二章 GD32 ...

  3. 国产单片机GD32系列开坑,带你零死角玩转GD32 第一章

    [开坑国产单片机GD32系列,带你零死角玩转GD32] 第一章 GD32基本资料介绍 目录 [开坑国产单片机GD32系列,带你零死角玩转GD32] 第一章 GD32基本资料介绍 前言 一.STM32 ...

  4. 国产单片机GD32系列开坑,带你零死角玩转GD32 第四章

    [开坑国产单片机GD32系列,带你零死角玩转GD32] 第四章 新朝雅政了属于是 目录 [开坑国产单片机GD32系列,带你零死角玩转GD32] 第四章 新朝雅政了属于是 (1)前言 (1)前言 知莫大 ...

  5. 国产单片机GD32系列开坑,带你零死角玩转GD32 第三章

    [开坑国产单片机GD32系列,带你零死角玩转GD32] 第三章 GD32F103xx时钟系统分析 目录 [开坑国产单片机GD32系列,带你零死角玩转GD32] 第三章 GD32F103xx时钟系统分析 ...

  6. Linux系列开坑记(二)-神的编辑器Vim

    今天是Linux系列命令第二篇,今天我们来简单聊聊Vim这个号称是「编辑器之神」的编辑器---Vim 是Vi Imporved,vi来源visual单词,目的是在做可移动光标的视频编辑文本. 写这篇文 ...

  7. 第48章 MDK的编译过程及文件类型全解—零死角玩转STM32-F429系列

    第48章     MDK的编译过程及文件类型全解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...

  8. 第4章 初识STM32—零死角玩转STM32-F429系列

    第4章     初识STM32 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...

  9. 第31章 TIM—基本定时器—零死角玩转STM32-F429系列

    第31章     TIM-基本定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

最新文章

  1. opencv jni Android 实例笔记
  2. 递归 反转链表 c语言程序,C语言反转链表的递归算法
  3. 【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )
  4. C#中文件及文件夾的遍历
  5. python计算现场得分_浅谈用 Python 计算文本 BLEU 分数
  6. Rtworld目录网全解开源2.0-功能齐全
  7. 太棒了!输入文本直接生成流程图
  8. (七)使用Docker进行人脸识别
  9. pythonunicode和str_python unicode 和 str 类型的关系
  10. chap6_1 Sphere Environmental mapping in OGRE
  11. Excel VBA 循环读取一个目录下面多个文件的内容,放到另外一个文件中
  12. 用c语言编写的迷宫游戏代码,C语言编写的迷宫小游戏 源代码
  13. Arduino驱动IIC/I2C LCD1602模块显示
  14. ViewStub你肯定听过,但是这些细节了解吗?
  15. Python3爬虫韩寒新浪博客文章
  16. MTPA仿真实现和一些比较
  17. main flag redefined: graceful
  18. [乐意黎]Nginx 重写wordpress路径于二级子目录方法
  19. 名帖140 启功 楷书《临竹山连句》
  20. 解析xml文件的几种方法和原理

热门文章

  1. 第二章 学生指导(01 小学生身心发展的规律 02 学生心理发展与教育 03 小学生的学习)
  2. 创业兵法—选择最适合你的创业项目
  3. 程序,批量启动程序脚本
  4. LeetCode——1104. 二叉树寻路(Path In Zigzag Labelled Binary Tree)[中等]——分析及代码(Java)
  5. 【总结整理】读《结网》有感 ---腾讯系
  6. linux的周期行计划任务叫做atd,Linux任务计划
  7. 计算机研究生青岛就业,2017年就业形势严峻!青岛大学毕业生怎么样?都去哪儿了?...
  8. 周末被马云的无人超市刷屏了
  9. android, 模拟器
  10. java 机器人捡豆子,孩子注意力不集中怎么办?小游戏来帮忙