自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

转载 Ubuntu安装QT打不开QTCreator问题解决【转载】

安装完QT点击QTCreator报错:Could not load the Qt platform plugin "xcb" in "" even though it was found.解决办法如下:https://www.jb51.net/article/193024.htm总的来说,就是先打开QT调试,再根据调试信息找到缺失的库,再安装缺失的库或者插件即可...

2021-10-28 09:24:22 2146

原创 浅谈QT内存泄漏

01前言 前几天,项目开展了一次代码初次评审。会上,领导指出一些可能会带来内存泄漏的代码,如下图所示:图中的pLayout在new的时候没有指定任何父对象,且MainWindow的析构函数中也没有对pLayout做delete操作,这意味着为pLayout申请的内存空间在程序运行期间是一直没有得到释放的。实际上,项目代码中,还有许多这种“隐患”:一个单例类的成员变量在new的时候没有指定父对象、一个静态类的成员在new的时候没有指定父对象……这些“隐患”为何在目前程序运行时没有暴露出问题?基..

2021-09-22 09:18:58 1896 2

原创 旋转编码器与STM32的编码器接口学习

编码器类型主要有增量型

2020-07-05 22:34:21 2233

原创 笔试准备

C++基础1、static作用C:在函数体中,static局部变量在被调用过程中维持值不变 在模块内,static变量可被模块内所用函数访问,但模块外函数不能使用,是一个本地的全局变量 在模块内,一个static函数只能被这一模块内的其他函数调用C++: 在类中,static数据成员可实现多个对象之间的数据共享,是类的所有对象的共享成员,在内存中只占一份空间,如果改变其 值,则所有对象的这个数据成员的值都会改变。静态数据成员在程序开始运行时被分配空间,...

2020-06-18 21:52:42 204

原创 面试准备

一、笔试题目难题回顾1、sizeof和strlensizeof计算的是分配空间的实际字节数(对于字符数组则包括'\0'),而strlen则计算的是空间中字符的个数(不包括'\0'); sizeof是运算符,可以以类型、函数作参数;strlen是函数,只能以char*字符串作为参数,且要想得到正确的结果必须包含结束字符'\'0' sizeof在编译的时候就将结果计算出来,所以对于以数组名做参数时计算的是整个数组的大小;而strlen是在运行的时候才欧开始计算结果。 sizeof不能计算动态分配空

2020-06-18 09:54:13 179

原创 STM32 从APP跳入BootLoader问题

在这次项目中,程序从APP跳入BootLoader主要遇到两个问题,做个记录:1、现象:跳入BootLoader后还没开始升级便重启 原因:APP程序中开启了独立看门狗,当跳入BootLoader时看门狗也继续计时,但并没有重新喂狗,因此导致跳入BootLoader后软 件Reset重新进入APP。 解决办法:在BootLoader中添加喂狗程序或跳入BootLoad...

2020-03-19 11:24:13 4288 1

原创 STM32F030 HAL ADC多通道采样DMA传输

我所选用的芯片是STM32F030C6,采用官方STM32CubeMX配置ADC多通道时只需勾选相应的ADC通道,而对于大部分说的Rank设置是不需要的,F0默认按通道数字号配置了通道顺序。 关于ADC多通道DMA配置的顺序:Enable DMA时钟 -> 配置ADC -> 配置DMA -> 开启传输 1、配置ADC ADC_ChannelConfT...

2020-01-10 11:27:47 6161 5

原创 STM32F070x2_USB-FS-Device_Lib分析

STM32F070x2_USB-FS-Device_Lib总体上分为三个部分1、USB Low Level Driver usb_core.c/h —— 提供USB内核接口 usb_reg.h ——实现硬件抽象层,提供一组访问USBFS_设备外围寄存器的基本功能 usb_bsp_template.c —— 包含低层的核心配置,应该拷贝到应用...

2019-12-20 09:59:26 661

原创 QT 事件与事件循环

事件与信号的区别 事件是针对于应用中的一个具体的目标对象,该对象决定了我们应该如何处理这个事件;而信号的发射是漫无目的的。所有的事件实例是QEvent的子类,且所有的QObject的派生类可以重载虚函数QObject::event()以实现对目标对象实例事件的处理。 事件可以产生于应用程序的内部,也可以源于外部,比如QKeyEvent代表了与键盘的交互事件,来自于视窗体...

2019-12-20 09:58:47 299

原创 DSP学习二:CCES平台的安装与新建一个工程

CCES,全称CrossCore Embedded Studio,是ADI公司推出的一个DSP开发平台,安装完软件后注册license,如果没有注册license,其可支持的器件是有限的。 新建工程一个ADSP21479工程 new->Crosscore Project,选择器件ADSP21479,新建好的工程如下图所示其中,app_startup.s是启...

