自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (2)
  • 收藏
  • 关注

原创 QT开发用哪个版本?

采用QT开发,需要有基于Windows和嵌入式的应用场景,采用哪个版本?各有什么优缺点?1、哪些是长期维护版本?2、QT5和6比较成熟和资料比较多的是哪个版本?3、知识产权的解释有哪些?回答:1、Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的(很多嵌入式板子还是用Qt4.8)

2024-04-15 13:52:14 166

原创 STM32F429内存管理实验中的疑问

2、内存管理控制器的 定义的是一个一维数组 uint32_t *memmap[SRAMBANK],包含3个地址,作为3块内存管理表的首地址,能通过二维数组的方式访问mallco_dev.memmap[memx][i]1、针对正点原子F429的内存管理中的,内存释放函数,理解应该是释放从指针开始,一直到内存起始地址的所有已经申请的内容区域,但是实际的测试效果事,通过内存占用函数测试并没有完全释放,立Flag,后续弄清楚了回复。

2024-04-08 15:09:30 135

原创 C语言中__attribute__的含义

_attribute__的作用主要指定变量、结构体和数据类型的内容 地址、对齐方式、所处的段位置的功能。内存池的位置及大小设置时,用到了下面的语句,__attribute__的含义需要解析。关于__attribute__的详细语法使用,大家参照CSDN上。1、提高运行效率,避免由于对齐造成的数据存储器访问大量耗时;2、优化内存使用情况,避免造成过大的内存需求,降低硬件成本;3、外扩数据存储器时,需要用到该指令,进行内存的分配。1、变量按照32个字节的对齐方式进行分配;

2024-03-29 11:52:14 141

原创 嵌入式内存管理的含义及实现

内存在嵌入式领域的含义应该是数据存储器,从汇编语言学习嵌入式开始的一代人,例如70后、80后,对嵌入式系统的数据存储器具有比较深刻的认识,不论是学生时代的考试准备,还是工作后的应用开发,如果涉及到汇编的时候,数据存储器、位寻址,存储单元的地址的概念都是比较清楚的。内存的使用是动态的,根据函数的调用,特别是中断(通信中断)对内存的需要是动态的,如何监视内容使用情况,并进行内容分配?1、如果不进行内存管理,编译软件如何使用内存,内存究竟需要多大,如何评估开发板需要多大的内存,是否需要外扩数据存储器?

2024-03-28 11:30:08 191

原创 4*4键盘扫描程序如下,KEY13一直无效,应该没有问题,很有趣的现象。

