自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Chasing_Chasing的博客

追在浪潮的背后

  • 博客(79)
  • 资源 (6)
  • 收藏
  • 关注

原创 75 qt安装APP 报:INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113

QT编译安装APP时报:Failure [INSTALL_FAILED_NO_MATCHING_ABIS: INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

2023-12-30 11:01:51 696

原创 74 QML ProgressBar显示进度数字

目前qt.5.14版本的control已经从1.0版本变为2.0版本了,qml ProgressBar进度条样式修改发生改变,在control2.0上使用1.0版本的方式会报错:Invalid property name "style"。。本篇blog给出control 2.0版本的进度条样式修改示例,仅供学习参考。

2023-09-10 11:05:28 392

原创 73 【转载】关于USB最大传输速率的文章记录

本文章记录了关于USB最大传输速率内容,资料转载自其它博客,在此记录只是便于日常查询。

2023-08-18 14:15:31 627

原创 72 yaffs文件系统挂载慢 sync不起作用

最近在开发过程中遇到了一个问题:Linux在启动时挂载根文件系统时很慢很慢!每次开机都是这样,项目中使用的是yaffs文件系统,理论上第一次启动时,会扫描完整的rootfs的flash区域建立索引,第二次启动就不会再扫描一次。但是实际情况是系统启动每次都扫描一遍,着实让人费解。经过排查探究,最后发现是自己的一个知识缺漏点,由于疏忽才导致每次启动都要扫描一遍flash,因此特此记录。

2023-05-18 15:15:10 818

原创 71 Linux 应用程序 permission denied问题

应用程序permission denied除了自己的可执行权限不足可导致外,链接库的权限不足也可能导致permission denied。

2022-11-21 10:33:48 1445 1

原创 70 QDateTime时间戳转换有误

在开发工具中需要用时间戳转换成格式化时间来显示,但引用QT中自带的时间类QDateTime转换时,发现转换时间有误问题,转换的结果时分秒是正确的,但月份确实错误的。因此在未深入研究qt实现情况下,需要得到正确的格式化时间,需要另寻它法。本blog对该现象仅进行记录和给出“治标不治本的”解决方法。

2022-09-21 09:42:29 1535 4

原创 69 RGB图像转单色位图

前段时间搞了一下显示项目,用的这款墨水屏不能直接显示彩色图、灰度图及二值图,需要将图像转换成才能显示。单色位图这还是第一次接触,后面看了资料了解到和类似。二值图单个像素用8Bit存储,要么是0要么是255,而单色位图单个像素用1bit存储,要么是0要么是1,就存储空间来说,单色位图比二值图直接节省8倍空间,实属nice。

2022-09-14 14:23:55 1318

原创 68 iso14443读卡入门记录

最近项目涉及射频读卡,我负责读卡程序移植以及基于APDU自定义数据收发接口实现。由于第一次参与读卡项目涉及读卡相关协议内容,因此特此学习记录。基于ISO14443协议读卡流程分析。有上述图片可知,回复的AQTA中,可获取到卡片的UID长度信息。其解析实例如下图示。 读卡器发送放碰撞指令,如果存在干扰,可能要多级防碰撞才能把卡片选出来,那么就可能会发0x95 0x20甚至0x97 0x20指令,不过一般而言0x93 0x20已经够了。下图为A卡交互部分示例。 下图为放碰撞选卡流程图。 对于防碰撞返回的数据,是

2022-06-16 17:11:24 1538

原创 67 ML302 mqtt对接onenet注意事项

1.前言最近又开始onenet的对接工作,采用mqtt的方式,开发环境是中移4G模组openCPU方式。基于其mqtt demo程序修改,但对接过程中一个点没注意好,导致死活连不上onenet,模组网络什么都没问题,mqtt的使用方式,也全部认真对了一遍,也没什么问题。后来经过fae查找分析,才知道原理onenet mqtt最新版本,对有些参数不支持了,从而导致mqtt死活连不上。2.实验现象本次对接使用ML302模组通过MQTT协议接入OneNet平台,以o...

2022-05-11 09:23:59 1366

原创 66 ESP32 ethernet\basic实验记录

1.引言 最近买了一块esp32以太网开发板(如下图示)。编译配置esp32的esp-idf-v4.4\examples\ethernet\basic工程烧录到设备后,设备不断重启,打印如下log。I (254) cpu_start: Pro cpu up.I (255) cpu_start: Starting app cpu, entry point is 0x400810b4I (241) cpu_start: App cpu up.I (26...

2022-04-08 09:23:25 3023

原创 65 STM32F0系列 串口DMA循环接收实验记录

1.引言最近因为中断冲突问题,导致串口接收数据时随机丢失一两个字节。无奈串口的中断优先级不能是最高的,所以中断冲突问题明显存在,因此需要串口使用DMA方式来接收数据,从而规避串口接收数据丢失问题。2.DMA配置经验 首次使用dma,需要了解一下dma的知识。 1.首先最重要要了解的一点就是,dma接收数据一定要接收到指定长度的数据,或指定长度的一半数据才能产生接收中断,如果数据没有达到一半或指定长度,就无法产生dma接收数据通知。 ...

2022-04-01 17:56:02 3445

原创 64 串口测速工具及实验

最近搞usb虚拟串口,需要测试虚拟串口能达到的最大速度。然后人算肯定不太精准,需要用工具来测试,所以搞了一晚上用qt写出了一个简单(不太精准的)的测速工具。小包误差太大,大包数据发送效果还能接收吧(反正没超过理论值),所以认为还是成功的。

2022-01-22 14:51:48 13644 8

原创 63 USB复合设备多设备数据乱码问题及ENDP0_RXADDR起始地址计算方式

1.引言 最近又往usb设备中添加了虚拟串口功能,使用的usb端点从三个增长到了5个。很巧合,例程给的恰好是小于3个端点的,所以在前面的移植过程中并未出现什么错误,所以当时也就迷糊的过去了,未研究ENDP0_RXADDR为何是0x18。 现在我使用到的端点个数已经达到5个,出现了usb 的虚拟串口发数据给PC,PC端收到的数据是乱码的,对比例程的代码,自己跟例程代码差别没有,所以迫使寻找问题。幸好看到了下帖,才解决了自己的疑惑。帖子链接:STM32 U...

2021-12-23 18:54:08 1204 1

原创 62 stm32 usb自定义hid复合设备修改实验

1.引言 最近因为项目需要,我们希望单片机既能有hid键盘功能,又能有hid设备的功能。即单片机的一个usb接口插入电脑后,电脑能识别出键盘设备和hid设备,两者同时存在的。基于项目只是要求实现功能,故本次只是对stm32usb应用方面进行了研究,并未对usb进行更深层次的了解,所以本blog只是记录了,如何基于单片机hid键盘例程,修改成hid键盘+hid设备过程及遇到的问题。2.目标 图1单hid设备,在电脑中的显示: ...

2021-12-20 13:48:43 3937 3

原创 61 stm32 USB键盘一直在发送数据

1.引言 今天测试USB键盘的时候,按照下述格式发送数据8后,电脑一直接收到8,然后8888888888888888888888888888888888....................源源不断!2.问题 在调用发送数据后,mcu将键值拷贝到HID发送数据区(USB键盘是8个字节),当HID设备检测到该区域数据不为0时,会一直调用把该部分的数据发送出去。知道原因后,我们在拷贝完这个数据后,将HID的发送数据区域清0,即可阻止一直发送数据...

2021-12-13 18:30:12 1379 1

原创 60 无键值Json数组和有键值json数组实验

1.引言 特殊的key值的json数组今天遇到了,所以研究了会才知道怎么生成和解析这种无键值的json数组。下面我们来看看今天的实验。2.json生成数组实验今天的实验就是生成这样的无key值的json数组,在这里称为数组1。{ "scanPrefix": [ "hello", "hello", "hello", "hello", "hello" ]}...

2021-12-03 20:03:59 1571

原创 59 Linux socket的select编程

59.1 引言作为代码搬运工,正常来说写过一次代码之后,就不想重新的重复造轮子,所以特此记录,Linux下的socket的select编程相关配置及例程。59.2 例程 Linux socket例程。int ht_socketOpen(void){ int ni = 0; int ret = 0; int sock_fd = 0; int optval = 0; int sock_nbio = 1; int ...

2021-12-02 09:29:10 522

原创 58 ESP32 OTA升级(双OTA分区无factory APP)

57.1 引言产品功能实现后,就要对产品的维护进行考虑。产品出来后,卖了N台出去,如果突然发现自己一行代码写错了,怎么办,肯定不能去现场吧N台设备,免费出差旅游也累啊,所以需要有远程升级设备的功能,所以就来研究ESP32 OTA升级了。57.2 问题当前ESP32官方例程,以及网络上的经验例程,都是factory APP + 双OTA_x 方式。我选用的esp32是4M flash的,现在编译的固件大小是1.3M,按照上述的方式,需要用到的空间是:1.3M * 3 =3.9M。只有4M大

2021-11-14 17:20:54 5468 12

原创 57 spi电平转换的坑

1.引言最近在使用4G模块的spi接口,但4g模块引脚电平是1.8v的,但目标从机的电平是3.3v的,所以两个spi设备直接不能直接对接,需要电平转换。之前有用过相关的电平转换电路,让4G的串口引脚(1.8v的),跟3.3v的单片机串口直连实现了正常通信。然后这次spi使用的是一样的转换电路,然后问题就出现了。。。。2.问题及现象按照常用的电平转换方式,如下图示,在低速时是可以的,但是速率变高之后就出现了问题。串口1...

2021-11-02 12:29:21 4609 3

原创 56 ESP32 NAT_Router模式踩的坑记录

56.1 引言今日前来加班,需要搞定ESP32 的NAT模式,还好一切顺利。之前是参考这个例程。但我只是参考了例程的代码,没有按照他的步骤重新替换ESP-IDF里面的lwip的文件,导致nat_router似乎一下可以,一下又不行。昨天晚上搜索问题的时候又重新搜到下面这个示例工程,之前在参考下图工程的时候,并没有仔细阅读步骤,导致迷迷糊糊的问题,并且不成功,今天认真阅读后经实践,成功实现nat_router功能。56.2...

2021-10-17 09:59:34 1440 4

原创 55 Ubuntu搭建mosquitto并使用MQTT.fx测试问题记录

55.1 引言今天在搞mqtt服务器,因为电脑装了一台Ubuntu虚拟机,所以就在Ubuntu搭建了,然后通过MQTT.fx 1.7.1客户端进行测试,想法很美好。但作为新人,很多东西不熟悉,所以这遇到一个问题,耽误了几个小时,后面经过各种测试才发现问题。55.2 问题我遇到的问题是已经在Ubuntu上搭建好mqtt服务器,但是在windows下的MQTT.fx客户端死活连不上,开始以为是配置问题,防火墙问题,后面经过查找果真是配置问题。原因是Ubuntu安装mosquitto后,其默认

2021-10-12 15:20:19 1005

原创 54 ESP32Wifi模块之开启AP+STA共存及IP_NAPT模式

54.1 引言探索完4G模块的应用、蓝牙模块的应用,最近开始了WiFi模块的使用。WiFi模块我们选择了广泛应用的esp32WiFi模组,所以就重新踏入了WiFi探索之旅。然后项目上要用到WiFi的AP+STA模式,并且要开启NAT模式,就是WiFi模块能连接路由器,然后...

2021-10-11 14:31:57 5112 4

原创 53 Command “python setup.py egg_info“ failed with error

53.1 引言今天在Ubuntu环境下搭建安信科技的ESP8266开发环境,到配置这一步骤时出现了,一个问题,网上一顿查阅,然后并没有实际解决,后面查到外文blog外国朋友遇到跟我一样的问题,参考他的做法才解决,特此记录,弥补中文博客对该问题解决方案的完整性不足问题。53.2 问题配置编译问题如下所示:qihua@qihua-virtual-machine:~/esp/setuptools-19.2$ sudo pip install setuptools -UThe directo

2021-10-08 19:17:33 3365 1

原创 52 单片机复位原因查找

47.1 引言本次开发中遇到一个问题,就是使用stm32f030c8t6的时候,要进行写flash操作,调用FLASH_ProgramHalfWord函数导致段错误,程序代码是从stm32f103移植过来的,都测试过没啥问题,但是却遇到了一写flash,就马上产生了HardFault_Handler错误,坑!!47.2解决方案经过一番了解!就不跑进 HardFault_Handler了。应该是stm32的flash只支持对字的操作不支持对字节的操作吧。...

2021-09-28 17:12:55 1143

原创 51 单片机AD采集电压值的坑

1.引言最近又在忙低功耗相关项目,需要对设备电池进行电压进行检测,ad采集的例程原厂都有给到,相关的文件说明都有,但是理想和现实还是比较骨感的,采集的电压总是不对,调了两天,赶在周末前终于发现了问题。完美!!可能稍微不完美的就是原厂的技术支持,根本就不支持,发了微信都不回复,态度不太行。。。。。不过最后还是自己发现了问题,真解气!2.现象电压检测使用的是单片机的引脚,但电池电压一般为4.2v,大于GPIO的承受电压3.3v,所以需要一个分压电路,分压电路原理图如下图所示。上图中R7.

2021-09-03 18:56:36 8762 26

原创 50 IIC通信速度下限

1.引言这两天又来调IIC了,很不开心的是,以前的GPIO模拟IIC的代码,移植到新单片机的时候,发生了不幸的事情,无法正常通信了!!!!!。然后经过了近一天的各种方法的问题排除,发现IIC主机发送数据后,SDA引脚就一直是低电平,从机把引脚拉死了,原最后发现原因是SCK时钟频率不对,导致从机罢工!然后继续调试,最后在调试过程中生出一个想法,为什么从机死掉了,对比一下可以的IIC时序图,波形一毛一样,然后直觉的突然看到不同的地方!!!SCK的时序的频率是不是一样,然后经过查看,发现可以的IIC的频率

2021-05-27 19:10:35 1574

原创 49 QT打包应用程序

1.引言今天又要打包应用程序,之前打包过,但是没记录方法,导致每次打包又要去翻以前的记录,然后慢慢尝试,浪费时间!!!所以特此记录打包应用程序步骤,希望下次打包的时候,两三分钟就搞定!!2.打包步骤1.在桌面建立一个文件夹qtpack2.找到要打包的qt的exe文件,并复制到qtpack文件夹内3. 打开cmd,然后进入该目录4.找到qt安装目录下的windeployqt.exe路径,然后再cmd窗口输入以下指令:指令:C:\Qt\Qt5.14.1\5.14.1\..

2021-05-19 17:04:27 298

原创 48 STM32普通IO模拟usart串口

1.引言本次实验的原因是因为最近接触到一款单片机,只有一个串口,但项目中要用到至少2个串口,所以一个串口好少啊,没办法,只能另寻出路,通过普通IO来模拟usart串口了。然后,经过一番资料搜索,代码搬运,终于成功,组合出一个io模拟串口的模块,该模块成功实现了9600-8-N的串口数据收发,为方便记忆以及学习,特此记录!2.普通IO模拟串口原理普通io模拟串口,也需要严格的遵循串口协议规则,具体的规则可百度一下。当波特率是115200时,发送1bit数据需要 1/115200 = .

2021-05-06 18:08:02 9163 14

原创 47 stm32f0 IAP跳转APP后中断无法进入

47.1 引言本次问题叫做:stm32f0 IAP跳转APP后中断无法进入之前弄了stm32f103的iap程序,因为stm32f103有中断向量起始地址控制器,直接修改VECT_TAB_OFFSET的值,然在APP里面NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2400);,这样就行了,但是cortex-m0不行,因为没这个功能,所以导致需要较为特殊的处理。然后我根据网上的资料,仿照stm32f030单片机的的机制去做了另外一款同样是cortex-m0的IA

2021-04-29 11:33:27 1690 4

原创 46 合泰BS8116A-3触摸按键踩过的坑

46.1 引言今天真的太坑爹了,一个触摸按键快搞了一个下午,原因是自己对文档的阅读不够仔细,导致浪费时间,并且差点要放弃调试了,幸好带着一定可以的决心,然后最后搞定了。46.2 合泰BS8116A-3触摸按键调试合泰BS8116A-3触摸按键,我使用的是中断模式,中断来了去读取数据,然后使用的是模拟IIC,前后对比可以的和不可以的,IIC时序,发现时序一样,就是读不出来。然后各种检查,最后发现原来是中断触发,不能用上升沿来搞,要用下降沿,其原因如下图示:结论:一定要仔细阅读文..

2021-04-15 17:33:34 3050

原创 45 STM32 IIC主机、从机通信实例(ma51t12b触摸按键芯片)

45.1引言最近在研究触摸按键板的通信,按键板主要用到的通信协议为IIC,事实上IIC的例子有很多,但大都都是模拟IIC的主机(引用某网友的评论),从机这边的内容还是比较少。早在两三年前就跟着原子哥的学习资料,学习并操作过IIC的eeprom器件,但是依葫芦画瓢,虽然看了IIC的协议,但是还不算很透!!!只能说熟悉。最近接到这个项目,用到IIC通信,原本很快就搞定了,但是遇到了一些问题,发现是从机地址写错了(感觉是芯片厂商故意在文档里面写错的),不过换算挺好的,借此机会算是把IIC较为透彻的跑一遍。

2021-03-26 12:54:21 3126 8

原创 44 RT-Thread Nano移植到stm32F103CBT6 (STD标准库)

一、前言最近在学习rt-thread,然后网上有介绍用RT-Thread Studio和stm32cubex结合进行开发,还有用rt-thread nano提供的pack直接开发,但是这种方式真的不太行,对于新手而言,不能很好的了解整个代码的结构。为此,就怀着跟前面网友一样的心思,准备要自己拷贝代码,一步一步来对rt-thread进行移植,然后发现还是挺简单的,如果rt-thread已经移植过相应的cpu的话,那简直移植的方便就超级简单了。本文章把rt-thread nano移植到stm32f1

2021-03-10 19:56:31 3735 5

原创 43 ME3616物联网模块连接OneNet平台

43.1引言本实验通过串口助手与ME3616模组连接,由串口助手发送命令,与ME3616模组通信,实现NB模块与onenet平台的数据交互。43.2 实验操作及实验现象串口助手收发的数据:*MATREADY: 1 +CFUN: 1 +CPIN: READY +IP: 100.96.78.210 AT+MIPLCREATE //创建套接字+MIPLCREATE: 0 //创建成功OK AT+MIPLADDOBJ=0,3200,1,"1",1,2 //添加D

2020-10-23 18:38:46 836

原创 42 单片机栈溢出及程序栈大小设定

一、背景最近自己在开发单片机应用程序,开发过程并不顺利,问题在当我在工程里添加了好几个模块的代码之后,发现程序不正常工作了,进入一个函数卡死在里面,但是30s后居然又跑出来了,真是奇怪。然后同一个函数,在不同地方调用居然产生不同的结果。第一个:调用函数层数不多,就3层。第二个:调用层数达到6层两个都是调用同一个函数TPDU_Exchange,但是结果行为不一样。没办法,第一次遇到这事,想不明白,就能扔一边,然后跟同事一起去吃个饭,然后一拍大腿,是不是栈溢出了!!!! 没想到这拍的

2020-09-19 22:11:10 1493

原创 41 Windows VS封库及库引用

39.1 VS软件构建库过程最近开发中需要构建自己的函数库,然后让别人去掉,之前没自己弄个,然后查看一下资料发现VS可以方便的对进行函数实现封库操作。第一步:建立库工程第二步:声明及实现相关函数第三步:编译生成库文件Lib里面包含了dll的描述信息,比如函数符号表,偏移地址等信息,而非实际代码,所以我们在vside里面包含这个Lib文件,vs在编译器...

2020-04-29 16:53:05 329

原创 40 Linux SPI通信问题记录

38.1 SPI简要介绍SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线。SPI是通过移位寄存器进行数据收发的,也就是由主机发起动作,如果主机进行单字节传输,主机发一个数据就会从从机中拿到一个数据,不管你愿不愿意,每发送一个数据,从机都会发一个数据过来。如果是没...

2020-04-29 12:32:59 2199

原创 39 Linux如何查看哪个线程占用CPU最高

39 Linux查看哪个线程占用CPU最高方式在开发中,我们不免会遇到某个程序占用CPU很高的情况,我们可能可以用top命令查看到是该进程的某个线程CPU占有率高的很,通过top命令后,再按h键便可查看对应的线程号,如下图示:按下h键后:现在知道了那个占用cpu最高的线程ID,下一步是要找出是哪个线程,此时我们可以实用gdb调试工具得到相关信息!用gdb attach 173,...

2019-10-13 23:31:11 1850

原创 ffmpeg 编程程序 未定义的引用错误问题记录

记录:今天在编译ffmpeg时发现报下面的错误,根据提示说没有定义,但事实上,我已经包含了库了,后面发现是因为包含库的顺序不对,感觉是一个大坑啊!!!正确的顺序:STATIC_OLIB+= \$(DIR_LIB_FFMPEG_LIB)/libavformat.a \$(DIR_LIB_FFMPEG_LIB)/libavdevice.a \$(DIR_LIB_FFMPEG_LI...

2019-08-09 16:17:06 3543 12

原创 38 如何根据地址获取函数名

38.1 前言之前有做过一个通过截取内核信号,获取程序出错所在函数位置信息(如段错误),然后进行栈回溯的功能(之前的blog有写),那个虽然成功了,但仍有一些不合人意的地方。就是手动回溯结果显示的只是函数地址,如果要看是哪个函数,那还要用objdump或addrline工具用地址找到是哪个函数,比较麻烦。最近折腾了两天时间,终于搞定了根据地址自动获取函数名称的功能。不管gdb还readel...

2019-07-21 19:24:06 4274

原创 37 Linux 485收发切换延时导致接收数据错乱问题解决

37.1 前言这几天在对接Linux上位机与stm32开发板,通过485进行对接。Linux上位机端485是通过串口+485转换芯片+一个IO控制方向组成的。原本以为485这东西简简单单(之前有做过两块单片机的485驱动),没想到因为Linux系统调用延时导致485收发切换延时,导致Linux上位机始终不能正确接收stm32下位机回复的数据。期间以为是硬件问题,然后一直找硬件的人帮忙查...

2019-07-01 17:21:40 3544

串口测速工具V1.1版本

串口测速工具V1.1版本

2022-01-23

串口测速工具,用以测试串口的收发速率

该工具支持最大波特率为115200 且只适用于较大的数据收发速度测试 若数据收发量较小,则会出现测速严重不准确 且收发速度有一定误差,一般不会大于理论值 故该工具获得通信速度只能当做参考 接收测速方式为其它串口向本串口连续 发送数据,本串口接收完毕后显示接收速率

2022-01-22

V4L2_USB摄像头_LCD实时显示代码

该文件是基于v4l2接口编程的从USB摄像头采集图像信息,并在LCD实时显示的代码,里面是纯c写的,由Makefile编译

2017-08-24

串口下载文件

该软件可实现无网络时linux通过串口下载文件到arm开发板

2017-02-22

openssl-0.9.8e.tar.gz

openssl-0.9.8e.tar.gz

2017-01-08

libnl-1.1.tar.gz

libnl-1.1.tar.gz

2017-01-08

空空如也

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

TA关注的人

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