2019-12-19 12:07:38 2293

原创 DSP学习一:ADAU1452与Sigma Studio

关于I2S中的几个时钟关系1、SCLK/BCLK:串行时钟,也称作位时钟,对应于数字音频的每一位数据 f(SCLK) = 2 * 采样频率 * 采样位数2、LRCK:帧时钟,用于切换左右声道的数据,LRCK为1时表示左声道数据,0表示右声道数据 f(LRCK) = ...

2019-12-19 10:55:07 7853 1

原创 Linux系统 开启和配置SSH、FTP服务和NFS服务

电脑虚拟机上的Ubuntu很长一段时间没有用,今天重新开启时遇到一些问题,遂记录下来。我这里使用MobaXterm这个软件来实现主机与Linux系统的远程网络连接服务,MobaXterm这个软件能够支持多种连接方式,其中包括SSH、FTP、SFTP和Serial。 首先是SSH服务,通过SSH可以远程登录虚拟机里的Ubuntu,实现在主机中输入Linux命令来实现相关操作。一开始采...

2019-08-15 15:15:57 521

原创 SigmaStudio自行设计控件

SigmaStudio是一款图形化的DSP工程开发工具,其控件库中包含了丰富的DSP控件资源,然而,用户也可以自行使用汇编语言设计开发属于自己的控件,在必要时导入使用。(一)安装设计控件 1、到官网下载DesignerNew.dll 2、将下载的dll复制到SigmaStudio的安装路径下面 3、打开SigmaStudio,选择Tools -> Add-Ins Bro...

2019-08-05 15:49:47 4644 2

原创 STM32Cube_FW_F0_V1.10.0 官方库的I2C 调试

又来写I2C通信了......真是换一个新库就要花时间重新调试一下,这次用的是最新的官方库STM32Cube_FW_F0_V1.10.0 ,开发平台用的也是新的STM32CubeIDE。(一) 需要完成的任务是模拟一个电池包被动发送信息给充电器,调试阶段我用STM32F030R8板子上的I2C2做主模拟充电器,I2C1做从模拟电池包。充电器读取电池包信息时通信时序是:先发送从机...

2019-07-01 11:47:56 4024 4

原创 FLEX项目学习总结

MCU:STM32F030R8 时钟频率:16MHZ模块资源使用: ADC & DMA—— 监测系统电压,用于掉电检测 UART2 —— 与蓝牙通信 I2C1 —— 与DSP芯片通信 I2C2 —— 与电池包通信 TIM3 & TIM14 —— 呼吸灯PWM、系统延时、系统回调函数注册MCU存储空间资源分配...

2019-05-06 18:06:08 595

转载 STM32调试HardFault错误

https://www.cnblogs.com/zhangshenghui/p/5944881.html

2019-04-30 17:35:57 414

转载 Git分支

https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B

2019-04-17 16:28:12 123

原创 月亮与六便士

这本书的篇幅其实很短,但我竟然第三次尝试才把它读完。故事情节比较弱的前几章称成为了我阅读过程中的一个绊脚石,由于对这本书的定位不太清楚,在读前几章的时候我几度搞不明白这本书想讲的是什么。其实主要原因是阅读的功利心太重吧,且阅读时间零散,每次重新拾起都已经忘记了前面的内容。终于,在这个阴雨连绵的周末,我坐在图书馆逼仄的角落里,决定一口气坚持把它看完。 这是一本关于查理.斯特里克兰,...

2019-04-15 11:01:02 492

原创 STM32 硬件I2C采用DMA发送时ADDR的清除问题

