
1.在资源视图中,添加两个图标,分别为串口指示灯灭IDI_ICON1,串口指示灯亮IDI_ICON2。
2.在串口通信软件界面上添加图片控件,并利用类向导在对话框头文件中添加下面变量:
HICON m_hIcon_close//图片句柄关闭
HICON m_hIcon_open//图片句柄打开
CStatic m_Icon//指示灯图片控件关联控件变量
3.在串口通信软件BOOL CSchoolTimeDlg::OnInitDialog()函数中添加代码:
//导入指示灯图标
m_hIcon_open=LoadIcon(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDI_ICON2))
m_hIcon_close=LoadIcon(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDI_ICON1))
4.在串口指示灯需要打开位置添加代码:
m_Icon.SetIcon(m_hIcon_open)//打开指示灯
在串口指示灯需要关闭位置添加代码:
m_Icon.SetIcon(m_hIcon_close)//关闭指示灯
5.串口指示灯位图:
捷创源科技
微信公众号
用来分享Linux、Python、MySQL等技术教程
打开CSDN APP,看更多技术内容
proteus仿真stm32利用串口通信方式,实现对电路中指示灯的控制
proteus仿真stm32利用串口通信方式,实现对电路中指示灯的控制。 实现功能 发送小写字符“o”,开启指示灯LD2,发送小写字符“c” 设计思路 本实验采用stm32f103r6为主控芯片,及led-green、Virtual terminal时钟源为晶振为8M的系统内部时钟...
继续访问
【嵌入式STM32】采用中断方法实现点灯和串口通信_sitong000的博客-CS...
采用串口中断方式重做上周的串口通信作业。三、中断方式点灯1.CubeMX工程设置1 在主界面选择File–>New Project 或者直接点击ACCEE TO MCU SELECTOR 2 进行芯片型号选择,一般直接在左上角搜索自己的芯片型号即可。 3外设管脚设置 设置...
继续访问
MFC简单指示灯的实现
利用MFC的图片控件,简单实现指示灯的作用,实现不同的颜色!
串口通信实验——RS-232
实验任务: 一. 了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。 实验过程: 一、串口协议和RS-232标准 1.串口通讯 串口通讯 (Serial Communication)是一种设备间非常常用的串行通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。 通讯协议,我们以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理
继续访问
Arduino Ethernet W5100扩展板的指示灯含义_温柔狠角色的博客-CSDN博 ...
5、COLL:当网络检测到冲突时闪烁。 6、RX:网络接收数据时会闪烁。 7、TX:网络发送数据时会闪烁。 需要注意的是,这里的RX,TX是网络通信指示灯,并不是其他控制器上的串口通信指示灯。
继续访问
C# 005 串口通信 串口扫描 开关指示灯_子非愚的博客
C# 005 串口通信 串口扫描 开关指示灯 usingSystemusingSystem.Collections.GenericusingSystem.ComponentModelusingSystem.DatausingSystem.DrawingusingSystem.LinqusingSystem.Text
继续访问
Arduino Ethernet W5100扩展板的指示灯含义
Arduino Ethernet W5100扩展板是继承WIZnet W5100网络芯片的扩展板。将扩展板连接到Arduino后,可使Arduino具有网络功能。此扩展板上有多个指示灯,由于轻易查不到此资料,特来和大家分享。 1、PWR:表示设备已通电。 2、LINK:表示网络已经连接。当发送或者接收数据时会闪烁。 3、FULLD:表示网络连接是全双工通信。...
继续访问
串口通信和Led灯的点亮的仿真及实现
串口通信和led点亮实验的仿真及实现
继续访问
最新发布 STM32F103中断方式实现led灯的控制和串口通信,DMA通信原理及给上位机发送数据
中断通常被定义为一个事件,该事件能够改变处理器执行指令的顺序。这样的事件与 CPU 芯片内外部硬件电路产生的电信号相对应。中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。中断分为同步中断和异步中断。同步中断——同步中断是当指令执行时由 控制单元产生的,之所以称为同步,是因为只有在一条指令终止执行后 CPU 才会发出中断。
继续访问
PyCharm pyqt5用label控件显示图片 QPixmap 串口通信指示灯
import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.QtGui import QPixmap import SerialCommunication # module SerialCommunication.py # myPyMainForm # 主窗口对象 # labIndicator # label控件对象 # 以下是代码片段 # 获取“串口指示灯亮”图片文件路径 imgLedOff
继续访问
MFC下指示灯的实现
指示灯的闪烁1、首先应引入两个图标,一个代表灯亮(属性为ICON_ON),一个代表灯灭(属性为ICON_NOT)。(图标属性默认为IDI_ICON1、IDI_ICON2等,可自行修改)2、添加图标句柄变量例如: HICON m_hIcon_close
继续访问
给串口加指示灯
一般有两种接法, A和B两种接法,都可以实现我们的目的。 但是,我一般选择B,为什么呢? A:IO为高时,LED亮,IO为低时,LED灭。 电阻为上拉电阻,IO驱动LED亮灭。 IO电流加载到LED上,长期点亮LED,会发现有些发烫。 B:IO为高时,LED灭,IO为低时,LED亮。 由电源驱动LED,IO不带负载。 LED常亮,也基本不会发热。 ...
继续访问
学习笔记——利用串口通信控制LED指示灯开关
目录一、任务要求二、实现方法三、参考代码 一、任务要求 在CT107D单片机上, 1.系统上电初始化后,关闭蜂鸣器和继电器等无关设备,并向上位机发送字符串:“Welcome to Born_toward system!”,回车换行; 2.上位机通过串口发送单字节命令可以控制下位机的8个LED灯开关; 3.上位机通过串口发送单字节命令可以读取下位机运行信息。 二、实现方法 对于串口通信,在之前已经讲过了,在此不作特别说明。控制灯光可以用单字节命令来控制,则需要建立一个能够识别command并且让LED灯做出
继续访问
【学习笔记】MFC实现按钮控制指示灯的亮度增减显示教程
(1)设计bitmap位图指示灯 (2)将指示灯导入res, 设计五个指示灯来显示灯的亮度等级,并通过label标签显示亮度等级。 可以通过代码来改变静态文本框字体和颜色等属性; (3)通过类向导生成颜色控制消息方法OnCtlColoe()HBRUSH CMFCbuttonDemoDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtl...
继续访问
「C++ &MFC」状态信号灯显示实现
1.在工具箱拉一个 Control控件 2.右键属性更改ID为xxxStatus 3.右键控件添加类型为CRoundButton的变量m_xxxStatus 4.添加一个继承于CButton的类CRoundButton 类的.h文件如下:
继续访问
CDialog构造函数重载
头文件如下: #pragma once // CMyDlg 对话框 class CMyDlg : public CDialog { DECLARE_DYNAMIC(CMyDlg) public: CMyDlg(CWnd* pParent = NULL)// 标准构造函数 CMyDlg(int iId, CWnd* pParent = NULL)virtual
继续访问
热门推荐 串口收发指示灯电路----电子工程世界论坛
串口收发指示灯电路 如果没猜错的话 这个电路是用于通信速率较高,而通信频度又很低的场合。这时若不加处理,仅低电平点灯的话(串口空闲时为高电平),可能一闪而过,人眼几乎没反应,感觉不到在通信。 以Q5、Q3那一路为例,该电路的关键在1uF电容和后面的那个电阻。通信线上有数据来时Q5导通使Q3也导通点灯,并一下释放了1uF里的电荷,而这时即便通信线已很快恢复成高电
继续访问
c语言mfc实现串口通信,基于MFC-MSComm控件的PC与单片机串口通信编程
终于搞定了!我想我只能这么说,这两天熬夜的成果啊。自从去年校电子竞赛之后一直想要做些计算机控制的东西,和郑子含老师聊了聊,她推荐我去学习VB,但是我对C++情有独钟,因为学过C上手可能快。一直没有时间搞。这次比赛搞小车,想把上学期的想法实现一下。但是电脑控制小车必须要一个良好的人机交换界面。于是开学想要系统的学习下C++语言,看了半本郑阿奇的书结果发现内容竟然和C一模一样,关键的后半本介绍了类的概...
继续访问
使用MFC中的Picture Control控件实现指示灯
步骤: (1)将图片转换成ICO:http://www.bitbug.net/ (2)建立一个基于对话框的MFC项目, 在资源视图导入两个图标,一个代表初始状态(修改ID为IDI_ICON_RED),一个代表工作状态(修改ID为IDI_ICON_GREEN)。(图标属性默认为IDI_ICON1、IDI_ICON2等,可自行修改) (3)在对话框中添加一个Picture Con...
继续访问
利用MFC开发的Activex指示灯控件
在OnSize()事件中,利用CRgn类,裁剪出自己喜欢的指示灯的形状,SetWindowRgn(...)。简单易学,适合初学者!
MFC中Picture Control控件的使用
项目源码下载:http://download.csdn.net/download/zhuzemin45/12005643 所有需要的文件都打包在项目中,下载解压即可。 MFC中红绿指示灯控件的使用 Picture Control控件创建指示灯步骤: 1、将红色绿色指示灯图片放入项目的res文件夹内。 2、项目资源视图->项目名->Icon->添加资源->Icon-...
继续访问
MFC指示灯学习
*** 作步骤 1、在资源编辑的时候选中按钮的 Owner draw 属性,不需要选择 Bitmap 属性. 按钮右键-->Styles-->Owner draw 2、在程序中定义一个CBitmapButton成员变量。 属性添加变量,修改变量类型为CBitmapButton 3、在资源视图中添加资源Bitmap(照片格式要为bmp)
继续访问
MFC制作闪烁灯、绘制彩色文字源代码
此代码可以实现在VC界面上绘制一个彩色的灯,当时也可以绘制多个,可以使用按键来控制闪烁。并且实现了在界面上绘制彩色文字的功能。程序运行环境是VS2010,但是如果稍加移植,在各个编译环境下都可以运行。
串口通信指示灯
MFC
嵌入式方向很多,这是现在最流行的这个方向。由于很多人总问这个问题,所以这里做一个总结供大家参考。这里必须先说明,以下的步骤都是针对Linux系统
的,并不面向WinCE。也许你会注意到,现在做嵌入式的人中,做linux研究的人远比做WinCE的人多,很多产家
提供的资料也是以linux为主。我一直很难理解,其实WinCE的界面比linux的界面好看多了,使用起来也很方便
,更为重要的是,WinCE的开发和Windows下的开发基本一样,学起来简单得多,但是学linux或者使用linux做嵌
入式的人就是远比WinCE多。在和很多工作的人交流时我了解到,他们公司从没考虑使用WinCE,因为成本高,都
是使用linux进行开发。我读研究生的的实验室中也没有使用WinCE的,大都研究linux,也有少部分项目使用
vxwork,但是就没有听说过使用WinCE的,原因就是开源!当然现在WinCE6.0听说也开源,不过在成本和资源上
linux已经有了无人能挡的优势。与此相对应的是,越来越多的电子厂商已经开始使用linux开发产品。举个例子
,Google近期开发的智能手机 *** 作系统Android其实就是使用linux-2.6.23内核进行改进得到的。
第一,学习基本的裸机编程。
对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如
果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。我在刚刚开始学ARM的时候是选择ARM7(
主意是当时ARM9还很贵),学ARM7的时候还是保持着学51单片机的思维,使用ADS去编程,第一个实验就是控制
led。学过一段时间ARM的人都会笑这样很笨,实际上也不是,我倒是觉得有这个过程会好很多,因为无论做多复
杂的系统最终都会落实到这些最底层的硬件控制,因此对这些硬件的控制有了感性的认识就好很多了学习裸机的
编程的同时要好好理解这个硬件的构架、控制原理,这些我称他为理解硬件。所谓的理解硬件就是说,理解这个
硬件是怎么组织这么多资源的,这些资源又是怎么由cpu、由编程进行控制的。比如说,s3c2410中有AD转换器,
有GPIO(通用IO口),还有nandflash控制器,这些东西都有一些寄存器来控制,这些寄存器都有一个地址,那
么这些地址是什么意思?又怎么通过寄存器来控制这些外围设备的运转?还有,norflash内部的每一个单元在这
个芯片的内存中都有一个相应的地址单元,那么这些地址与刚刚说的寄存器地址又有什么关系?他们是一样的吗
?而与norflash相对应的nandflash内部的储存单元并不是线性排放的,那么s3c2410怎么将nandflash的地址映
射在内存空间上进行使用?或者简单地说应该怎么用nandflash?再有,使用ADS进对ARM9行编程时都需要使用到
一个初始化的汇编文件,这个文件究竟有什么用?他里面的代码是什么意思?不要这个可以吗?诸如此类都是对
硬件的理解,理解了这些东西就对硬件有很深的理解了,这对以后更深一步的学习将有很大的帮助,如果跳过这
一步,我相信越往后学越会觉得迷茫,越觉得这写东西深不可测。因为,你的根基没打好。不过先声明一下,本
人并没有使用ADS对ARM9进行编程,我是学完ARM7后直接就使用ARM9学linux系统的,因此涉及使用ADS对ARM9进
行编程的问题我很难回答^_^,自己去研究研究吧。
对于这部分不久将提供一份教程,这个教程中的例程并不是我为我们所代理的板子写的,是我在我们学院实
验室拿的,英培特为他们自己的实验箱写的,不过很有借鉴意义,可以作为一份有价值的参考。
第二,使用linux系统进行一些基本的实验。
在买一套板子的时候一般会提供一些linux的试验例程,好好做一段时间这个吧,这个过程也是很有意义的
,也是为进一步的学习积累感性认识,你能想象一个从没有使用过linux系统的人能学好linux的编程吗?好好按
照手册上的例程做一做里面的实验,虽然有点娃娃学走路,有点弱智,但是我想很多高手都会经历这个过程。
在这方面我们深蓝科技目前没有计划提供相应的例程,主要是开发板的提供商会提供很丰富的例程,我们
不做重复工作,只提供他们没有的、最有价值的东西给大家。
第三,研究完整的linux系统的的运行过程。
所谓完整的linux系统包括哪些部分呢?
三部分:bootloader、linux kernel(linux内核)、rootfile(根文件系统)。
那么这3部分是怎么相互协作来构成这个系统的呢?各自有什么用呢?三者有什么联系?怎么联系?系统的
执行流程又是怎么样的呢?搞清楚这个问题你对整个系统的运行就很清楚了,对于下一步制作这个linux系统就
打下了另一个重要的根基。介绍这方面的资料网上可以挖掘到几吨,自己好好研究吧。
第四,开始做系统移植。
上面说到完整的linux有3部分,而且你也知道了他们之间的关系和作用,那么现在你要做的便是自己动手学
会制作这些东西。
当然我不可能叫你编写这些代码,这不实现。事实上这个3者都能在网下载到相应的源代码,但是这个源代
码不可能下载编译后就能在你的系统上运行,需要很多的修改,直到他能运行在你的板子上,这个修改的过程就
叫移植。在进行移植的过程中你要学的东西很多,要懂的相关知识也很多,等你完成了这个过程你会发现你已经
算是一个初出茅庐的高手了。
在这个过程中如果你很有研究精神的话你必然会想到看源代码。很多书介绍你怎么阅读linux源代码,我不
提倡无目的地去看linux源代码,用许三多的话说,这没有意义。等你在做移植的时候你觉得你必须去看源代码
时再去找基本好书看看,这里我推荐一本好书倪继利的《linux内核的分析与编程》,这是一本针对linux-
2.6.11内核的书,说得很深,建议先提高自己的C语言编程水平再去看。
至于每个部分的移植网上也可以找到好多吨的资料,自己研究研究吧,不过要提醒的是,很多介绍自己经验
的东西都或多或少有所保留,你按照他说的去做总有一些问题,但是他不会告诉你怎么解决,这时就要靠自己,
如果自己都靠不住就找我一起研究研究吧,我也不能保证能解决你的问题,因为我未必遇到过你的问题,不过我
相信能给你一点建议,也许有助你解决问题。
这一步的最终目的是,从源代码的官方主页上(都是外国的,悲哀)下载标准的源代码包,然后进行修改,
最终运行在板子上。
盗用阿基米德的一句话:“给我一根网线,我能将linux搞定”。
第五,研究linux驱动程序的编写。
移植系统并不是最终的目的,最终的目的是开发产品,做项目,这些都要进行驱动程序的开发。
Linux的驱动程序可以说是五花八门,linux2.4和linux2.6的编写有相当大的区别,就是同为linux2.6但是
不同版本间的驱动程序也有区别,因此编写linux的驱动程序变都不是那么容易的事情,对于最新版本的驱动程
序的编写甚至还没有足够的参考资料。那么我的建议就是使用、移植一个不算很新的版本内核,这样到时学驱动
的编程就有足够的资料了。这部分的推荐书籍可以参考另一篇文章《推荐几本学习嵌入式linux的书籍》。
第六,研究应用程序的编写。
做作品做项目除了编写驱动程序,最后还要编写应用程序。现在的趋势是图形应用程序的开发,而图形应用
程序中用得最多的还是qt/e函数库。我一直就使用这个函数库来开发自己的应用程序,不过我希望你能使用国产
的MiniGUI函数库。盗用周杰伦的广告词就是“支持国产,支持MiniGUI”。MiniGUI的编程比较相似Windows下的
VC编程,比较容易上手,效果应该说是相当不错的,我曾使用过来开发ARM7的程序。不过MiniGUI最大的不好就
是没有像qtopia这样的图形 *** 作平台,这大大限制了他的推广,我曾经幻想过与北京飞漫公司(就是MiniGUI的
版权拥有者)合作使用MiniGUI函数库开发像qtopia这样的图形 *** 作平台,不过由于水平有限这只能是幻想了,
呵呵。完成这一步你基本就学完了嵌入式linux的全部内容了。
还有一个小小的经验想和大家分享。我在学习嵌入式linux的过程中很少问人,客观原因是身边的老师、同
学师兄都没有这方面的高手,主观原因是我不喜欢问人,喜欢自己研究解决问题。这样做有个好处,就是可以提
高自己解决问题的能力,因为做这些东西总有很多问题你难以理解,别人也没有这方面的经验,也不是所有问题
都有人给你答案,这时必须要自己解决问题,这样,个人的解决问题能力就显得非常关键了。因此我的建议就是
一般的问题到网上搜索一下,确实找不到答案了就问问高手,还是不行了就自己去研究,不要一味去等别人帮你
解决问题。记住,问题是学习的最好机会。另外笔者推荐你可以用嵌视科技qs-pte9
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)