4*4键盘,有一个键一直无效,硬件没有问题,肯定是软件的问题,因为用软件独立测试也没有问题,很有趣,记录下来,就跟魔术解密一样,趁还没有解密,记录一下,找到问题了就索然无味了。源代码如下u8 KEY_Scan(void) { u8 KEY=0; H1 = 1;H2 = 0;H3 = 0;H4 = 0; if(L1==1||L2==1||L3==1||L4==1) { delay_ms(5);...

2020-06-08 11:23:46 179 1

原创 switch语句的使用,为什么不做比较直接进入CASE语句了

switch语句进行安检值的判断,按键值为任何值时,都能进入case 4语句,很奇怪的现象,如下图所示,更改CASE条件也是同样能够进入。刚开始怀疑是MDK环境不是标准c环境,但是好像不是这样的,标记一下,后续贴上解决方案。...

2020-04-30 14:42:49 589

原创 C文件在MDK中中文显示不一致的问题

同样的代码,其中的中文字符在不同的.c文件中显示不一致,花了大半天时间去解决,标记一下。由于用到EMWIN中的GUIBUILER导出的C代码,我用记事本打开修改了,然后再导入MDK中造成的问题。...

2020-04-24 15:04:47 315

原创 hostlink调试的奇怪问题

问题描述:1、调试欧姆龙PLC的hostLINK通信接口,发送的数据一直会多出来问号,如下图所示,我发送的数据和我接受到的数据不一致串口软件接收到的数据如下图所示,  在“”“@”后面多出了"?" 2、用串口软件的发送和接收测试如下图所示,一切正常用串口软件发送和接收测试,正常期待问题解决后的答案。 ...

2018-09-04 10:41:56 1095 1

原创 全局数组的定义、声明和使用

如果需要使用一个全局数组,那么可以这样做,在a.c中定义一个数组 u8 test[]; 在a.h中进行声明 extern u8 test[];如果需要在b.c中对数组操作,那么b.c中包含头文件即可,我是这么理解的,也是这么做的,可是编译的结果exti\exti.c(175): error:  #70: incomplete type is not allowed。查资料查了半天,查问题,最后是这

2018-01-26 14:17:34 17873

原创 结构体指针错误造成MDK运行时的硬件错误报警及解决

我要用到一个函数void  GUI_DispStringInRect     (const char GUI_UNI_PTR * s, GUI_RECT * pRect, int TextAlign);这是emwin的一个系统函数,第一个参数指向一个字符串,第二个参数指定一个矩形区域,第三个参数指定显示时候对齐方式。GUI_RECT定义如下typedef struct { I16 x0,y0,x1

2017-05-07 12:43:24 1291 1

原创 static的用法

static经常用来修饰变量,主要有2种用法,静态局部变量,静态全局变量。静态全局变量跟全局变量的区别:静态全局变量仅仅作用于当前 文件,静态变量作用于整个工程,即使其他文件进行声明,也是不能使用的。静态局部变量跟 局部变量的区别:1、局部变量在函数创建时分配存储地址,函数结束则释放,静态局部变零只在第一次调用该函数时分配内容,后面再调用时直接用,而且局部静态变量的值能够被上次调用时候

2017-03-05 11:09:28 332

原创 用寄存器建立工程模板无法下载现象及解决办法

问题描述:不利用库函数,直接利用寄存器建立工程模板时,编译过程没有错误,下载程序是提示如下:(服务器错误不能上传)Flash download failed解决办法:在target option->ulity下重现配置,回头修改这篇博客,补充上图,估计是MDK的bug,再编译下载就没问题了。郁闷的现象及问题

2017-02-27 16:25:12 172

原创 库函数建立工程时容易犯的错误

用库函数建立工程模板时学生主要犯的错误如下:1、没有包含stm32f10x_conf.h  stm32f10x_it.c stm32f10x_ic.h这几个文件,提示的错误是找不到stm32f10x_conf.h 文件,文件位于标注库文件夹下面的STM32F1xx固件库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Pr

2017-02-27 15:46:23 297

原创 c语言关键字volative的作用

在嵌入式开发中经常见到这样的关键字 __IO,用来对单片机的IO引脚、寄存器等变量进行声明,通过追踪其定义,发现 __IO实际就是关键字 volative  . 如果一个变量声明时候用到关键字volative ,那么以后每次用到该变量都要从其物理地址直接读取,不能利用原来的数据,主要是避免编译器优化的原因和外部造成的变量改变,举例如下:void divv(int a,b){int c,

2017-02-14 12:22:05 413

原创 MDK安装时Windows版本问题

如果keil MDK5运行过程中关机,特别是在WIN7 WIN8 WIN10等高版本用运行时,鼠标右键KEIL图标,修改兼容性,如下图所示

2017-02-13 16:18:26 703

原创 MDK5.14仿真时驱动文件的设置

用MDK5.14进行仿真时,驱动文件既DLL文件的设置,必须要跟你芯片厂家、型号要一致。例如我选择的是STM32F103RC,则驱动文件设置如下图,为什么这么设置,我认为应该是芯片的型号的原因,我也是从一个书上看到的,个人认为不用深挖原因,不同的厂家的芯片肯定是有不同的,必须要告诉编译器,要不就没有办法仿真了,这些驱动文件有可能是芯片厂家提供的,KEIL给这些驱动文件预留了一个导入的口而已。

2017-02-08 16:44:52 804

原创 error: L6236E: No section matches selector - no section to be FIRST/LAST.原因没有加载启动代码

KEIL编译STM32程序出现test.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.其原因很简单,就是没有加载启动代码,其格式是.s形式。加载上就可以了,希望帮到新手。编译之后没有报错。目录树中应该有个STM32F10X_HD.S的文件,忘了加载,就出现这样的错误。

2017-02-08 16:06:45 1598

原创 MDK5.14安装遇到问题1:选择芯片

安装步骤1:安装;2,破解;3、安装PACK.,如果不安装pack包,则选择芯片时不能选择具体芯片。

2017-02-07 22:24:18 739

空空如也

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

TA关注的人

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