从机I2C DMA中断接收需注意的点:1、开启DMA时钟2、这里要开启I2C EVT事件中断,当地址匹配后清除地址中断标志才能继续发送数据RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);/******* I2C1 DMA Channel Configuration **********/ DMA_DeInit(DMA1_Ch...

2019-04-03 14:29:07 2627

原创 STM32 I2C调试过程心得记录

又花了好几天的时间调I2C,前前后后出现了很多问题,有一些是不仔细的问题,有一些是对于I2C协议不够了解,手册看的不够认真,总之继续学习,这里将遇到的问题记录下,以便日后查阅 错误一:HardFault硬件错误,逻辑分析仪上显示数据发送到一半就中断了,但是总线上并没有检测到停止信号 原因:这个错误我犯了两次了,乱用指针,直接定义uint8_t * Rxbuffer来接收I2C数据,也没...

2019-03-28 10:56:40 4652

原创 STm32F070RB 有关串口通信的几个坑以及硬件流控制

在整理串口库函数时发现有几个以前没有注意到的问题问题一: 如果使能了接收中断,即USART_ITConfig(USART1,USART_IT_RXNE,ENABLE),则默认ORE溢出中断也开启,且此时溢出中断标志USART_IT_ORE不能通过USART_GetITStatus()来检测到,而只能通过USART_GetFlagStatus()检测到,且此时USART_ClearITP...

2019-03-20 19:14:18 2823 1

原创 STM32F070RB基于库函数新建工程文件

太久没有自己新建STM32工程,今天想基于STM32F0库函数新建一个工程文件居然坎坷不行,花了差不多几个小时才成功......果然应该实时记录遇到的问题之后才会方便许多,这里记录一些遇到的问题:1、error: L6235E: More than one section matches selector - cannot all be FIRST/LAST 工程里面加入了多...

2019-03-18 17:44:08 771

原创 QT QThread 多线程操作

在QT中,QT应用程序所在的线程为主线程,也称为“GUI线程”,QT GUI必须运行在此线程上;而非主线程称为“工作者线程”,主要处理从主线程中卸下的一些工作,例如数据的同步访问等。需要明确的是,同一个进程的不同线程之间共享相同的地址空间。什么时候应该使用线程? 如果一个应用程序需要处理一些耗时的数据计算时,应该用一个独立线程来做这些运算,这样用户可以提前中断或者暂停数据处理...

2019-03-11 17:05:25 8230 1

原创 Linux私房菜基础篇 笔记

Linux工作调度的种类1、例行性的工作,每隔一定周期需要办的事项,通过crontab设置2、突发性工作,at可以处理仅执行一次就结束调度的命令Linux常见的例行性工作进行日志文件的轮替(log rotate) 日志文件分析(logwatch任务) 更新locate的数据库 RPM软件日志文件的新建与更新 删除临时文件crontab解析crontab -e 编...

2019-03-11 17:04:58 100

原创 嵌入式Linux学习(四)了解BootLoader

BootLoader的定义BootLoader是一段上电时便开始执行的代码,主要完成初始化硬件设备、准备好软件环境以及调用操作系统内核等任务。BootLoader的操作模式1、启动加载 一般用于产品发布时,上电后BootLoader便从板子上的某个固态存储设备上将操作系统加载到RAM中执行2、下载模式 开发人员可通过串口或网络连接等手段从主机下载文件,...

2019-03-11 17:04:33 323 1

原创 STM32 USB 学习

USB硬件接口1、Type —— Type A(普通PC端)、Type B(USB设备的接口)、Type C(属于USB3.0)2、Mini —— Mini A、Mini B(数码相机、移动硬盘等移动设备)3、 Micro —— Micro A、MicroB(手机等移动设备),属于USB2.0USB模式1、USB HOST模式2、USB OTG U...

2019-03-11 17:03:58 2944

原创 《百年孤独》读书笔记

近来大半个月几乎都是阴雨天,我在随处可感知潮湿空气的房间里读完了《百年孤独》。因为是第一遍看,看的很混乱,书中不断重复的人名以及荒诞的情节让我迫切想得知这个百年家族最后的命运,整个阅读过程可以算得上囫囵吞枣了。 也许正是这种模模糊糊的阅读感官,让我读完后隐约能感受到这个百年家族里每个人身上的共同特点 —— 终其一生与孤独奋斗、相伴。所有的阿尔卡蒂奥都是强壮、重视肉欲、有掌控欲...

2019-03-08 16:08:50 1459

原创 继承于QObject 的多线程实现

QT中的多线程操作有两种方法可以实现,一种是直接使用官方的QThread,通过重写QThread::run()方法实现线程处理;另外一种则是通过继承QObject类的对象,将其实现函数movetoThread()实现。QThread类中的几个官方函数和信号的作用 QThread::exec() —— 使线程进入事件循环状态,并处于wait()状态,直到调用ex...

2019-03-04 15:41:57 917 1

原创 Ubuntu 修改用户UID为0后无法识别root和用户账号解决办法

看鸟哥私房菜时讲到多个用户可以有相同的UID,且如果将用户UID改成0后则用户拥有和root一样的权限,于是我试验了一下,修改/etc/passwd文件,将我登录的用户yhl的UID改成0(和root的UID相同),这一改就出问题了,当我在终端退出登录再重新用root/yhl账号登录的时候系统提示识别不了用户名,而且我的yhl账号也并没有修改/etc/passwd的权限,重启Ubun...

2019-03-01 14:46:22 3061

原创 嵌入式Linux学习(四)用c语言点亮LED

硬件初始化1、关闭看门狗2、初始化时钟3、初始化SDRAM 启动文件需要完成的任务1、设置main函数的返回地址2、调用main函数          3、设置栈(将sp指针指向某块内存)4、清理工作 自行编写启动文件@************************************************.text.global _s...

2019-01-28 16:56:43 904

原创 嵌入式Linux学习(三)点亮LED

ARM裸机程序在Linux平台上的开发步骤1、编辑源文件(Source Insight、Notepade++)2、交叉编译(arm-linux-gcc)3、烧写程序(Open JTAG、oflash) 点亮LED需要做的1、配置LED对应管脚为输出2、将该管教设置为低电平 汇编文件编写如下@*********************************...

2019-01-28 15:21:02 1006

转载 VMware虚拟机三种网络连接模式

https://note.youdao.com/ynoteshare1/index.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note#/

2019-01-24 15:45:10 119

原创 嵌入式LInux学习(二)JZ2440恢复出厂设置

PC机与嵌入式LInux设备上电后的区别 嵌入式LInux设备的Flash基本分区,以JZZ2440举例 进入uboot使用mtd命令可以查看分区情况    BootLoader  ——  256k    Params ——  128k    Kernel ——  2M    Root —— 剩余部分 通过uboot校准屏幕   执行 rm et...

2019-01-24 15:11:45 2157

原创 嵌入式LInux学习(一)熟悉JZ2440开发板以及烧写工具

学习视频:韦东山嵌入式LInux开发1期 op/eop   ——  Open JTAG/easy Open JTAGJTAG用于下载程序,但下载速度较慢如果板子上已经有板上程序,且该程序支持USB转串口下载程序则可用串口下载,速度较快 串口与板子通信测试    启动Ubuntu上的minicom并配置好参数(波特率115200,无流控制)    $sudo mini...

2019-01-24 11:29:23 952

原创 Makefile规则

Makefile的语句规则      目标:先决条件          (Tab键)命令 Makefile变量引用方式      $(VARIABLE_NAME)或${VARIABLE_NAME} Makefile变量定义1、递归展开变量   可被其他版本的make所支持,且该类型变量在定义时,可引用其他的之前没有定义的变量,定义方式为"="或"define"...

2019-01-23 11:09:01 171

原创 诗人的眼泪(曾轶可)

诗人的情结谁能摸得清专一的滥情怀疑着相信眼神和心不一定公平蜜蜂和花不定谁甜蜜了谁男和女不定谁伤害了谁我和你不定谁更爱谁当你以为我多么爱你那时我只是沉迷游戏蜡烛和玫瑰有多浪漫也不过是随心情而已当你以为你是我唯一那时我只是孤单到底诗句和信有多赞美你也不过是我爱自己当你以为我已经抽离我偷偷陷入了沼泽里如果感到一丝疼痛我化成笑意当你以...

2019-01-16 17:23:52 428

原创 Ubuntu FTP服务器配置与应用

   一、基本概念介绍     FTP(File Transfer Protocol)文件传输协议,用于控制文件的双向传输,同时也是一个应用程序,可以实现在主机间共享文件,它属于ISO网络结构中的应用层。    当启动FTP从远程计算机复制文件时,事实上启动了两个程序:一个是本地机上的FTP客户程序,它向FTP服务器提出复制文件的请求;另一个是启动在远程计算机上的FTP服务器程序,响应客户...

2019-01-16 16:43:57 1613

原创 Linux autotools的使用

autotools系列工具可以帮助用户轻松地生成makefile文件,用户只需输入简单的目标文件、依赖文件、文件目录即可一个简单的实例新建两个源文件hello.c  display.c  display.h,其中hello.c中include "display.h",display.c中定义了显示函数display1、在源文件所在的目录下输入命令autoscan,它会搜索源文件以寻找一...

2019-01-15 12:00:20 214

原创 《深入理解计算机系统》读书笔记(四)处理器体系结构

指令集体系结构(Instruction-Set Architecture,ISA):一个处理器支持的指令和指令字节级编码 指令的字节编码    第一个字节表明指令的类型:高4位是代码部分,低4位是功能部分 时序电路   时钟寄存器(寄存器)  ——  存储单个位或字,时钟信号控制寄存器加载输入值   随机访问存储器(内存) ——  存储多个字 将处理组织成阶段...

2019-01-15 09:31:36 187

原创 《深入理解计算机系统》读书笔记(五)优化程序性能

妨碍程序优化的因素1、两个指针可能指向同一个位置,因此不能进行简单的优化,否则会产生和原程序不一样的结果2、函数调用,当函数调用次数对某个全局变量的值有影响的时候就不能简单地进行优化     可行的优化:内联函数替换,但会导致调试和代码剖析无法达到预期的效果 衡量程序性能的参数   每元素的周期数(Cycles Per Element,CPE) 适当消除妨碍程序优化...

2019-01-15 09:31:08 190 1

空空如也

空空如也

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

TA关注的人

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