最新日志

发表于:2008-6-24 15:10:31
标签:无标签

4

STM32上位机控制演示软件

STM32项目/学习计划表

项目名称  STM32上位机控制演示软件
请点击以下链接更新您的个人资料(包括“职位,部门,单位名称,地址,邮编,电子邮箱,电话”),以便我们能及时联系您并快速发送开发套件。http://space.ednchina.com/member/Register.aspx
联系方式
(邮箱/电话)
为了保证用户隐私,此处已被隐藏
预计实施时间 自  7月1日 到9月1日 计划参加人数  2
背景描述 该计划的背景及其实现的目的、意义
通过上位机软件对STM32开发板的所有资源进行控制,目的在于新手在刚开始接触STM32开发板时,通过上位机软件和下位机程序对开发板的资源进行熟悉和了解,使其有进一步的感性认识,快速上手。
功能描述 详细描述该项目能够实现的功能
上位机软件通过串口和STM32开发板相连,通过上位机软件控制开发板上的资源,对一些可视的资源进行演示控制。如开发板上的液晶和LED灯就可以通过软件对其进行输出控制;如电位器输入模拟信号可以对其的模拟量进行读取显示在上位机软件上。
解决办法 预计会遇到的困难和相应的解决办法
STM32开发板上的资源也不是很多,实现上述的控制演示难度也不是很大。当然在刚开始接触STM32需要进行熟悉,查找相关的资料这些都是可以通过互联网得以解决的。
预期效果 开发项目:预期要解决的问题、达到的经济效益和产品所需数量;
学习项目:希望学到的知识或技能,达到哪些实践的目的等。
相信完成这个设计会给初学者带来很大的方便,我自己也从中掌握了STM32的硬件资源和软件编程技巧。
时间安排 日  期 进    度    描    述
7.1~7.15 熟悉STM32芯片及其开发板的资源
 7.16~8.25 完成上位机和下位机的软件设计和调试
 8.26~9.1 总结设计和整理设计资料
总结 此次参加的目的在于学习,希望这次能通过EDN提供的学习机会,一定程度的掌握此芯片,为今后在用这块芯片做其他方面的开发提供便利。
备  注

签名:chinaluou     时间:2008.6.24

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(1) | 阅读(207)
发表于:2008-4-3 16:27:05
标签:串口调试  VC++  

0

串口调试软件V1.0

        这两天用VC++写了个串口调试软件,是用MSComm 控件编写的,虽然串口调试的软件多的满天飞,但是本人初涉串口编程,写这么个软件对以以后应用串口编程还是受益匪浅的。

        这个软件实现了一些基本的串口数据的发送和接收,选择通信端口,支持常用的300-115200bps波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期等等!功能暂时先写到这吧算是V1.0版吧,哈哈!

        不废话了先发上来,有需要的随便下吧,有什么BUG不要忘了联系我哦,呵呵。。。rar

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 原创

评论(2) | 阅读(218)
发表于:2008-4-1 16:03:04
标签:无标签

0

关于radio button控件的使用问题

    用过这个控件的都知道他们之间都是互斥的,但是编程是总是找不到属性设置,在网上查找资料,上面说设置成一组就可以了。但是我把他们的GROUP属性选中了,但是运行时还是不行,没有办法再找,终于在一个论坛上发现了踪迹,上面说把几个控件要设置成一组设置第一个就可以。但是问题又来了。错落在界面上的那个才是第一个呢?
    不经意发现了CTRL +D快捷键,原来通过这个快捷键可以重新设置TAB键按下时的顺序,把第一个的GROUP设置选中就可以了他后面的TAB循序号的控件都和它一组了。。要想多设置几组,可以多选几个GROUP,每一个紧跟的就是一组。
 
文章来源:http://blog.sina.com.cn/s/blog_4ddba5bf01000c2x.html

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(208)
发表于:2008-3-31 11:57:13
标签:无标签

0

学习串口通信编程

    在公司实习也一个多月了,前段时间调好了AIAO板,接下来又有新任务了。。。准备设计编写基于RS485的多主多从协议,类似于IBM的Token Ring协议,先在电脑间联网写个VC程序测试,所以现在开始学习VC串口通信程序的设计。Starting......

