- 博客(235)
- 资源 (16)
- 收藏
- 关注
原创 嵌入式项目实战:工程师必备技能之NTC热敏电阻的使用与温度转换详解
~~~~~~~NTC(Negative Temperature Coefficient),意为是负的温度系数,泛指负温度系数很大的半导体材料或元器件。~~~~~~~~通常我们提到的NTC是指负温度系数热敏电阻,简称NTC热敏电阻。又被称为负温度系数热敏电阻,是一类电阻值随温度增大而减小的一种传感器电阻。功率型NTC热敏电阻补偿型NTC热敏电阻测温型NTC热敏电阻用来测温。
2024-03-20 11:25:02 903
原创 Flutter VSCode 报错:The Dart Analysis Server server crashed 5 times in the last 3 minutes...
【代码】Flutter VSCode 报错:The Dart Analysis Server server crashed 5 times in the last 3 minutes...
2024-03-07 22:14:02 377
原创 ubuntu 22.04 安装mysql-8.0.34
注:在安装过程中可能会提示设置 MySQL 的密码,确保密码足够强,务必记住密码**,后面会用到!注:如果在安装过程中没有让设置密码,那么执行这一步后会显示Enter*Password,此时按下回车键将会自动登录到 MqSQL 的控制台。执行完以上步骤后,就可以在本地使用 MySQL 数据库了。
2024-01-24 22:42:03 733
原创 Conda命令、Miniconda3基础安装使用教程
注意:虚拟环境目录必须要有可读写权限,否则设置成功后,创建虚拟环境时还是在C盘。查看conda配置信息。清理conda(全部)或直接修改配置文件(
2023-12-23 09:39:13 600
原创 Flutter | TextField长按时选项菜单复制、粘贴显示为英文问题解决
长按TextField后,显示剪切、复制等选项为英文,如下图所示,这是因为问未设置语言本地化,我们需要进行设置。
2023-11-26 11:50:59 978 1
原创 Ubuntu18.04 安装docker教程
docker默认镜像源为国外的,下载时候速度较慢,所以更改为国内的镜像源,这里使用阿里云的镜像源。点开通后,根据提示完成授权。
2023-11-10 16:29:27 558
原创 windows下Qt、MinGW、libmodbus源码方式的移植与使用
截止2023年8月26日时,libmodbus最新版本为3.1.10,本篇博客基于此版本进行移植。
2023-08-26 10:42:20 421
原创 windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton‘解决办法
windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton'解决办法
2023-08-26 10:28:00 978 1
原创 Air32 | 合宙Air001单片机内部FLASH读写示例
合宙Air001单片机内部FLASH读写示例,代码已经通过测试,开发环境KEIL-MDK 5.36。
2023-08-07 13:20:30 975 2
原创 QMessageBox、QColorDialog、按钮汉化显示
打开这个文件,如果有问号显示,那么这是翻译有问题的,将它手动的改一下中文译文即可!注意:加载翻译文件必须要在窗口显示之前!环境:QtCretator MinGW。然后重新发布就可以生成.qm文件,在。函数中加载翻译文件即可!版本:Qt5.9.9。在Qt源码目录下找到。
2023-08-03 18:03:27 713
原创 PSM:协议状态机(Protocol State Machine),一款用于流式传输的数据协议解析组件
PSM:Protocol State Machine,协议状态机。一款用于流式传输的数据协议解析组件,可有效解决沾包、断帧问题。PSM以回调函数的形式将完整的协议数据包抛到应用软件层,确保应用软件层收到的数据是一包完整的、有效的数据帧。代码以纯C编写,可无缝在windows、linux、嵌入式单片机、嵌入式RTOS下应用。
2023-07-12 10:53:35 557 5
原创 rttread-nano 使用记录:rt_kprintf函数格式化打印无法左对齐
负号符号设置为了左对齐,但是发现无法打印,换成微库的printf确没问题,分析了一下源代码发现rtthread的格式化打印是不完整的。今天用rt_kprintf函数打印输出一个表格,为了表格好看每一列我都使用格式化参数。解决办法:将rt_kprintf内的rt_vsnprintf换为vsnprintf。
2023-05-25 15:54:06 304
原创 步进电机与伺服电机基础知识
驱动器其实也是用单片机做的板子,因为驱动电机是需要一个大电流的,如果你直接把自己的板子做成驱动电机的板子当然也可以,不过对于一些研发实力没那么好的,研发成本高。答:驱动器是一种能使步进电机运行的功率放大器,能把控制器发来的脉冲信号转化为步进电机的功率信号,电机的转速与脉冲频率成正比,一般两相步进电机的步距角是1.8°,所以给电机发200个脉冲,电机正好转一圈,成为一整步。系统控制架构:常规的控制方式,通过单片机或PLC发PWM脉冲给驱动器,驱动器在给电机发脉冲,这样电机就转了。注:本文以两相电机为例。
2023-05-23 11:13:07 2442
原创 i.MX6ULL - 远程视频监控方案实现(nginx-rtmp流媒体服务器、ffmpeg推流)
~~~~~~~该远程视频监控实现主要是参考了正点原子和韦东山老师的教程,再加上我自己的偷懒融合而成。(:其实是我自己的目的是为了快速实现,用以验证方案,后续有一个项目需要用到。。。~~~~~~~~正点原子的视频监控项目是手动移植ffmpeg、nginx、alsa-utils(处理音频的软件)到开发板上,我自己尝试移植了一下,虽移植成功,但步骤比较繁琐且不一定会遇到什么问题要去解决,所以也没法写一个固定步骤的文档教程。~~~~~~~~
2023-05-18 23:09:38 1036 5
原创 windows系统下利用Nginx搭建rtmp流媒体服务器
Nginx是一个高性能的HTTP和反向代理web服务器,并且支持rtmp,不过rtmp是作为一个nginx的一个模块。对于linux系统,需要另外编译安装rtmp模块;而对于windown系统有带rtmp的nginx的版本。
2023-05-12 10:49:29 2630 3
原创 STM32CubeMX | 使用STM32定时器的PWM输入模式测量脉冲宽度和周期
以前写过一篇博文,介绍的是如何使用定时器的输入捕获功能测量脉冲的宽度以及周期,适合测量某个脉冲或者测量按键按下时候的保持时间(见上面链接博客),不适合测量连续输出的脉冲场景。STM32的定时器还存在一个PWM输入模式,只要将未知PWM波接入到定时器输入模式的引脚上,会自动算出占空比和周期,相当于示波器探针了。
2023-04-25 14:56:28 3249
原创 Qt、事件的发送和接收以及自定义用户事件
Qt的事件所有的父类是:QEventQt事件类型:QEvent::Type其中,可供用户自定义使用的事件ID为1000~65535。自定义事件方法也比较简单,继承QEvent并将自定义类型传入即可。
2023-03-13 15:45:31 1088
原创 C/C++ 实现时间戳和时间结构体的相互转换、格林威治与本地时间的转换
时间是具有周期性的,每间隔四年为一个闰年,时间戳是以1970/1/1 00:00:00开始到当前时间的秒数。四年加起来一共365*3+366=1461天。这就是时间周期,后面写程序会用到。
2023-01-06 11:56:20 1077
原创 Qt、使用QToolButton和QStackedWidget的侧边栏(SideBar)的实现与实现原理解析
侧边栏是一个很常用的导航控件,如Qt Creator软件本身也使用到了侧边栏:目前使用Qt做出这种侧边导航栏,常见的做法是使用QListWidget加QStackedWidget,但是使用QListWidget做侧边的这个导航很不灵活,想要复刻出和Qt Creator这个侧边栏同样的效果很费劲,所以本篇博客采用QToolButton加QStackedWidget形式,在用QSS进行美化以达到效果。
2023-01-03 11:26:49 9891 4
原创 Qt、工程文件.pro的库引入和头文件引入、INCLUDEPATH和LIBS的详细使用方法
Qt、工程文件.pro的库引入和头文件引入、INCLUDEPATH和LIBS的详细使用方法
2022-12-30 15:22:31 7101 1
原创 Qt Creator 无效构建套件(Kits)的清除以及恢复默认设置
在使用在Qt Creator 开发过程中,有时候由于配置的原因出现了很多无效的构建套件(Kits),在创建项目也会列出来,因此想清理掉这些的无效的Kit;再有就是将Qt的配置搞乱了,需要恢复默认设置。
2022-12-13 14:04:37 2322 3
原创 Qt | QTextCodec类使用详解、GBK和UTF8编码互转、QString的toLocal8bit和toLatin1区别
Qt使用Unicode来存储、绘制和操作字符串。unicode是各个编码格式转换的媒介,以UTF-8转到GBK格式为例,需要先将UTF-8转到UNICODE,在通过unicode转到GBK,反之亦然。Qt提供了一组QTextCodec类,以帮助将非Unicode格式转换为Unicode格式。您还可以创建自己的编解码器类。
2022-12-01 21:06:26 9864 2
原创 Qt | QListWidgetItem返回错误的背景颜色(始终返回颜色值为0)问题解决
问题原因:默认情况下QListWidgetItem的背景QBrush是为空的,所以默认颜色为ListWidget的背景颜色,因此不会使用绘画,即不绘制背景颜色,所以获取到的brush转成qcolor后的颜色值始终为0。使用场景:程序使用QListWidget显示一个列表,这个列表具有点击选择和再次点击取消选择的功能,点击之后需要更换背景色以表示被选中,由于软件有主题效果,所以打算让背景色自动选择背景颜色取反显示,让软件去自适应。前景也是同样的情况,而前景使用视图调色板的文本颜色作为前景色。
2022-11-27 20:25:14 801
原创 Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤
JAVA SDK其中Android NDK直接下载的压缩包,解压即可。Android SDK提供了安装包和压缩包,用哪个都行。Qt For Android开发环境的搭建说简单也简单,说复杂也比较复杂。说它简单是因为安装的软件就一两个,安装完在Qt Creator中填入安装的目录即可。说复杂是因为这三个和Qt的版本必须要需要对应起来!
2022-11-27 14:07:54 11886 15
原创 Qt | 点击按钮后软件重启的实现
而如果使用quit函数,则应用程序直接退出,窗口直接销毁,也就是说倘若你实现了closeEvent函数并在此函数内实现了配置文件的保存,那么closeEvent是不会被调用到的。使用closeAllWindows是一级一级调用直到所有打开的窗口都被关闭。qApp提供了closeAllWindows和quit方法。Qt | 点击按钮后软件重启的实现。利用Qt的全局变量qApp。
2022-11-25 18:45:01 908
原创 Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别
QListView、QListWidget是列表形式展示的控件。QTableView、QTableWidget是表格形式展示控件。继承关系:带Widget的继承自View,即:QListWidget是继承QListView,QTableWidget继承自QTableView。区别:QListView是基于Model,而QListWidget基于Item。这是它们的本质区别。QTableView、QTableWidget同理。
2022-11-25 16:46:04 5192
原创 Qt | 信号和槽之间的连接与使用、重载信号和槽的连接
QueuedConnection:队列连接,信号发出后会暂时被放到一个消息队列中,需等到接收对象所属线程的事件循环取得控制权时才取得该信号,然后执行和信号关联的槽函数,这种方式既可以在同一线程内传递消息也可以跨线程操作。DirectConnection:直接连接,槽函数会在信号发送的时候直接被调用,槽函数和信号发送者在同一线程。在Qt4中,使用SIGNAL和SLOT这两个宏,将信号和槽转成了字符串形式,是利用的字符串进行的匹配。Qt的信号和槽之间的连接有好几种,对应着不同的QT版本。
2022-11-21 16:25:18 2088 1
原创 Qt | 拖放、拖动的使用、将文件拖入使用示例
Qt的控件本身支持了很强大拖放、拖动功能,对于窗体的拖动,例如QDialog,可以覆写这四个函数:```c++void dragEnterEvent(QDragEnterEvent *event);void dragMoveEvent(QDragMoveEvent *event);void dragLeaveEvent(QDragLeaveEvent *event);void dropEvent(QDropEvent *event);```
2022-11-11 15:59:45 1227
原创 Qt | QDialogButtonBox使用示例
QDialogButtonBox类,该类包含很多按钮控件,在窗体(widget)或者对话框(dialog)有多个按钮的时候,为方便管理就可以使用该类成组进行管理。当然也可以自行将按钮添加进QDialogButtonBox,它会会自动为用户的桌面环境使用适当的布局。在Qt Designer中的QDialogButtonBox控件就是默认了一个OK和一个Cancel按钮,OK按钮对应接受(accept),Cancel对应拒绝(reject)。
2022-11-11 09:37:56 2975
原创 Ubuntu错误:E: Could not open lock file /var/lib/dpkg/lock-frontend
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
2022-10-25 12:01:14 2893 1
原创 github - 批量删除仓库存储
步骤为:点右上角自己的头像->Settings-> Developer settings->Personal access tokens->Generate new token。这生成的authtoken复制到博文开头网站这里,然后点击Continue,即可列出你的所有仓库,根据列出的批量删除即可!首先在github上申请一个临时的authtoken,
2022-10-14 14:28:54 701
OpenSSL创建生成CA证书、服务器、客户端证书及密钥
2023-05-19
STM32_USB_Composite_MultiCDC_Demo.7z
2021-04-27
STM32_USB_Composite_CDC_MSC_Demo.7z
2021-04-27
ObserverModeDemo.7z
2020-09-21
STM32Cube_IAP_using_UART.7z
2020-05-08
STM32使用HAL库移植freemodbus-v1.6
2020-03-13
STM32-SPI方式驱动SD卡,包含标准库、HAL库、LL库三种另加HAL库的FATFS代码,共4个工程
2020-03-06
MINISTM32V33_TIM_IC_DEMO.7z
2020-02-20
MQTT-Client.7z
2019-11-08
Opencv3.0.0人脸检测+识别代码,vs2012工程
2018-04-24
嵌入式实时操作系统μCOS-III完整版带书签
2018-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人