自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sean.Pu的专栏

--问题有很多种,解决问题的方法更多 (提供开放性博客迁移服务:http://www.blogmove.cn)

  • 博客(341)
  • 资源 (2)
  • 收藏
  • 关注

原创 esp32(8266)如何在platformio中上传文件到单片机

本来认为这是基础内容,不用我来介绍,结果,在个人的单片机字库开源项目中有两个人问到了,就特别来说明一下:在platformio中新建一个esp8266的项目SPIFF已经被淘汰,所以现在的文件系统是littleFS上面额外加了一些为了方便的参数。新建文件夹datadata文件夹是标准,必须这个名字,在系统上传的时候会自动把data文件下的内容上传到esp系列的flash空间中在data目录下随意加入两个文件:然后按照以下操作:data目录下的两个文件就可以被上传到单片机了。

2024-05-17 16:33:25 369

原创 esp单片机下arduino_gfx不相干显示驱动优化对flash空间的占用对比

做这个的比对起因是编译器每次都把不相干的驱动编译一次占用了大量的编译时间,有可能是有编译没有包含;虽然这个比对是基于arduino_gfx的,但是tft_espi理论上是同样的。一般情况下,很多esp32或者esp8266下的tft模块驱动都会包含很多种,而我们只需要其中一种,那就有个疑问这些被编译进的显示驱动到底占用了多少空间,是否需要把他优化掉?这些不相干的驱动并不会占用太多的flash空间,完全可以忽略不计。这肯定是有相差的,但是这种相差基本可以忽略。这是优化后的驱动列表,只保留了两种驱动。

2024-03-26 11:10:25 382

原创 使用platformIO进行arduino,esp8266,esp32编程的性能改进和一些优化

对platformio.ini的修改后重新编译项目的时候,基本上就是所有项目代码的重新编译,非常耗时,很长;如果你使用tft_espi,修改了user_setup.h文件,整个项目会完全编译,但是这个cache开启后就是只编译一个文件,项目整体编译的非常快。多配置会导致platformio编译两份代码,产生性能损耗,但是这少了一些其他工作,如果你的电脑足够快可能可以接受,看你怎么选择。一句话,以前可能会完全编译的时候,现在基本都是只编译局部文件了,速度大提升,这个配置很重要不知道为啥不是默认配置。

2024-03-22 18:48:52 503

原创 8 pin ST7735 1.8寸屏不能点亮解决一例

最近买了三块tft,不同规格,其中一块和合宙的驱动芯片和线序,屏幕尺寸一模一样,但是就是怎么都点亮不了。之前有一块合宙的1.8 的屏接上7根线就可以亮,正常接上GND和VCC不接其他pin屏幕也能亮起来。这个问题说到底一方面是经验问题,另外一方面是很多厂的线路设计还是有很大不同导致的。所以8pin的 屏幕,各位如果点不亮请检查一下BL这个针脚到底是高还是低。怎么试都不行,以为屏坏了,最后联系上卖家得到了技术支持。接上8根线,在tft_espi中正常设施也不生效。BL针脚要接高电平,成功点亮。

2024-03-20 17:50:00 280

原创 Arduino,esp8266,esp32 处理String 类型的暗伤

自定义单片机字库的过程中,为了快速检索目标字符串,把所有字符的unicode编码全部读到了一个String 类型的变量上,然后调用indexof来获取对应的位置,再然后按照位移找到目标字符的编码数据。在esp和arduino环境下,对string进行累加过程中,它能累加的长度是受限于ram的可用空间,8266下的ram有限,它能对string的赋值就有限。对于string的操作会出现赋值不全的情况,举例来说,我的字符数据31K,在esp8266上只能读取到16k左右,而esp32却是正常的31k。

2024-03-20 14:39:01 345

原创 备份:最原始arduino(esp32 ,esp8266)对st7789 屏幕的SPI操作

这是屏幕厂家提供的arduino 环境下对st7789的驱动代码,不同于使用tft_espi的驱动,这个代码就是最原始的操作,最高效的操作,也方便可以进行各种自定义扩展。要知道tft_espi看起来很方便,其实很臃肿,稍微要做一点事情,编译后就很大,而且性能也很低。以前看着这种代码两眼一抹黑,看几排就看不下去了,现在就好很多了。这个代码的意义一定程度可以让人了解SPI的通信过程。

2024-03-15 16:20:49 458

原创 GBK字符集汇总

这个字符集有个奇葩的地方,定义上所说的 总体编码范围为 8140-FEFE 之间 是获取不到 21886 的,必需调整到71开始,补足前面的一堆英文的字符,然后处理调一堆看不见的控制字符就刚好21886,因此哪怕这个GBK字符集不对,也差不鸟啥内容了。一番折腾后有了这个GBK的字符集,刚好满足 GBK 共收录 21886 个汉字和图形字符。完全可以方向大胆的使用。

2024-03-12 18:21:00 324

原创 在人间走弯路:GB2312字符集获取和弯路说明

为了在单片机中创建软字库,之前在网上找了一份所谓的GB2312的字符集,但是总觉得莫名的不放心,网上也有一些看起来很标准的字符集,但是依照经验来说肯定是不可靠的,于是就想通过一些“手段”来获取到标准字符集。

2024-03-11 22:28:26 1025

原创 关于esp8266的一些经验汇总,新手必看

如果要自己扩展更多GPIO,只能使用74hc595这种,不过需要注意的就是这种扩展出来的端口只能输出,不能输入,并且是需要自己写代码特殊支持的,不是普通的pinout方式。esp8266 加电启动的时候,有些pin必须拉高,有些又必须RC电路下延迟拉高,有些又必须拉低,就不列举了,这些是在nodemcu设计的时候已经完成了;因为最近打算自己打一块esp8266的板,之前打的比较多的是各种灯板,所以就在立创上看各种别人的方案,也去看了乐鑫的官方设计文档,这一看就重新有了认知。

2024-03-08 12:23:23 388 2

原创 esp32 C3和S3 开发板电流对比

4, 这个对比基本上可以作为大家日常设计esp 系列的整体电流参考,因为你设计的其他PCB中降压芯片和USB-TTL芯片基本都是不可缺少的,这基本上是标准配置。所有到最后的结论是S3 在deep模式下大概是1毫安的电流消耗,接入电脑的时候会由于不明的原因,例如usb通信,额外多20-40毫安的电流。这个结果同上面最初的测试不相符。把usb线不接入电脑,直接接入电源,大约10秒后,lot power显示电流是1毫安左右,这一行为很稳定可以重现。电流显示是25毫安,但是偶发性会跳为1毫安左右,规律不知道。

2024-03-02 17:53:29 923 1

原创 合宙esp32-c3 进入深度睡眠无法唤醒解决一例

单片机一开机立马就进入了deep mode,把各种设备全部停了,要知道这块单片机由于没有串口芯片走的是mcu本身的串行支持,这一deep mode ,设备全停,所以没有了对外的串行支持,自然在电脑上没有了com端口。整体来说,在这种测试的开发板上的电流消耗比我以为的高太多,因为过去他们的宣传在deep模式的情况下,可能只有几个微安,实际上有几百个微安,当然这可能涉及到其他元电源等器件。delay 的数值不影响电流的消耗,但是有delay的话,空代码的电流消耗从27降到了19 毫安。

2024-03-02 16:05:05 490

原创 max98357 的几点说明

所以,使用两个max98357 就可以实现左右声道,想想这不单是苦X而且是傻X.你自己用的时候这个模块就必须来两个,很奇怪的芯片,所以才莫名产生了误导。某个角度也是提供了一种思路,也不算啥坏事,大不鸟真的使用两块芯片,因为其他U系列双声道的有点贵啊!max98357都可以控制SD脚的电压控制为左右声道输出,这个被误导了,有些使用这个模块的也没有说清楚。左右声道的选择是控制SD卡的电压,所以意味着需要串联不同的电阻。这个模块和其他可以直接输出左右声道的不同,大哭。

2024-01-21 17:08:35 623

原创 思路决定出路:ESP32 客流量统计,查找我的手机,车流量统计

用ESP32采集一下蓝牙信号的Mac地址,统计总数,时间段,重复频率等等,基本可以准确的判断一个地方客流量,这比找个人去数人头来的靠谱得多,也不用装个摄像头折腾一个人性物体识别(当然视频识别有更广泛的意义,例如性别和年龄段)。扩展的思路就是可以用esp32 来做一个手机防丢设备,只要手机和esp模块信号丢失就可以蜂鸣报警,甚至可以不搜身的方式判断别人是否携带了我的手机。出于好奇就折腾了一番,原本是好奇这个蓝牙信号采集到底能收集到那些信息,最后却折腾到另外一个事情上了:蓝牙信号强度。这是一米五距离的强度。

2024-01-19 13:09:38 447

原创 ESP32 带字库显示中文终极方案

不论要使用GB2312整体字符集还是自定义部分中文,整体便捷性都基本达到了最优,这是其他方案无法替代的。目前迎来了大结局:这个在esp32,esp8266上显示中文的方案已经做到了最优,项目被开源到了。调用方式被优化,各种注释被加进去,存储编码从16进制化成了终极的64进制,已经不能再调整进制了。要知道最初接触这块内容,使用其他方案可是1000K左右啊!下面是不同字号,不同编码方式宋体字符在GB2312的字库大小对比。字库生成后自动上传到单片机等等,反正能做的优化全做了。

2024-01-16 13:08:05 1139 4

原创 少走弯路,ESP32 下别混用wifi和蓝牙

乐鑫虽然这么说,但是实际上是存在问题的,同时使用WIFI和A2DP会不停重启或者压根找不到蓝牙,会有各种报错:单独启动蓝牙后打开wifi设置成sta都默认不会出现错误,但是蓝牙链接的时候立马报错,报了一个缓存区不足的问题。查了很久后发现乐鑫对一个国外用户回复在arduino方式下模式是支持wifi和蓝牙共存的,不需要再额外设置什么参数。各种调,后来才发觉是wifi和蓝牙冲突导致的,I2S虽然failed了,但是依然是正常的。乐鑫官方说wifi和蓝牙是可以共存的,但是要设置什么参数。

2023-12-27 17:38:27 2429 7

原创 字体像素化很多都是错的

昨天的推送谈了字体像素化的纠偏问题。

2023-12-27 11:38:49 447

原创 少走弯路:单片机使用点阵字体通过像素化的正确获取

这一改就发现之前的dotpix = img.getpixel((d, i)) 工作不正常,以前是个RGB的像素点,现在居然这个像素点直接返回了0或者1,我靠,一下就猜测可能这次对了。这个问题困扰了好久,尝试过各种方案都无法解决,你们从网上能找到的字符像素化很多都是HZK16这种宋体16号的字库,如果要使用其他楷体,雅黑等等以及不同字号的时候就无解了。前面是RGB模式,后面是P模式,简单的看就是一个锯齿的问题,其实并不是这么简单,因为这其实又涉及到两种图的基本构成,所以并不是简单的锯齿化这个问题。

2023-12-26 15:59:16 1421

原创 ESP32 开源WIFI MESH 库painlessMesh的一些说明

painlessMesh 和乐鑫官方谈到的MESH 网络 不是一回事(最初以为painlessMesh是对乐鑫WIFI MESH的封装),painlessMesh 是自己在单片机上构造了一个wifi 网络 AP,其他设备可以作为STA连接这个WIFI 网络, 创建了一个网络节点的list, 然后对这个list中的每个节点发送消息进行boardcast. 里面的更多细节有兴趣你可以看代码。之前也有过利用painlessMesh的经验,总结起来还是很好用的,简单和通讯方便,只是二进制发送不便,于是就想改!

2023-12-12 11:54:57 789 2

原创 ESP32 蓝牙音箱无法链接上电脑的解决:此项不起作用,请确保你的蓝牙设备仍可检测到

ESP32 被我加了放大器后通过A2DP链接手机播放一直正常,但是怎么都链接不到电脑,蓝牙设备可以被发现和配对,但是始终无法连接,显示:此项不起作用,请确保你的蓝牙设备仍可检测到,然后再试一次参考

2023-12-06 12:50:42 2232

原创 少走弯路:OpenCV、insightface 等多方案人脸推理和识别

使用了 cv2.CascadeClassifier("D:\\opencv-4.52\\data\\haarcascades\\haarcascade_frontalface_default.xml")汇总的就是: insightface 脸部的查找最好,稍微有点慢,不知道是不是因为推理了年龄和性别。以下结果展示了不同角度下,都给了一个准确的结果。脑壳有包又花时间折腾了一下,其实之前也折腾过,主要是新看了一个方法。以上两种都是opencv的自带方案,要么找脸不全,要么错误的找脸。

2023-12-03 19:56:43 987

原创 ESP32 下蓝牙播放音乐

这导致了花了太多时间查找原因,上面的回调导致不能正常输出音频,没有明确确认是那个回调,但是估计是: a2dp_sink.set_stream_reader(read_data_stream, false);因此,如果你尝试ESP32 通过I2S 链接硬件放大器进行蓝牙下的音乐播放请先使用最简单的代码,如果没有音频请查找硬件连接线。说的是esp32 蓝牙接收音频流同步获得歌词的方案,但是有个很核心的内容由于硬件原因没有谈及,就是播放音乐。这个GPIO可以任意指定,下面的配置也是可以正常运行的。

2023-11-10 21:03:30 1828 9

原创 单片机上软字库换32进制存储,空间占用少20%

理论上来讲,还可以使用64进制存储,大约又能缩减20%左右,大约可以控制到200KB左右,别小看这个缩减,在单片机存储空间是宝贵的,说的直白一点以前只能放16或者12字号的一种字体,现在可以放两种了,适用范围更广。存储了GB2312字符集对应的软字库文件,在16*16的编码下总字库的507KB,后来把字体切换成了12*12,软字库缩减到了301KB。然后,某天灵光一闪:为啥不使用32进制存储,最后一番思量后把以前的16进制切换成了32进制,软字库文件由301KB缩减到了245,只有之前字库文件的81%.

2023-09-25 12:08:00 185

原创 ESP 32 蓝牙虚拟键盘链接笔记本电脑的键值问题

键盘的keyCode对应物理键盘的编码,这个键位被按下的时候可能随着不同条件传递给操作系统不同的值;由于打算利用esp32 通过蓝牙链接电脑后实现一些特俗的键盘功能,所以就折腾了一下,折腾最耗费时间的却是键值问题,让一个20多年的老司机重新补充了知识。而esp32 通过蓝牙模拟键盘的时候,要传递的值应该是ascii,不是这里的keycode.这点要注意,我已经走过弯路了,你别走!键盘的键值keyCode是指键盘对应的编码,而esp32 要发送到电脑的键值其实是ascii编码。过程曲折就不说了,直接说结果。

2023-08-08 12:00:43 1889

原创 esp32 下蓝牙播放音乐歌词的获得

以esp32 或者esp8266 作为蓝牙音乐接收端是可以获取到歌词的。走了不少弯路,这方面还是资料有缺失,其实这是很简单的事情。使用了A2DP这个库,

2023-05-24 14:15:01 3247 19

原创 在esp32(esp8266) 提供软字库显示中文的解决方案

本项目是为了在各种单片机使用中创建更方便易用的字库,配合使用了 ``TFT_eSPI`` 进行显示使用,实际上可以用于其他任何点阵屏。通过单片机在tft屏幕显示。软字库在单片机中的使用。

2023-05-18 11:20:34 4518 7

原创 TFT屏幕在arduino (esp 32)下的驱动,汉字显示和字库比较

经过对vlw文件的调用代码的分析,发觉:vlw字库的存储方式其实存的是图片,processing 在创建字库时显示的那种图片就是存的字库文件。所以,推荐使用vlw格式的字库文件,不论是使用整个gb2312字符集还是个别汉字都推荐vlw格式字库文件。其实这个过程是完全误导,第一步processing生成的vlw文件是可以直接在单片机中被调用的;上面的驱动表基本囊括了主要的TFT显示模块,所以除非不在这个清单中,所以别找第三方驱动了。调用vlw做的字库文件比进行转换的方式简单多了。

2023-05-05 11:43:14 2263 6

原创 提请注意:arduino ide 2.x 目前不支持文件系统

在老版本的arduino 中可以下载esp8266 和 esp32 的插件,然后可以使用spiffs 这种系统来手动把一些文件存在单片机上,如果你的arduino ide 已经升级到了2.x的版本 以前的插件是不能再用的。所以对于文件系统的支持,需要arduino ide 团队的支持。截至到2023 4 24 目前没有哪一个版本提供这种支持。

2023-04-24 18:58:52 476

原创 sphinx 升级到6.x后的Jquery问题

而升级到6.0后,对于jquery 是一个googleapi的远程jquery调用,这会导致sphinx 半天才能打开。sphinx 升级到6.0 后,以前对于jquery的默认引用方式发生了改变。升级所有的包,包括sphinxcontrib-jquery。

2023-02-11 17:39:31 721

原创 sphinx 部分高级功能汇总说明

4,sphinx 多版本管理的插件基本都有问题,不好用,别试了,当然如果你要使用readdoc是另外一回事。.. only:: tag 的方式区分,这样就可以分别创建各自匹配的文件,例如乐鑫在创建官方SDK的使用就使用了这样的方案。sphinx 插件需要对于这个相对熟悉,它主要分成三个部分:插件的编码,conf.py文件引入,插件的调用。这样的方式,这样是不行的,必须重新回到原始的命令sphinx-build 上,使用。上面是全局的变量使用,如果只是文内使用,直接在文内定义,使用方法一样。

2022-11-20 13:31:44 625 1

原创 经验终结:arduino 环境下,esp8266 定时器的使用说明

它是堵塞单线程方式运行的,你可以认为loop和testT是两个独立的函数,testT优先级更高,如果它被ticker调用的情况下会持续运行,除非有空闲时间。突然一下想到应该用中断来收集指令,但是另外一个问题来了,ticker在执行的时候,如果产生了硬件中断,这个中断是否有更高的优先级插入到ticker中运行,等结束后在恢复ticker的运行。当然在t运行的时候,p是不会运行的,最简单的例子是t是花费3秒完成一个led屏幕显示,在这3秒中,从传感器读取数据的p是不会有任何输入的。

2022-11-17 14:23:46 2991

原创 arduino(esp8266)驱动74hc595进行流水灯异常一例

所以上面的代码是没有错的,网上搜到过由于电压不对,导致输出不对的情况,595 的电压是5V,SI(DS)的电压是3.3V这种情况导致输出不对,于是就试了一下,结果在3.3V 的情况下,8->1确实输出正常。5V电压,为啥shiftout函数亮灯正常,而我自己的函数亮灯前面正常,最后两位出了问题,如果说我的代码有问题,那么为啥有的情况下工作正常,有的不正常?由于3.3V 下,LED不够亮,重新回到了5V折腾,于是开始怀疑是不是各种接线不对,于是把MR接到了GND,之前没有接,如下图。

2022-11-08 23:12:42 1609

原创 arduino 下16进制转2进制

在arduino下为了在像素屏中点亮灯珠,有些字符汉字和图像先生成了16进制的字符,然后又需要把16进制转成2进制来控制灯珠。上面这段代码从其实更简洁,注意下面这段代码可能二进制是反序的。如果理解了位运算符,下面这段用起来更好。

2022-09-28 22:46:49 1169

原创 备份总结:位运算符异或的重新学习。

在处理tm1637 的数码管控制代码中看到了以下代码对于上面两句代码不理解,于是就重新学习了一下:因为平常学习的语言都没有这么操作的,补习的结果才明白在arduino中(应该包括C和C++):我们的运算符其实分为:平常用的比较多的就是前三,偶尔会有第5,对于位运算符用的比较少,偶尔会有些同学用来处理权限,而个人其实很少用到异或这种东西,而异或这种在PHP这种语言中它是逻辑运算符。这个区分其实很重要,但是说回来位运算符。我们有个数字 127,它的2进制八位码是01111111当它和0x01进

2022-09-26 14:35:14 216

原创 折腾半天才发觉esp8266 esp32 c3 是没有touch 支持的

突然一下想试试touch 功能,就拿手里的esp32-c3 来测试,结果touchRead()怎么都无法编译,到最后经过esp8266 esp32-c3 esp32-s3 的编译测试才发现touch的支持只是在标准的esp32 模块中,esp32-c3 我知道是esp8266 的升级替换版本一下没有想到它不支持touch。总是习惯性的把esp32-c3想成了esp32了。重新去看下面这个esp32-c3的图。下面是esp32 的图。...

2022-08-13 16:28:47 723

原创 备份:linux 下php 扩展包的安装

1344 2022-04-28 16:51:38 /usr/local/php813/bin/phpize1345 2022-04-28 16:51:46 ./configure --with-php-config=/usr/local/php813/bin/php-config1346 2022-04-28 16:51:55 make && make install以上三个命令都是在php安装完后发觉包有缺失的时候使用,例如mbstring的包找不到就必须用上面的方...

2022-04-28 17:14:11 1762

原创 无线调试你的安卓手机

以下是个人折腾的bat文件cd "C:\Users\xxx\android-sdks\platform-tools"adb devicesadb tcpip 9999adb connect 192.168.1.3:9999adb connect 192.168.1.4:9999adb connect 192.168.1.5:9999pause把上面的代码写成bat文件,然后需要的时候运行一下就好了。adb devices 是为了需要deviceid,不知道是不是只有第一次需要。反..

2021-12-29 10:55:40 1329

原创 Android Studio 使用踩坑1,2,3

1,目前android studio 官方正式的版本是 北极狐版本 arctic fox ; 目前虽然是2021年甚至马上快2022年了,最新的android studio 还使用的是2020 的版本号;android studio 还有一个新版本但是还是出于测试之中;2,android studio 在安装打开时会问你是否使用代理,注意这点很重要,千万别使用代理,目前as 不使用代理都可以正常升级和更新。这里面最大的坑就在于一旦你使了代理,就会在gradle 上遇到各种更新和使用的400 或者443

2021-11-07 23:31:11 4843 1

原创 esp8266下使用sh1106 的1.3寸 oled 屏幕

很多0.96寸的oled 屏幕使用的是ssd1306 ,而为了稍微屏幕大一点买了1.3寸的IIC 版本,结果是sh1106,这几天重新打算用的使用麻烦来了,用不起来了,找了很多sh1106 的驱动都不行。各种方案切换,都不行!Adafruit_SH110X 不行!OLED_SSD1306_-_SH1106 不行U8g2 也不行说实话特别讨厌U8g2,它的文件太大了,每次编译都要很久!因为前几天买了中景园的1.5寸的屏幕,所以这次就想它作为oled的大厂应该有方案,结果一试果然行。全部

2021-08-26 23:32:13 2117 1

原创 使用esp32 作为蓝牙鼠标和键盘以及坑

昨天有人提了一个问题,就是想一下操作多台手机给某人刷抖音点赞,当然这是邪路。但是这不妨碍从技术手段探讨这个的可能性,于是就想到了之前好像看到过可以用esp32 来作为蓝牙输入设备。于是思路如下:esp32 具有蓝牙模块,使用 esp32_ble_mouse 和esp32_ble_keyboard 来蓝牙链接手机,然后进行模拟操作。最后的结果是esp32建立蓝牙服务,使用手机链接后,确实可以往手机发送模拟鼠标和键盘操作,很多操作基本可以完成,只是点赞,刷新,上下切换都可以。如果要进入直播间也是

2021-08-26 23:08:16 7753 18

原创 无语,总有一些人脑壳有包!

def load_image_into_numpy_array(path): img_data=tf.io.gfile.GFile(path,'rb').read() image=Image.open(BytesIO(img_data)) # print(image.shape) (im_width,im_height)=image.size return np.array(image.getdata()).reshape((im_height,im_wi.

2021-06-21 19:38:33 125

省市区街道 四级地址库

这是一份从国家统计局获取的区域三四级地址数据,更新到2020年6月30日的数据. 如果使用三级数据建议使用 6位码,否则请使用12位码。 部分数据中存在第三级区域名称包含第一二级数据的情况,这不是俺导致的,数据本身这样 本数据中不包括港澳台数据 数据中第一条“中国”为手动添加,为了方便容纳其他国家的行政区划数据 数据中部分内容的显示不是我们常见的那样,主要是直辖单位,例如 新疆\XX地区\XX县,但是存在 新疆\ 自治区直辖县级行政区划\XX 县 有些特殊的城市是不设区的,类似于东莞,中山这样的市并没有区这个概念

2021-01-19

mysql-connector-net-6.2.2

在.net环境中访问Mysql的包 mysql-connector-net-6.2.2.zip

2010-03-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除