点击此处查看原文 >>

系统分类: 自由话题   |    用户分类:    |    来源: 原创

评论(0) | 阅读(230)
发表于:2008-2-27 15:46:59
标签:无标签

0

C语言之extern声明辨析

1 基本解释

extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。

另外,extern也可用来进行链接指定。

2 问题:extern 变量

在一个源文件里定义了一个数组:

char a[6];

在另外一个文件里用下列语句进行了声明:

extern char *a;

请问,这样可以吗?

答案与分析:

1)、不可以,程序运行时会告诉你非法访问。原因在于,指向类型T的指针并不等价于类型T的数组。extern char *a声明的是一个指针变量而不是字符数组,因此与实际的定义不同,从而造成运行时非法访问。应该将声明改为extern char a[ ]。

2)、例子分析如下,如果a[] = "abcd",则外部变量a=0x61626364 (abcd的ASCII码值),*a显然没有意义,如下图:

显然a指向的空间(0x61626364)没有意义,易出现非法内存访问。

3)、这提示我们,在使用extern时候要严格对应声明时的格式,在实际编程中,这样的错误屡见不鲜。

4)、extern用在变量声明中常常有这样一个作用,你在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。

3 问题:extern 函数1

常常见extern放在函数的前面成为函数声明的一部分,那么,C语言的关键字extern在函数的声明中起什么作用?

答案与分析:

如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。即下述两个函数声明没有明显的区别:

extern int f(); 和int f();

当然,这样的用处还是有的,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,我比较习惯在所有的函数声明前添加extern修饰。

4 问题:extern 函数2

当函数提供方单方面修改函数原型时,如果使用方不知情继续沿用原来的extern申明,这样编译时编译器不会报错。但是在运行过程中,因为少了或者多了输入参数,往往会照成系统错误,这种情况应该如何解决?

答案与分析:

目前业界针对这种情况的处理没有一个很完美的方案,通常的做法是提供方在自己的xxx_pub.h中提供对外部接口的声明,然后调用方include该头文件,从而省去extern这一步。以避免这种错误。

宝剑有双锋,对extern的应用,不同的场合应该选择不同的做法。

5 问题:extern “C”

在C++环境下使用C函数的时候,常常会出现编译器无法找到obj模块中的C函数定义,从而导致链接失败的情况,应该如何解决这种情况呢?

答案与分析:

C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。

下面是一个标准的写法:

//在.h文件的头上
#ifdef __cplusplus
#if __cplusplus
extern "C"{
    #endif
    #endif /* __cplusplus */
     …
     …
    //.h文件结束的地方
    #ifdef __cplusplus
    #if __cplusplus
}
#endif
#endif /* __cplusplus */

点击此处查看原文 >>

系统分类: 汽车电子   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(378)
发表于:2008-2-21 15:05:20
标签:汉字  Unicode  C++  AT  

0

汉字转Unicode软件

    这是我学了几天C++后所写的第一个软件,目的是出于前段时间学习AT指令时所需,使用AT指令发短信需要用Unicoe码发送汉字。也算是自己学习C++的练手软件,现在发布给有需要的朋友。本人的第一个软件实在不敢担保没有错误,若发现BUG请联系我,谢谢!

rar

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 原创

评论(2) | 阅读(645)
发表于:2007-9-25 22:35:20
标签:CPLD  核心板  DIY  敷铜板  

3

DIY迷你CPLD核心板

    这两天用敷铜板做了块迷你的CPLD核心板,把所有的IO口全部都引了出来,还引出了几个CLK的脚,到今天为止已经钻孔、焊接、调试成功,正常下载程序了,呵呵,如有什么不足之处请各位大虾指出,不胜感激。

这是核心板的正面:

 

这是反面:

 

    由于焊盘间要走线,所以焊盘不能太大,但是在钻孔的时候把有些边界的铜也钻掉了比较难焊,吃锡困难,用了蛮多的松香,所以焊的也比较难看,呵呵。。。

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(6) | 阅读(918)
发表于:2007-9-24 11:11:54
标签:万能板  焊接  艺术  

2

