msOS使用小结

在做激关打标机的项目的过程中,使用msOS遇到了一些问题,和解决方法,还有一些小体会,现在拿出来分享一下

一、代码移植时遇到的问题:

激光打标机项目用到一块新的板子,所以要把最新版的msOS代码移植到新的控制板中。首先在新版的msOS(msOS_msPLC-100C_V1.3.2.20161025_Release2)的移植过程中,按键能够正常使用了,但是,界面显示出现了问题。界面显示混乱了,刚开始以为是menu.c中出现了问题,因为平常代码都是复制粘贴上去的,所以怀疑在粘贴的时候不下心把标点符号、背景控件多了空格等等也粘贴进去了,但是后来检查对比了代码发现不是menu.c出了问题,那么是哪里出问题呢?gui.c也怀疑,以为是解析出错,但是后来将没移植的代码下载到原来的板子上面,发现一切正常,那么说明menu.c 和gui.c都没有问题。那么还有哪里有问题?实在找不出,只能问老大了。再问的过程中,老大提到:移植一个代码,所有的IO都需要检查,确认是否正确,否则可能存在冲突。比如,IO,引起LCD屏混乱,比如操作别的IO的,导致LCD总线被共用了,于是就乱码。


好,那么出错的原因有可能就是在IO口上了,检查每一个IO口,确实发现了问题,

问题就在Device_Usart3.c文件中也使用了PB8端口,与LCD_DAT,LCD的数据口重复,所以界面显示出错,数据混乱了,在Device_Usart3.c文件中注释掉PB8定义就能够正常显示。

总结1:

1. 建议在移植msOS代码之前先找一块配套的板子,将代码下载进去,看看有无异常,没有异常的话,说明程序是没问题的,如果有异常,比如界面显示出现混乱,那么检查menu.c中的程序,有可能是复制代码的过程中多了或少了点东西----这是第一点,与好的程序比较。

2. 确定代码没有问题之后,检查所有IO口,看看有没有共用的IO口,因为msOS代码只是一个例程,它是根据实际项目配置IO口的,所很有可能与你的新板子的IO口有冲突----这是第二点,检查所有IO口,防止IO口冲突。

二、命名规则问题:

我在使用msOS做项目的过程中,一定是要自己命名各种函数名,变量名等,通常我会带有自己的“特色”,比如命名激光器功率,可能会命名为int power、int pow、int Power、int POW等等,命名没有一个规范。按照msOS的命名规则,应该命名为int LaserPower,这样命名是不是一目了然,很容易明白这个变量是做什么用的。我们在阅读msOS代码时会发现,代码编写命名有msOS的风格,看起来很自然,很容易懂命名这个东西是干嘛用的,因为msOS使用了C#编程风格,简单而通俗易懂。所以在使用msOS代码时,应该严格按照msOS的风格来进行代码编写命名,以下几条就是要遵循的规范:

1) 操作函数,尽可能的用动宾短语,比如 SetBit, GetBit, InitUsart 等。

2)参数,局部变量,第一个字母小写,后面单词首字母大写方式,比如 sendData,

这种叫 Camel 命名法,或叫骆驼命名法。

3)除参数和局部变量之外的,比如全局变量、宏定义、枚举、结构体、函数等,都采
用英文首字母大写方式,这种叫 Pascal 命名法,或叫帕斯卡命名法,比如

MmiFunction。

4) 仅仅对于由一个或者两个字母的缩写组成的,用全大写命名法则,如 ID、 SN。

总结2:

所以在此特别提醒,使用msOS时,代码编写命名要严格遵循以上几条,这样,别人或者自己今后阅读代码的时候,才会快速的看明白代码,提高效率。msOS这种命名规范,是msOS的优点之一。

今后还会带来更多个人使用msOS的体会,希望对后面使用msOS的朋友们有帮助,开发项目的过程中少走弯路
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值