- 博客(65)
- 资源 (16)
- 收藏
- 关注
转载 c语言--__attribute__ (at())地址定位
可以发现添加后,RO Data 的大小发生了变化,即定位后 FLASH 的空间占用加大,并且打开 bin 文件,可以发现中间部分由全 0 填充。绝对定位不能在函数中定义,局部变量是定义在栈区,栈区是自动分配、释放,不能定义为绝对地址,只能于函数外定义;:用来设置变量的绝对地址,指定某个变量处于内存或 FLASH 里面的某个给定的地址。定位到 flash 中,常用于固化信息,例如:设备的出厂信息,FLASH 标记等;:用来指定变量或结构位域的特殊属性,关键字后的双括弧中的内容是属性说明;
2024-06-05 13:57:46
1057
1
原创 正确理解Widget::Widget(QWidget *parent) :QWidget(parent)这句话
大家从上面可以看出,如果parent参数非空的话,那么该构造函数使用了其父窗口的调色板,并且发送了QChildEvent事件,这会让新的窗口成为parent所指窗口的子窗口,那么当父窗口被删除时,子窗口也会自动的被删除。细心的同学,可能早就发现了,初始化列表中的Base(val)正是调用了我们Base基类的有参构造函数,而这样的写法就刚好是我们开头代码中的那段。2 上方代码定义了一个BaseChild类,并继承Base类,同样的,它也定义了两个构造函数,一个默认,一个有整型参数。请大家看下面的一个例子。
2024-05-26 22:30:01
380
原创 Qt编译QScintilla(C++版)过程记录,报错-lqscintilla2_qt5d、libqscintilla2_qt5找不到问题解决
然后解压后,可以看到里面有很多文件,其中安装的目录和源码在Qt4Qt5文件夹下,在这个文件夹里面使用qmake运行里面的.pro文件,就可以生成makefile文件,然后使用make或者nmake工具运行makefile文件即可。:有多个版本,而2.12及其以后的版本,不再支持Qt4和Qt5了,所以源码中没有QT4QT5这个目录了。这样就完成了release版本的安装,可以使用release版本编译了,最主要是输出了以下两个文件,会自动把编译的动态库放在Qt的lib 、bin路径下。
2024-04-02 14:18:01
900
转载 Qt程序打包发布方法(使用官方提供的windeployqt工具)
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。以官方 Qt 5.4.0+MinGW 开发环境为例,windeployqt工具在 %QTDIR%\Qt5.4.0\5.4\mingw491_32\bin 目录下,其中 QTDIR 是 Qt 的安装目录,是环境变量。
2024-02-27 15:25:55
312
原创 Keil 编译输出信息分析:Program size: Code, RO-data , RW-data, ZI-data
一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM,RAM 相当于内存,Flash 相当于硬盘。编译器会将一个程序分类为好几个部分,分别存储在 MCU 不同的存储区。如图所示,在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息。
2023-12-12 22:13:27
4020
原创 STM32堆栈方面知识点
_initial_sp 这个参数是栈顶地址,因为栈的增长是向下增长,所以这个参数我们可以理解为栈的起始地址,我设置的栈尺寸是0x400,所以栈的地址范围是 __initial_sp ~ (__initial_sp - 0x400),__initial_sp 这个参数是keil编译代码之后计算出来的,有多种方法确定。(3)如果运行freertos时,在任务里调用函数时,此时这个函数中内部的变量是存放在freertos分配的内存中,而不是栈里。(7)堆是从底部向上增长,堆栈是连接在一起的。
2023-05-30 18:29:50
6483
原创 CAN通信注意细节
1、星型线最好要等长,线路较长的话星型首末端都加电阻,根据线路长短可适当调整电阻值,单电阻一般不要低于为120R,线路较短可适当加大电阻,电阻阻值可以通过示波器两个探头求差分信号看显性电压确认阻值,5vcan一般在2.5v差分电压比较合适,3.3V一般要超过1.5V比较合适。2、链式收尾加120R电阻(最远端和最近端),链路较短也可通过示波器确定电阻值,同星型测试方式一致。...
2022-07-29 14:09:28
3570
转载 CAN通信错误处理机制
CAN节点在发送错误计数器或接收错误计数器大于127时,CAN节点将进入“被动错误”状态,并发送错误帧(6个连续隐性电平位+8个连续隐性电平位)。当发送错误计数器大于255时,CAN节点将进入“总线关闭(Bus_Off)”状态,脱离CAN总线,不影响其他CAN节点的通讯。正常情况下,CAN节点处于主动错误的状态,在主动错误状态下发生错误时,发送错误帧(6个连续显性电平位+8个连续隐性电平位)。CAN节点的状态,从这个寄存器可以了解CAN节点在哪个错误状态(主动错误或被动错误)。...
2022-07-29 11:15:14
5931
原创 keil , Debug菜单 - Reset菜单选项(Autodetect/HWreset/sysresetReq/Vectreset)含义
jlink debug详解
2022-07-19 23:48:06
1046
原创 keil , Debug菜单 - Reset菜单选项(Autodetect/HWreset/sysresetReq/Vectreset)含义
1、Reset — HW RESET英文含义:performs a hardware reset by asserting the hardware reset (HW RESET) signal.中文含义:复位-硬件复位通过置位硬件复位(HW RESET)信号来执行硬件复位。2、Reset — SYSRESETREQ英文含义:performs a software reset by setting the SYSRESETREQ bit. The Cortex-M core and on-chip
2022-03-06 13:28:50
6094
转载 remote: error: File: MB, exceeds 100.00 MB.git push提示我文件大于100m处理方法
有一次我写好项目想将项目上传到gitee上的时候,出现了这个错误。其实就是其中有一个文件太大,超过了100M导致的。网上看了很多帖子,踩了很多坑弄了一下午都没有解决,最后还是直接求助官网解决了。贴出来避免其他人也犯了类似的错误解决方案1. 查看哪个文件超过了100M有可能错误直接爆出是哪个文件,也有可能只是爆出了该文件的代号。如果是代号需要先使用该语句查询具体是哪个文件$ git rev-list --objects --all | grep xxx2. 从缓存中删除$ git fil
2022-01-16 19:48:20
9254
4
原创 线性回归,最小二乘法 C语言实现
1. 前言最近断断续续重温了一些数学书,有高等数学,也有初等数学。有时候,觉得数学才是世界上最美的东西,但有时候又觉得数学很高冷,不接地气。不过,前段时间工作中用到了最小二乘法,下面记录一些用法。2. 最小二乘法根据维基百科的说明:最小二乘法 (又称 最小平方法 )是一种 数学 优化 技术。它通过最小化 误差 的平方和寻找数据的最佳 函数 匹配。利用 最小二乘法 可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。看了之后一头雾水对不对,是的,任.
2021-10-25 11:09:43
2845
1
原创 ubuntu 18.04 出现 started user manager for UID 121问题原因及解决办法
第一章 ubuntu 18.04 出现 started user manager for UID 121问题原因及解决办法1.当开机后ubuntu出现UID121后按下:Ctrl+Alt+F2 进入tty2模式:输入用户名和密码2.输入 : df -h 查看磁盘使用情况,若/dev/sda1 已用为100%,则需删除磁盘内一些大文件(下面的是我已经处理好了,如何删除:rm -r 文件目录/文件名),直至为95%左右,此时可以正常启动ubuntu了。3.进入ubuntu后,最好增加/dev/sda1
2021-10-04 20:12:59
13478
10
转载 正点原子ESP8266通过Air-LINK模式无法接入机智云的解决方案
移植机智云的代码到STM32C8T6上,利用正点原子的ATK-ESP8266接入机智云,通过串口发现日志返回的信息如下,这里我们是进入的Air-LINK模式配网,利用手机一键配置,发现连接超时,无法连接到我们的模块。于是我尝试使用AP模式来配网,修改程序如下gizwitsSetMode(WIFI_SOFTAP_MODE);//AP 模式接入然后我们再配网模块就会创建一个名称为:XPG-GAgent-XXXX的热点,默认密码为123456789,此时通过手机端的机智云APP选择热点配置,输入热点名称
2021-05-16 10:12:57
2616
2
原创 ESP8266接入机智云并将机智云生成的代码移植到自己的工程中教程
烧写固件到ESP8266将模块通过串口接入电脑,串口TX接模块RX,RX接模块TX,同时需要将8266的KEY引脚接高,。 USART_SendData(USART3,buf[i]); while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕 if(i >=2 && buf[i] == 0xFF)
2021-05-15 14:13:12
2661
13
转载 32位编译器和64位编译器各类型所占字节数以及strlen和sizeof的区别
可用如sizeof(char),sizeof(char*)等得出32位编译器: char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 4个
2021-05-07 20:17:04
1733
原创 共用体和结构体的区别(Union和typedef区别)
通过前面的讲解,我们知道结构体(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员。在C语言中,还有另外一种和结构体非常类似的语法,叫做共用体(Union),它的定义格式为:union 共用体名{ 成员列表};共用体有时也被称为联合或者联合体,这也是 Union 这个单词的本意。结构体和共用体的区别在于:结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。结构体占用的内存大于等于所有成员占用的内存的总和
2021-04-29 15:44:32
55766
1
转载 int const *和int * const以及const int * const的区别
int const *是一个指向常量整数的指针指向了一个不能被修改的值但是指针指向的地址可以改变const在数据类型的一侧,所以可以放在int的前面const int *,(从c++ prime了解到)#include <stdio.h>int main() { const int q = 5; int const *p = &q; // 等价于 const int *p1 = &q; const int q2 = 7;
2021-04-29 15:34:53
1065
原创 常见编程软件注释 @brief @param @return
/*** @brief @param @return @author @date @version是代码书写的一种规范* @brief :简介,简单介绍函数作用* @param :介绍函数参数* @return:函数返回类型说明* @exception NSException 可能抛出的异常.* @author zhangsan: 作者* @date 2011-07-27 22:30:00 :时间* @version 1.0 :版本 * @property ...
2021-03-27 19:58:32
107009
1
原创 typedef struct和struct的区别
typedef 声明结构体typedef struct tagMyStruct{ int iNum; long lLength;}MyStruct;这语句实际上完成两个操作:1 . 定义一个新的结构类型struct tagMyStruct{ int iNum; long lLength;};分析:tagMyStruct称为“tag”,即“标签”,实际上是一个临时名字,struct关键字和tagMyStruct一起,构成了这个结构类型,不论是否有typed
2021-03-27 19:03:55
405
原创 解决vs code 内置终端,字体间隔过大问题。(ubuntu18.04成功)
去文件-首选项-设置里修改。“terminal.integrated.fontFamily”: “”注意此处默认为空白,所以显示的就比较奇怪。此处我改为"terminal.integrated.fontFamily": “monospace”,其实随便添一个字体即可,我写的linux都有的等线字体monospace,windows,mac你随便填一个系统有的吧。...
2021-03-15 11:39:35
1506
1
转载 通用数字滤波算法
在仪表自动化工作中,经常需要对大量的数据进行处理,这些数据往往是一个时间序列或空间序列,这时常会用到数字滤波技术对数据进行预处理。数字滤波是指利用数学的方法对原始数据进行处理,去掉原始数据中掺杂的噪声数据,获得最具有代表性的数据集合。数据采样是一种通过间接方法取得事物状态的技术,如将事物的温度、压力、流量等属性通过一定的转换技术将其转换为电信号,然后再将电信号转换为数字化的数据。在多次转换中由于转换技术客观原因或主观原因造成采样数据中掺杂少量的噪声数据,影响了最终数据的准确性。为了防止噪声对数据结果的影响,
2021-03-14 22:32:08
1156
转载 Vmware 虚拟机三种网络模式、桥接、NAT仅主机工作原理及配置详解
原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note我怕链接会失效,故转载此篇文章由于Linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware workstations和virtual box等。在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而.
2021-03-13 16:49:02
2008
转载 typedef函数指针用法
1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表)char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); }第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。第二行定义了一个函数gl
2021-03-11 16:37:56
119
原创 ubuntu18.4中遇到libgstreamer-0.10.so.0找不到解决方案(装Qt时遇到的问题)
问题:error while loading shared libraries: libgstreamer-0.10.so.0: cannot open shared object file: No such file or directory解决方案,使用终端按序执行以下命令:1)wget http://ftp.ca.debian.org/debian/pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1.5_amd64.deb2)wge
2021-03-08 12:47:50
1118
原创 Ubuntu使用apt-get删除软件
1.打开一个终端,输入dpkg --list ,按下Enter键,终端输出以下内容,显示的是你电脑上安装的所有软件。2.在终端中找到你需要卸载的软件的名称,列表是按照首字母排序的。3.在终端上输入命令sudo apt-get --purge remove 包名(--purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudo apt-get remove 包名) ,此处我要删除的是polipo ,那么在终端输入sudo apt-get --purge re
2021-03-08 11:58:06
1408
原创 Linux之Netem模块
第一章:概念篇Netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。使用 Linux 2.6 (或以上) 版本内核的很多发行版 Linux 都开启了该内核功能,比如Fedora、Ubuntu、Redhat、OpenSuse、CentOS、Debian等等。tc 是 Linux 系统中的一个工具,全名为traffic control(流量控制)。tc 可以用来控制 netem 的工
2021-03-08 09:58:50
2356
原创 湖北广电机顶盒(九联HDC-2100K)安装第3方app保姆教程
写这篇的原因,家中1台设备,父母需要看广电的电视频道节目,偶尔自己也看看腾讯视频什么的,用的是九联2100K,和另外的TV盒子,一直两设备来回切换在本坛区,看见有之前高人smartpc; 857563252a; bi4qeu的帖子,可以root2100K,也可以安装其它app,顿时来了精神,,实在不想来回麻烦切换设备,但是高人857563252a在帖子中说了基本思路和方法,但我等小白没有经验,看得一愣一愣周末在家闲来无事,帖子前后翻了个遍,终于下手一试,根据高人指导说明,自己幸运成功破解安...
2021-01-28 18:05:59
73681
11
原创 ubuntu卡在开机页面无法进入系统解决办法
问题描述:在启动时到了登录界面后,输入用户名和密码,系统黑一下屏又回到了登录界面,怎么也进不去?问题原因:在网上查找了一些资料以后发现是自己修改了环境变量以后造成到缘故。事实上今天在搭建ubuntu下ARM平台到时候修改过了环境变量。操作如下:sudo vi /etc/profile然后在文件末尾加上export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin这么
2021-01-26 22:19:25
4844
2
原创 Qt 5.5.0 Windows环境搭建
1)訪问官方站点:http://www.qt.io/download-open-source/2)选择离线安装包3)选择 Windows 离线安装包(32 位或 64 位都可用,Windows 64位向下兼容 32 位,无所谓 32 位或 64 位)此版本号已上传到百度云盘,请点此链接下载:http://pan.baidu.com/s/1bn9Bcdx4)安装软件包双击软件包就可以安装。开头有个Qt账号注冊信息,直接跳过就可以,默认配置,一路“下一步”安装。...
2021-01-22 12:19:55
277
转载 结构体字节对齐,C语言结构体字节对齐笔记
结构体内存默认分配问大家一个问题:struct STUDENT{ char a; int b;}data;如上结构体变量 data 占多少字节?char 占 1 字节,int 占 4 字节,所以总共占 5 字节吗?我们写一个程序验证一下:# include <stdio.h>struct STUDENT{ char a; int b;}data;int main(void){ printf("%p, %p\n", &data
2020-07-31 14:17:53
308
转载 STM8芯片加密的方法
首先打开stvp软件,然后选择芯片型号,装载程序,然后就可以进行芯片烧写了单击“All tabs”烧写程序 程序正在烧录,请耐心等待。。 程序烧录完成,单击“OPTION BYTE”菜单进入设置 然后将ROP 的Read Out Protection OFF选项设成Read Out Protection ON 设置完成 回到STVP菜单,单击“Program”,选择Current tab选项,进行设定 在下面..
2020-07-24 13:57:34
1006
原创 STM32 移植FreeModbus详细过程
modbus是一个非常好的串口协议(当然也能用在网口上),它简洁、规范、强大。可以满足大部分的工业、嵌入式需求。这里详细说下如何将freemodbus移植到stm32平台。我之前下载的版本是1.6,我会在我的下载链接里面加上1.6的freemodbus压缩包以及我已经移植好的stm32 for freemodbus版本。我上传的移植好的绝对没问题,经过多个板子测试。这里编译器使用的是keil5.28,单片机用的是STM32F103RCT6。移植到VET6以及ZET6的话只需要改一下选择的芯片就好,改法:
2020-07-20 11:30:56
79143
40
原创 stm32f103rct6的代码移植到stm32f103c8t6教程
目前市面上见的较多的STM32单片机一般都是开发板,由于这些开发板又很丰富的例程,因此使用起来非常方便,但是我们实际在应用的时候,有时候可能用不了那么多的管脚,因此会造成管脚资源的浪费,而且管脚多的成本也会很高。同时这些STM32单片机的基础的库基本都是一样的,因此理论上来说,应该是可以进行移植的,博主今天来分享一下代码移植的方法。本次采用stm32f103rct6的代码移植到stm32f103c8t6。其他STM32单片机之间的移植方式和这个类似,大家要学会举一反三。博主在做一些项目的...
2020-07-19 17:18:27
45864
5
移植机智云平台测试.zip
2021-05-16
湖北广电机顶盒(九联HDC-2100K)安装第3方软件附件.zip
2021-01-28
stm32 for modbus.zip
2020-07-20
mfc写串口,COM口读取注册表法.txt
2020-02-26
mfc写串口,COM口采用查询方式.txt
2020-02-26
mfc写串口测试程序.txt
2020-02-26
microsoft communication controls versions 6.0.zip
2020-02-24
ESP8266连接阿里云物联网教程.txt
2020-02-15
esp8266连接阿里云物联网教程.txt
2020-02-02
Altium PCB Logo 导入图片脚本
2018-12-25
普中51仿真器以及驱动使用说明书,在这上面遇到问题的都可以来看看,基本上可以解决你的问题
2018-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人