万能板的焊接艺术

    今天在21ic上ningpanda的博客上看了他的文章,发现这么一位极度追求完美的人,他用万能板焊的电路简直可以称做艺术品了,呵呵,实在是佩服的没话说。

    下面是他的作品,欣赏下吧,让你的眼睛舒缓下icon

正面:
点击看大图

反面:

点击看大图

正面:

点击看大图

反面:

点击看大图

  

点击看大图

点击看大图  

 

点击此处查看原文 >>

系统分类: PCB   |    用户分类:    |    来源: 整理

评论(5) | 阅读(998)
发表于:2007-9-22 10:19:46
标签:热传印  双面板  自制  

0

业余热转印制双面版的过程【转】

    热转印制版是网友业余制版的一种简便、快捷,成本低廉的较好方法,制作方法大同小异,要根据自己的条件来选择使用工具,但是激光打印机,塑封机,双氧水和盐酸是必不可少的,当然也可以用复印机和电熨斗代替。
    设计这个TA8435三轴控制板用了一天,采用热转印法制作PCB板,这是我用的热转印纸,其实就是采用的光盘的不干胶贴纸的背纸

点击看大图

这是我的计算机及设计图

点击看大图
用热转印纸打出来的双面板图和热转印机(其实就是普通的塑封机将间隙调大些),其中上层要镜像打印

点击看大图
转印前要处理好PCB铜版,这是制作成功的关键之一,先将敷铜版两面擦光,

点击看大图
然后再用软布沾双氧水擦洗(不要烧了手吆),自然晾干。处理后的板子发乌。这样热转印时附着力大,炭粉不容易掉。


点击看大图
将打印好的转印图一面用胶贴贴到板子上(双面板分两次转印和腐蚀,一次难度大些),将热转印机温度调到180度左右,温度达到后进行转印,要多过几遍以保证转印质量。

点击看大图
要等板子完全冷却后揭下背纸,这是转印后的板子情况,非常清晰很牢固。

点击看大图
然后进行腐蚀,用买的塑料食品盒(15元)作容器,采用盐酸+双氧水+水(1:1:8)做腐蚀液,腐蚀速度快质量好,腐蚀过程大约3分钟(千万不要腐蚀过头)。
特别注意要将另一面用宽胶带贴好,以保护双层电路板的未腐蚀部分。

点击看大图
腐蚀好的线路板(一面)

点击看大图

腐蚀好后的板子


点击看大图
做板子的另一面,其它同上,关键是定位,先将第一面腐蚀好后的四角定位孔钻透,然后把另一面图纸用小细杆定位好,继续腐蚀

点击看大图
这是腐蚀好的另一面

点击看大图
这是打印的设计原理图、PCB图和腐蚀好后的控制电路板

点击看大图
检验,将腐蚀好的板子放在亮处,看,每个焊盘和过孔对的很整齐,双面板制作成功。当然还要适当的检查和修补。

点击看大图
下面介绍焊好元件的电路板,板子上面。

点击看大图
板子下面

点击看大图

板子侧面

点击看大图

 

呵呵,做双面板还是有点难度的。。。

点击此处查看原文 >>

系统分类: PCB   |    用户分类:    |    来源: 转贴

评论(4) | 阅读(1264)
发表于:2007-9-21 13:07:59
标签:PCB  DIY  热传印  贴片  DIP  

1

自制PCB电路板

    手头有些贴片芯片,但是在万能板上不能焊,于是自己用敷铜板作了个转接,把贴片变成DIP呵呵,这样就可以在万能板上用了。

    这次用热传印法做PCB也是我第一次做,不过还好第一次就成功了,下面是做好腐蚀掉铜后的电路板:

呵呵,看上去还不错。icon

下面是焊好贴片芯片后:

这也是我第一次焊贴片芯片,焊的还真辛苦,这块芯片引脚也挺密的,花了我半天时间总算焊好了,觉得自己刚开始焊的方法错了所以后来很多脚的锡都粘在一块了。哈哈以后应该有经验了。

点击此处查看原文 >>

系统分类: PCB   |    用户分类:    |    来源: 原创

评论(6) | 阅读(1291)
总共 , 当前 /,23下一页