- 博客(2991)
- 资源 (87)
- 收藏
- 关注
原创 Android高效进阶:从数据到AI【3.6】
而现在需要在原有功能的基础上开发新功能,如果 OCP 原则使用得当的话,我们不需要看懂原有代码的实现细节便可以添加新代码实现新功能(例如,在上面的示例中,我们不需要知道 A 产品是怎么生产的便可以开发生产 B 产品的功能),毕竟有时候阅读一个功能的代码比自己重新实现这个功能用的时间还要长。这样做依然是有问题的,如果再有新的客户需求,我们依然需要在工厂类中添加生产线,这会使生产线方法过多,从而引起工厂类的爆炸式增长,新的客户类在调用生产线方法的时候,需要在一大堆的生产线方法中选择自己需要的那个。
2025-05-06 23:33:54
483
原创 Android高效进阶:从数据到AI【3.5】
由上面的示例可以看出,关键的代码就是 JavaScript 部分的代码, Python 代码主要负责附加调试进程和注入 JavaScript 代码。Frida 编写 Hook 模块的核心代码是用 JavaScript 语言实现的,但 PC 控制端是通过 Python语言编写的,因此可以直接用 Python 语言编写和加载 JavaScript 模块代码,也可以直接编写JavaScript 代码,然后通过 Frida CLI 工具直接加载 JavaScript 文件。
2025-05-06 22:16:38
705
原创 Android高效进阶:从数据到AI【3.4】
7.编写一个简单的搜索框劫持 Hook 模块( 1)需求劫持 taptap 的搜索入口,将搜索到的所有关键字都替换为球球大作战。( 2)编码( 3)效果搜索《王者荣耀》和《绝地求生:大逃杀》的时候,返回的结果如图 9-27 所示。8. Xposed 模块编写经验总结Xposed 模块编写经验总结如下。 实现 IXposedHookLoadPackage 接口。 确定要 Hook 的 Android App 的包名。 判断要 Hook 的包名。
2025-05-06 20:53:45
612
原创 Android高效进阶:从数据到AI【3.3】
Android 下有一个 run-as 程序,可以切换 shell 的进程环境,执行 run-as pkg 命令就可以切换到该包名的权限环境,之后再在该环境下运行 android_server,而执行 run-as pkg 命令需要 pkg 的 android:debuggable="true"配置才行,因此手机没被 Root 的时候,只能重打包 APK 修改 android:debuggable="true"后才能调试。这样一步步执行下来,就可以以最快的速度还原原来的函数逻辑和算法。
2025-04-30 23:04:01
935
原创 Android高效进阶:从数据到AI【3.2】
Google 与 Facebook 都是世界级的公司,两家公司的产品也很成熟,并且两家公司都已经将自家的框架应用到自家的产品中,但是由于 TensorFlow 的影响力更大,而 TensorFlow Lite是 TensorFlow 的子集产品,所以在模型的使用与切换上, TensorFlow Lite 具有较大的优势。作为一款优秀的软件,肯定需要不断维护,因此 JEB 是一个付费的逆向工具,专业版售价高达 1800 美元,但还是推荐大家购买,一方面是尊重版权,另一方面可以永远第一时间获取最新功能。
2025-04-30 22:41:24
772
原创 Android高效进阶:从数据到AI【3.1】
virtualenv 就是用来为每个应用创建一套“隔离”的 Python 运行环境的, virtualenv 通过创建一个虚拟化的 Python 运行环境将我们所需的依赖安装进去,不同项目之间相互不干扰,在 virtualenv 创建的环境中使用 pip 安装的包也不会再是全局性的包,只会在当前的虚拟环境中起作用,避免了污染系统环境。在前面的内容中通过下载或者生成的模型都是标准的 TensorFlow 模型,因此在正常的情况下模型文件的格式应该是 pb 或者 pbtxt。在下面的内容中将展开讲解。
2025-04-29 23:42:19
795
原创 Android高效进阶:从数据到AI【3.0】
而另一个关键点在于,医学影像所需的分割精度较高,同时所需的稳定性也较高,而医学影像往往信噪比相对较低,即使是医生,也需要长期的专业训练,而结果一致性也往往会受到医生经验、疲劳程度和耐心程度的限制。为了达到模型泛化到任意一切数据输入都可以产生正常的预期输出的目的,开发者必须拥有大量的数据,而且需要选择合适的训练算法并不断迭代调优参数与观察模型训练的结果,这样才能从现有的数据泛化到一般的情景。模式识别的概念可以类比判别分析,是确定的、可检验的、有统计背景的,或者更进一步地说,有机理性基础理论背景。
2025-04-29 23:31:39
761
原创 Android高效进阶:从数据到AI【2.9】
Flutter 是 Google 的移动 UI 框架,可以快速地在 iOS 和 Android 上构建高质量的原生用户界面, Flutter 可以与现有的代码一起工作。在全世界范围, Flutter 正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。Flutter 有以下几个特点。1.快速开发可实现毫秒级的热重载,进行修改后,你的应用界面会立即更新。可以使用丰富的、完全可定制的 Widget 在几分钟内构建原生界面。2.富有表现力和灵活的 UI。
2025-04-29 23:16:34
719
原创 Android高效进阶:从数据到AI【2.8】
其开发成本主要分为以下几个部分。即 JavaScript Runtime,解析 JavaScript 代码,将 JavaScript 代码与本地开发接口做关联,让 JavaScript 代码可以访问本地接口。与 Weex 相似, React Native 也是将 JavaScript 代码转换成 JavaScript Bundle,但不同的是,编程框架用的是 React。结合 Vue 开发环境,直接使用 Vue 开发的 JavaScript 代码,并将页面打包成 JavaScript Bundle。
2025-04-29 23:09:50
864
原创 Android高效进阶:从数据到AI【2.7】
Weex, Alibaba 出品,使用 JavaScript 语言、 JavaScript 的 V8 引擎、 Vue 设计模式,原生渲染。React Native, Facebook 出品,利用 JavaScript 调用 Native 端的组件,从而实现相应的功能。1. WeexWeex 是 Alibaba 于 2016 年推出的大前端框架,是一个使用 Web 开发技术来开发高性能原生应用的框架。
2025-04-29 23:02:57
1292
原创 Android高效进阶:从数据到AI【2.6】
比如,负责搜索功能的开发者不需要知道其他模块的开发逻辑,只需要关心搜索功能是否可用。其实, Android 在设计 ART 的时候,就考虑到了这一点,在做 dexOat 的过程中,虽然使用的是 16 位寄存器,但是将这 16 位寄存器的地址做了偏移处理,这就使得每个类的最大方法数和属性数不得超过 65 536B。插件化要解决的重点不是工程架构上的解耦,而是将某个外来业务独立功能的 App 集成到宿主 App 中,宿主 App 除需要做唤醒插件 App 的操作外,两者之间的业务内容可以做到完全没有联系。
2025-04-29 22:55:20
699
原创 Android高效进阶:从数据到AI【2.5】
简单地说,就是 Android 设备运行着 Android 系统,而 App 是运行在操作系统的 Dalvik 虚拟机中的,如图 6-2 所示。所谓的 MoveToDex,就是在应用打包过程中,将部分非启动必需项的模块 class 从主 dex文件中分离出来,单独保存为一个 dex 文件,在使用相关模块的时候,再把这个 dex 文件加载到 App 的 ClassLoader 里,从而达到 classes.dex 文件方法数小于 65 536B 且 LinearAlloc 也小于5MB 的目的。
2025-04-28 23:33:55
1390
原创 Android高效进阶:从数据到AI【2.4】
以上章节介绍了 Gradle DSL 的基本内容,通过 DSL 我们可以轻易地更改我们的打包逻辑。下面就从新增任务、依赖任务和增量任务来说明如何自定义打包。1.新增任务task 任务的名字 {每次的构建( build)至少由一个 Project 构成,一个 Project 又由一到多个 Task 构成。每个Task 代表了构建过程中的一个原子性操作,比如编译、打包、生成 javadoc 和发布等操作。
2025-04-28 23:08:26
846
原创 Android高效进阶:从数据到AI【2.3】
上面这几个部分究竟起什么作用呢?apkbuilder 工具将 dex 文件和编译后的资源文件生成未经签名对齐的 APK 文件。这里编译后的资源文件包括两部分,一部分是由 AAPT 编译产生的资源文件,另一部分是依赖的第三方库里的资源文件,产出为未经签名的 APK 文件。class 文件和依赖的第三方库文件通过 dx 工具生成 Dalvik 虚拟机可执行的 dex 文件,可能有一个或多个,包含了所有的 class 信息,包括项目自身的 class 文件和依赖的 class 文件,产出为 dex 文件。
2025-04-28 22:41:24
993
原创 Android高效进阶:从数据到AI【2.2】
另外,如果要在 Google 电子市场 Google Play 中购买应用程序或者杂志、音乐等,那么也需要安装 Google 服务框架,因为其中不仅涉及付款,还涉及验证机制,这也是为什么许多游戏在缺少 Google 服务框架的情况下会出现闪退、黑屏等状况的原因之一。此外 Google 在国内无法提供服务,一直是一个问题,而大部分 Google 推出的 App 在设备上运行时都会检测设备是否安装了 Google 服务框架,如果设备上没有这项服务,那么这些 App 就会发生要么无法安装要么闪退的情况。
2025-04-28 22:30:34
586
原创 Android高效进阶:从数据到AI【2.1】
IConnector:创建、扫描和连接的接口,针对不同的系统版本采用不同的策略,目前有两个实现方案,即 P2Pconnector(基于 Wi-Fi 直连技术, Android 7.0 以上版本系统使用)和 HotpotConnector(基于 Wi-Fi 热点技术, Android 7.0 以下版本系统使用)。基于 VPN 的实现如下。业界通用的近场直连技术包括 NFC、蓝牙、 Wi-Fi、 HotPot、 Wi-Fi P2P 等,具体技术方向的现状、传输距离、传输速率如表 4-1 所示。
2025-04-28 22:05:11
1088
原创 Android高效进阶:从数据到AI【2.0】
MyIPackageStatsObserver 是跨进程通信移动端的系统回调方法,相关的 aidl 文件是系统的IPackageStatsObserver.aidl 和 PackageStats.aidl 文件,需要将这两个文件从系统中拿出来,放到指定的文件夹( android.conent.pm)下,如图 4-1 所示。注意, Android 手机上每一个已安装的 App 都有一个系统级别的 App 详情页面,而每个App 详情页面中都有一个类似强行停止的按钮,以微信为例如图 4-2 所示。
2025-04-28 21:54:50
1100
原创 Android高效进阶:从数据到AI【1.9】
目前比较常见的 Google Play 服务检测依赖静态扫描应用程序安装包文件,通过是否包含Google Play 服务框架组件来判断其是否依赖 Google Play 服务,这种判断无法准确地检测一个应用程序是否真正强依赖于 Google Play 服务框架,如某一 App 包含了 Google Play 服务框架静态组件,但是在无 Google Play 服务框架的设备上,它依然可以正常使用,那么其实这个 App没有强依赖 Google Play 服务来运行。
2025-04-26 23:11:44
1046
原创 Android高效进阶:从数据到AI【1.8】
应用图标优先放在 mipmap 目录下( Android Studio 环境下),其他资源图点 9 图(点 9 图也被称为 NinePatch 图,它是 Android App 开发里一种特殊的图片形式,文件的扩展名为9.png,点 9 图的作用就是在图片拉伸的时候保证其不会失真)应该放在 drawable-xxxx 下,需要复制到手机 SD 卡上使用的图片应放在 asset 目录下。真机平台是由许许多多的真实设备组成的,这些设备包括市面上绝大部分手机及系统版本,最大程度地涵盖市面上的设备。
2025-04-26 21:31:32
1213
原创 Android高效进阶:从数据到AI【1.7】
前置通道通常包括常驻通知栏、消息推送、桌面悬浮窗等。通过前置通道,应用程序可以将内容前置化地展示给不在应用程序中的用户,吸引用户注意,从而引导用户进入应用程序客户端并获取更详细的内容。消息推送能力是 Android 系统最重要的前置通道能力,也是应用开发者最需要的 Android基础能力。通过消息推送,让消息可以第一时间触达用户,把用户拉回应用程序客户端中。Firebase 云信息传递( FCM)是 Android 官方推出的一种跨平台消息传递解决方案。
2025-04-26 15:34:13
734
原创 Android高效进阶:从数据到AI【1.6】
要了解整个文件系统是如何工作的,首先需要明确一个概念,那就是什么是文件系统。其比较官方、正式的定义是:文件系统是对一个存储设备上的数据和元数据进行组织的机制。简而言之就是,一个操作系统上的文件管家。但是由于定义很宽泛,所以显得很抽象,无法很好地理解。而且文件系统是非常复杂的东西,所以支持它的代码结构也非常复杂。正如前面提到的,因为有许多种文件系统和媒介,所以可以预料到 Linux 文件系统接口的实现是分层的体系结构,从而可以将用户接口层、文件系统实现和操作存储设备的驱动程序分开。
2025-04-26 14:07:19
1009
原创 Android高效进阶:从数据到AI【1.5】
根据缩放比将图片加载到内存中上面代码中的 100 表示与原图保持相同的质量,控制其大小能有效减少对内存空间的占用。但是要注意,在改变 compress 方法中的质量参数的时候,压缩格式应该是 JPEG。若压缩格式被设置为 PNG,则任何修改都是无效的。4.列表图片很多时,快速来回滑动会卡顿无论是用 ListView 还是用 RecyclerView 作为列表的承载,当信息流中的每个 item 项都有图片且图片比较大时,快速来回上下滑动,很多时候会发生页面掉帧厉害的现象,也就是出现了列表卡顿。
2025-04-25 23:11:47
948
1
原创 Android高效进阶:从数据到AI【1.4】
因此通过bitmap.getByteCount 方法返回的 Bitmap 的大小往往会比图片实际在磁盘上占用的空间大很多,并且由于 Android 系统的内存是有限的,因此突然分配巨大的内存往往会导致 OOM( Out Of Memory),所以加载大图的处理操作变得非常重要,主要分 3 步走。未解码图片内存缓存存储的是原始压缩格式的图片,也就是图片源。即将图片保存在本地磁盘中,保存的图片类型与未解码图片内存缓存相似,保存的都是未解码的原始压缩格式的图片,在使用之前需要经过解码等处理。
2025-04-22 23:49:36
825
原创 Android高效进阶:从数据到AI【1.3】
如果下一个分段已启动下载,则停止当前分段继续下载。因此,我们针对该情况进行了优化,即在分段 1 下载完成时,如果发现分段 2 还没开始下载,则负责下载分段 1 的线程继续执行下载任务,即下载分段 2,同时移除原先负责下载分段2 的线程,从而减轻线程池的阻塞情况。简单理解就是,你想要下载某个文件 A,在你下载完成后却发现得到的是文件 B,当然你的下载链接指向的服务器资源文件确实是文件 A,其实这就是当你真正下载资源的时候被指向了另一个文件的下载地址,导致下载的文件不是你想要的目标文件,这时即发生了下载劫持。
2025-04-21 08:38:59
985
原创 Android高效进阶:从数据到AI【1.2】
解决思路是:在事件发生之前,对当前 Activity 的 layout 的整个ViewTree 进行遍历,将所有 View 和 ViewGroup 的 Tag 设置为组合的唯一 ID,这个 ID 是由 ID发生器与当前 View 的 ViewParent 的 ID 组合而成的,然后当 onClick 事件产生时,可以得到当前 View 的唯一 ID。早期有人区分两者的依据是,全埋点会将所有数据全部采集回收,而无痕埋点只会回收通过可视化界面配置的事件的数据。这里会花费点时间,点击事件的响应速度会慢一点。
2025-04-20 20:05:06
786
原创 Android高效进阶:从数据到AI【1.1】
因此,在原有代码埋点方案的基础上,演化出一套轻量的、声明式的前端埋点方案是性价比最高的,并且可以在动态埋点、无痕埋点等方向做进一步的探索和实践。下面分别介绍这两种存储方式。在这里推荐使用成熟、专业的安全服务公司的安全组件服务,其中的安全加密功能提供了开发者密钥的安全管理与加密算法实现,可以保证密钥的安全性,实现安全的加/解密操作。可以看出,代码埋点方案是一种典型的命令式编程,它会严格遵循你的指令来操作,需要进入具体的业务中,因此埋点代码常常要侵入具体的业务逻辑,这使埋点代码变得很烦琐且容易出错。
2025-04-20 19:58:01
1020
原创 Android高效进阶:从数据到AI【1.0】
对于移动应用来说,数据日志存储库是必不可少的基础设施,数据日志模块作为底层的数据基础,对上层的性能影响必须尽量小,但是数据日志的写操作是非常高频的,频繁在 Java堆里操作数据容易导致 GC(垃圾回收)的发生,从而引起应用卡顿,频繁的 I/O(输入/输出)操作也很容易导致 CPU 占用过高,甚至出现 CPU 峰值,影响应用的整体性能。不同类型的产品有各自关注的核心业务,比如,作为一个应用下载平台,业务的核心事件就是下载事件,具体包括下载开始事件和下载完成事件,下面就以下载事件为例来做介绍。
2025-04-20 19:35:00
980
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【3.5】
主程序首先对系统进行初始化,包括 SysTick 初始化、按键接口初始化、 LED 接口初始化、LCD 接口初始化、 I2C 接口初始化、温度传感器接口初始化、 ADC1 初始化和 TIM3 初始化等,数码管接口初始化和 USART2 接口初始化在 SysTick 中断处理程序中实现。初始化程序包括 SysTick 初始化、按键接口初始化、 LED 接口初始化、 LCD 接口初始化、 I2C接口初始化、温度传感器接口初始化、 ADC1 初始化和 TIM3 初始化等。
2025-04-20 17:02:13
573
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【3.4】
主程序首先对系统进行初始化,包括 SysTick 初始化、按键接口初始化、 LED 接口初始化、LCD 接口初始化、 I2C 接口初始化和 ADC 初始化等。按键 B2 为选择键,在参数设置界面按下此按键,切换选择参数项(电压的上限值、电压的下限值、电压超过上限的提醒指示灯和低于下限的提醒指示灯),被选择的参数项“高亮”显示。参数配置界面包含 5 个显示要素:界面名称、电压的上限值、电压的下限值、电压超过上限的提醒指示灯和电压低于下限的提醒指示灯,参考界面如图 6.51 所示。
2025-04-20 16:23:20
537
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【3.3】
设置:按下“设置”按键后,进入单价设置界面, 通过“切换”按键切换待调整的货物单价,被选择 的显示单元高亮显示,然后可以通过“加”和“减” 按键进行调整,再次按下“设置”按键保存本次的 调整结果到 EEPROM 存储器,退出单价设置界面, 返回称重收费界面,并将参数配置信息通过串口输出。( 4) 在 main()后追加 AKEY_Proc()、 S1_Proc()、 S2_Proc()、 S3_Proc()、 LCD_Proc()、 UART_Proc()和 ADC_Proc()的程序代码。
2025-04-20 16:14:39
874
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【3.2】
6.4.4 系统实现系统实现的主要步骤如下:( 1)将“ 207_TIM”文件夹复制并重命名为“ 304_082”文件夹,在“ 304_082”文件夹中双击工程文件“ STM32.uvproj”打开工程。( 2)修改“ adc.c”中的 ADC1_Init_AKEY()程序代码。( 3)在“ tim.h”中添加下列函数声明:( 4)在“ tim.c”中将 TIM2_ICInit()函数代码复制并重命名为 TIM2_ICInit_082()函数代码。
2025-04-20 16:04:49
656
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【3.1】
4 分频后的频率范围是 180Hz~7.2kHz,分频值是 400000~10000, 180Hz 的预分频取值范围是 7~65536, 7.2kHz 的预分频取值范围是 1~5000, 因此 TIM2 CH1 的预分频取值范围是 7~5000。4 倍频后的频率范围是 2.88~115.2kHz,分频值是 25000~625, 2.88kHz 的预分频取值范围是1~12500, 115.2kHz 的预分频取值范围是 1~312,因此 TIM2 CH2 的预分频取值范围是 1~312。
2025-04-20 15:40:29
733
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【3.0】
A. C D B. C C. B+C D. A+C· 197· ( 2)能够实现线与功能的门电路是( )。A. DMA 可以和 MCU 并行工作 B. DMA 数据传输结束后产生中断 C. DMA 控制器需要经过 MCU 访问内存 D.开始 DMA 传输前需要经过 MCU 初始化 ( 10)运放电路如图 6.21 所示,输入电压 UI1 和 UI2 分别为 0.3V 和 0.2V,输出电压 UO 的值是 ( ) V。( 3)在“ led.c”中添加 DIR_Init()函数代码。
2025-04-20 15:29:29
589
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【2.9】
初始化程序包括 SysTick 初始化、 按键接口初始化、 LED 接口初始化、 LCD 接口初始化、 UART接口初始化、 I2C 接口初始化、 ADC 初始化、 TIM2 初始化和 TIM3 初始化等。主程序首先对系统进行初始化,包括 SysTick 初始化、按键接口初始化、 LED 接口初始化、LCD 接口初始化、方向控制接口初始化和 TIM3 初始化。当设置多个目标平台时,升降机的升降顺序与按键顺序无关,先按从低到高的顺序走完设定的上行平台,再按从高到低的顺序走完设定的下行平台。
2025-04-20 15:11:54
703
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【2.8】
主程序首先对系统进行初始化,包括 SysTick 初始化、按键接口初始化、 LED 接口初始化、LCD 接口初始化、 UART 接口初始化、 I2C 接口初始化、 ADC 初始化、 TIM2 初始化和 TIM3 初始化等。B4 按键: “减”按键,当前选择的参数是温度时,参数减 1℃;选择采样间隔时,参数减 1s,选择参数为湿度时,参数减 5%;其中, H 代表环境湿度, F 为传感器输入设备信号的频率, m、 n 为常数, 1kHz 对应的相对湿度为 10%, 10kHz 对应的相对湿度为 90%。
2025-04-20 14:14:05
725
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【2.7】
串口波特率设置为 9600。DHT11 包含一个电阻式感湿元件和一个 NTC(负温度系数) 测温元件, 通过双向单线输出温、湿度数据,一次数据输出为 40 位(高位在前,大约需要 4ms),数据格式为:8 位湿度整数 + 8 位湿度小数( 0) + 8 位温度整数 + 8 位温度小数( 0) +8 位校验和其中校验和是前 4 个 8 位数据之和的后 8 位。用户修改阈值后,系统应将阈值保存在 EEPROM 中,当 系统重新上电时,可从 EEPROM 中读取,阈值设置显示界面 如图 6.3 所示。
2025-04-20 14:05:46
903
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【2.6】
例如两个通道的输出频率分别为 1kHz 和 10kHz, 当预分频值为 2 时, 1kHz 的周期值为 36000, 10kHz 的周期值为 3600;注意: 运行程序时,连接 J1.6( PA9)和 J3.4( PA1)[小心:不要连接到 J3.3( +5V)上], LCD 和超级终端上显示周期( 1000 1ms)和脉冲宽度( 250 25%)。对于输出不同频率的多个通道,预分频值的最小值应该选取最低输出频率时的值,最大值应该选取最高输出频率时的值。当预分频值为 36000 时,周期值为 2。
2025-04-20 13:44:53
541
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【2.5】
( 3)在“ Sre”文件夹中新建文件“ adc.c”。AT24C02 读写范例程序的实现在 USART 范例程序实现的基础上修改完成,步骤如下: ( 1)将“ 204_USART”文件夹复制并重命名为“ 205_AT24C02”文件夹,在“ 205_AT24C02”文件夹中双击工程文件“ STM32.uvproj”打开工程。( 1)将“ 205_AT24C02”文件夹复制并重命名为“ 206_ADC”文件夹,在“ 206_ADC”文件夹中双击工程文件“ STM32.uvproj”打开工程。
2025-04-20 12:30:41
871
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【2.4】
LCD_CtrlLinesConfig()首先将 PB5( LCD_WR#)、 PB8( LCD_RS)、 PB9( LCD_CS#)和 PB10 ( LCD_RD#)配置为通用推挽输出( GPIO_Mode_Out_PP),然后调用 LCD_BusOut()将 PC0~PC15 ( LCD_PD) 配置为通用推挽输出, 最后将 PB5( LCD_WR#)、 PB9( LCD_CS#) 和 PB10( LCD_RD#)设置为高电平。( 4)在“201_LED”文件夹新建文件“ main.c”。
2025-04-20 12:12:42
585
原创 “蓝桥杯”全国软件和信息技术专业人才大赛指导合集【2.3】
查询参数指令:“ PARA\r\n”,接收到指令后,设备返回当前的距离参数和温度参数,数据以字符串形式输出,以“ #”开头,“ \r\n”结尾,距离参数( S)和温度参数( T)以“ ,”分隔。每当一次参数设置操作完成(从参数界面退出,切换回数据界面),如果参数发生变化,参数变动次数加 1,将参数变动次数保存在 EERPOM 存储器,可记录范围为 0~65535。S5:定义为界面按键,按下此按键,循环切换数据界面和参数界面,数据界面的默认显示为温度数据,参数界面的默认显示为温度参数。
2025-04-15 23:08:34
768
防环技术:Token Ring、FDDI、SDHSONET、RPR、STPRSTPMSTP、RRPP对比.docx
2023-08-10
MySQL入门+进阶资源合集+MySQL学习资料-mysql-dba-master.zip
2023-07-31
至今最火的22个最佳Linux桌面终端模拟器.pdf
2023-07-31
Java基于SSM网上试衣间设计-需要的jar包.zip
2023-06-23
Java基于SSM网上试衣间设计-Eclipse源码.zip
2023-06-23
集中式MIMO雷达研究进展:正交波形.pdf
2023-06-11
010基于JSP高端珠宝店信息管理系统-WebRoot.zip
2023-05-27
010基于JSP高端珠宝店信息管理系统-数据库.zip
2023-05-27
ChatGPT应用实战-ktadmin-master.zip
2023-05-07
yolov论文-gradio-yolov5-det-blocks-master.zip
2023-05-03
ChatGPT原理分析-Desktop-master.zip
2023-04-24
开源字节/uniapp+若依 开发租房小程序
2025-02-10
VB.NET基于WEB房地产评估系统(源代码+论文)3.zip
2024-03-25
VB.NET基于WEB房地产评估系统(源代码+论文)2.zip
2024-03-25
VB.NET基于WEB房地产评估系统(源代码+论文)1.zip
2024-03-25
基于前端+大数据模型+智慧交通.zip
2024-03-24
基于前端+大数据模型+智慧电商.zip
2024-03-24
基于前端+大数据智慧城市.zip
2024-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人