- 博客(31)
- 资源 (10)
- 收藏
- 关注
原创 EFM32在使用IAR开发环境配置ICf文件以及指定程序存储地址空间
EFM32在IAR开发环境下指定代码,数据的存储空间为了便于后续的项目升级,管理,需要对代码,数据的存储空间加以设定,也在网上找下相关的资料,笔者水平有限,如下内容不一定完全正确,如有错误之后,还望帮忙纠正.首先,有必要了解一下IAR开发环境的ILINK,IAR的版本要在IAR5.xx以后,本人是在IAR6.21版本之上调试,目前我也将版本更新到6.50了,推荐使用IAR更新版本的.
2013-12-02 23:34:50
6741
原创 EFM32小记----定时器配置为捕获、比较以及PWM输出注意事项
定时器用做捕获输入、比较输出,或者是PWM波形输出,应该是任何一款单片机最为常用的功能之一了,对于EFM32的单片机也同样如此,下面我们看看具体如何配置:首先,相信接触过的都知道下面这个软件了吧,这里不做介绍。在API Documentation里面我们可以非常容易的找到TIMER_Init_TypeDef这个结构体,并且对其中的字段进行初始化操作,主要操作时钟的分频数,计数模
2013-11-11 00:04:54
4458
原创 EFM32芯片被锁解决方法
调试EFM32程序的时候,刚突然出现调试软件(JLINK或者energy AwareCommander)无法识别芯片有如下显示: 那么出现这种情况你如果排除掉硬件连接上没有问题的话,就应该考虑是不是芯片被锁了,另外对于板外的EFM芯片话还需要硬件的连接,接口如下:例如:EFM32TG110F32芯片的部分接口如图:具体方法参考如下:1. 概述EFM32
2013-10-17 22:55:48
5658
转载 assertEFM的使用
assertEFM使用小结如果使用过EFM32的CMSIS库,那么肯定也看到过EFM_ASSERT这个宏,几乎无处不在。1. 这个宏定义在哪里,函数原型是什么?这个通过goto 函数定义,应该很容易找到EFM_ASSERT是一个空函数或则是assertEFM()函数。由另外一个宏定义来决定。2.assertEFM()函数中的const char *file, int
2013-10-10 13:39:41
891
转载 Linux命令行上删除除了某个文件之外的所有文件
不知你是否想过在Linux命令行上,如何实现删除除了某个文件之外的所有文件?如abc文件夹下有a、b、c三个文件,如何一行命令删除b和c,不删除a。有位童鞋在工作经常有此需求,本文将介绍其他童鞋提供的实现方法。其中rm -f !(a) 最为方便。如果保留a和b,可以运行rm -f !(a|b)来实现。不过一般bash中运行后会提示“-bash: !: event not fo
2013-07-19 10:54:58
946
转载 Vim编辑器命令详解
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx 开始记录宏,并将结果存入寄存器xq 退出记录模式@x 播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,
2013-07-15 19:43:50
707
原创 U-BOOT顶层MAKEFILE详解
U-BOOT顶层MAKEFILE详解1) U-Boot配置过程# (C) Copyright 2000-2006# Wolfgang Denk, DENX Software Engineering, wd@denx.de. # See file CREDITS for list of people who contributed to this
2013-07-10 21:41:38
2132
原创 GEC2440开发板用J-LINK烧录uboot
GEC2440开发板使用J-LINK烧录UBOOT也不知道怎么弄的、把之前的uboot给覆盖掉了,现在就是启动不来了。以前用并口和Flash烧写工具烧录的,不过现在换了环境了 找不出并口了,这个方法肯定没辙了,正好,有个J-LINK,那就用J-LINK吧,废话不多说了,我们直接看看具体操作过程吧。1、 连接串口和J-LINK到开发板、将开关拨到NOR Flash一端,然后,打开
2013-07-05 19:09:21
1366
原创 Trip Planner客户端的实现
Trip Planner客户端的实现QTcpSocket和 QTcpServer类可以用来实现TCP客户端和服务器,TCP是一个基于流的协议,对于应用程序,数据表现为长长的流,而不是一个大的平面文件,在TCP之上建立的高层协议通常是基于行或者基于块的。 图1
2013-07-02 17:15:02
1268
原创 QT数据库的使用
下面我们将看到如何在QSqlTableView 窗口部件中显示QSqlTableModel,那么我们最终将看到下图所示的程序:Scooters应用程序 在这种采样SQLite的情况下,id字段的值都是由数据库自动生成的,而其他类型的数据库可能会使用不同的语法来完成。注意:再编译之前必须要在工程文件加上 QT += sql 否则编译错误,可能连接不到数据库Scoote
2013-06-27 19:58:07
1164
原创 QT图表应用程序的创建
对于QT自定义窗口部件,那么绘制一个或者几个项来说,QPainter肯定是最理想的啦,那么,但是如果需要处理从几个到几万的项时,而且用户能够单击,拖动和选取这些项的时候QPainter就变得不再适用了、那么QT视图类提供了这一解决方案。 我们先看下一些宏的定义以及成员函数的实现吧。Q_DECLARE_TR_FUNCTIONS()这是一个宏定义,主要用来完成tr() 和
2013-06-21 19:11:52
1304
原创 linux非集成开发环境下使用QT资源机制
之前在集成开发环境上只要稍微设置一下就可以使用QT资源机制了,那么到了Linux下并且不用集成开发环境(用vim编辑器)怎么来使用资源机制呢?其实这个和集成开发坏境下相差不大的,如果你打开看过你的资源文件XXX.qrc 你就会发现它是下面这种格式的。 images/bringtofront.png images/colors.png
2013-06-20 16:29:42
902
原创 子类化QWidget iconEditor实现<三>
接上一章 这里主要讲述鼠标左键和右键产生相应像素点变黑或者变白的效果即用来设置或者清空一个像素.主要一个是单击和移动时产生的效果void iconeditor::mousePressEvent(QMouseEvent *event){ if(event->button() == Qt::LeftButton) { setImagePixel(event-
2013-06-04 09:51:43
840
原创 子类化QWidget IconEditor实现<二>
接上一章 现在我们系统的来分析下IconEditor,下面是iconEditor.h文件的内容:#ifndef ICONEDITOR_H#define ICONEDITOR_H#include #include #include class iconeditor : public QWidget{ Q_OBJECT Q_PRO
2013-06-03 17:19:45
1086
原创 子类化QWidget IconEditor实现
现在我们从iconEditor构造函数入手:iconeditor::iconeditor(QWidget *parent) : QWidget(parent){ setAttribute(Qt::WA_StaticContents); setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
2013-06-01 21:51:20
1287
原创 QSpinBox子类化详解
关于QSpinBox的子类化的详解,下面先是:HEXSPINBOX.H文件里面的内容:#ifndef HEXSPINBOX_H#define HEXSPINBOX_H#include class QRegExpValidator;class HexSpinBox : public QSpinBox{ Q_OBJECTpublic:
2013-06-01 10:21:17
2106
1
转载 C变量的存储方式
变量可以分为全局变量、静态全局变量、静态局部变量和局部变量 按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区,局部变量存放在内存的栈区按作用域分:全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返
2013-05-28 19:43:48
608
转载 QT信号与槽机制
QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT 库的基础之上。QT 支持下列平台:MS/WINDOWS-95、98、NT 和 2000;UNIX/X11-Linux、Sun Solaris、HP-UX、Digital Unix、IBM AIX、S
2013-05-27 21:16:57
623
转载 Qt字符串QString arg()用法
QString 有多种方法,我慢慢总结中~~~~~~~~~~~~1、QString::arg()//用字符串变量参数依次替代字符串中最小数值Cpp代码 QString i = "iTest"; // current file's number QString total = "totalTest"; //
2013-05-21 11:42:07
2023
转载 C++中的虚函数(virtual function)
1.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public: virtual void foo() { cout };class B: public A{public: virtual void foo() { cout
2013-05-20 14:23:51
655
转载 函数后面加一个const的作用
声明一个成员函数的时候用const关键字是用来说明这个函数是"只读(read-only)"函数,也就是说明这个函数不会修改任何数据成员(object)。为了声明一个const成员函数,把const关键字放在函数括号的后面。声明和定义的时候都应该放const关键字。任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员
2013-05-20 10:57:57
1383
原创 QT资源机制的使用
今天做菜单栏的时候使用QT资源机制来插入图片,开始一直不能显示,弄了很久终于显示图片了,现在分享下QT资源机制使用过程: 首先需要建立resources文件,例如:application.qrc,打开application.qrc文件,将Prefix设置为/(当前目录吧),在addfile加入需要用到的后缀为.png格式的图片 然后,在.pro的工程文件中加入一行:RESOU
2013-05-17 20:40:40
1305
转载 C++ explicit关键字应用方法详解
C++ explicit关键字可以帮助我们用来进行构造函数的修饰。那么其具体的操作方法是如何进行的呢?在这里将会为大家一一介绍。AD:2013大数据全球技术峰会课程PPT下载C++编程语言中有很多比较重要的关键字在实际编程中起着非常重要的作用。我们今天为大家介绍的C++ explicit关键字就是其中一个应用比较频繁的关键字。下面就让我们一起来看看这方面
2013-05-13 16:27:52
647
转载 指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变
2013-05-09 16:09:31
528
转载 数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;
2013-05-08 16:33:21
532
转载 LINUX下修改分辨率
如果在Linux系统的X window界面(如GNOME或KDE环境)设置显示器分辨率时,如果在“显示”的设置里未出现当前显示器的最佳分辨率,通常可以通过在现实配置文件中加入Modes段的方法解决。具体如下:以root身份登录,打开配置文件/etc/X11/xorg.conf,找到Screen字段,即:Section "Screen" Identifier "Scre
2013-04-22 20:41:51
1466
转载 如何在Protel DXP中显示标题栏内容(转)
以前在Protel DXP设计原理图时,即使在原理图的文档参数里面设置了各种参数,如标题,日期,和设计人等,但是在右下方的标题栏的内容都不显示出来。查找了很多书籍或网上的文章都没有发现答案,今天忽然发现了其中的奥秘,特此和大家共享。 首先,执行Design-Document Option,打开文档属性对话框,设置其中title等参数。 其次,执行Place-Text String
2013-04-20 11:09:41
1513
转载 Linux下使用 xrandr 命令设置屏幕分辨率
最近在Linux下修改屏幕分辨率的时候,发现了一个非常有用的命令:xrandr使用这个命令,可以方便的设置您显示器的的分辨率。尤其是当你使用了一些需要或者会自动改动您屏幕分辨率的程序以后。您可以使用如下命令来将屏幕恢复到原来的分辨率:[www.linuxidc.com @localhost ~]$ xrandr -s 0其中的 -s 参数允许你指定屏幕的分辨率大小,参数 0 表示使
2013-04-18 12:41:25
4763
转载 STM32 SYSTick系统时钟初始化
1. systick介绍Systick 就是一个定时器而已,只是它放在了NVIC 中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。没有学过操作系统的同学,可能会很郁闷,啥叫滴答中断?这里来简单地解释一下。操作系统进行运转的时候,也会有“心跳”。它会根据“心跳”的节拍来工作,把整个时间段分成很多小小的时间片,每个任务每次只能运行一个“时间片”的时间长度就得退出
2013-04-13 23:28:36
4730
原创 STM32系统时钟的配置
(前部分为转载) 在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。①、HSI是高速内部时钟,RC振荡器,频率为8MHz。②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③、LSI是低速内部时钟,RC振荡器,频率为40kHz。④、LSE是低速外部时钟,接频率为32.768
2013-04-12 22:35:44
4005
原创 初学STM32工程建立
刚刚接触STM32这种单片机,之前学过了ARM 9(S32440),工作需要用这个,学起来倒也不觉得怎么难,那么就讲述下STM32这种单片机工程的建立!总体可以分为三大部分来看(便于理解): 第一步:文件夹的建立 1、 首先建立一个最大的工程文件夹命名为:STM32工程模板, 2、然后进入STM32工程模板文件夹,在里面继续新建文件夹:USE
2013-04-11 22:16:10
1111
IAR Embedded Workbench for ARM 6.50.3 破解补丁
2013-12-02
VC++6.0安装初始化工具
2013-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人