4916|5

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

FWLib不是德国人写的吧? [复制链接]

最近无所事事,看STM32的库玩,包括USB的库。

并不是想拿来说事,只是给大家一个提醒,关于C语言的严谨性。

#define _SetEPAddress(bEpNum,bAddr) _SetENDPOINT(bEpNum,
    _GetENDPOINT(bEpNum) & EPREG_MASK | bAddr)

这个代码有什么问题吗?发现还不止这一个地方。

第一点建议:别拿优先级开玩笑,即使你非常清楚,倒背如流
第二点建议:宏定义的参数,绝对不要忘了加(),世界比你想象的复杂
第三点建议:尽量确保在所有支持的编译器上0警告,即使在最高的警告级别下。

修改:
#define _SetEPAddress(bEpNum,bAddr) _SetENDPOINT((bEpNum),
    (_GetENDPOINT(bEpNum) & EPREG_MASK) | (bAddr))
此帖出自stm32/stm8论坛

最新回复

                                   FWLib的作者是不是德国人,在公开的资料里不得而知。就我的体会来说,STM32的FWLib是在逐步完善的,其严谨性也是有所加强,在不少地方也象LZ所说加上了括号;总体感觉FWLib(在严谨性上面)还可以。  我没有下载STM32的最新FWLib,印象里版本应该是V2.0.3?不知道最新的FWLib还存在LZ说的问题吗?   详情 回复 发表于 2009-2-2 11:31
点赞 关注
 

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

re

                                 :D 你是德国人吗?
此帖出自stm32/stm8论坛
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

不是德国人就不用那么严谨?

                                 那就当我没说,BZ删掉此贴
此帖出自stm32/stm8论坛
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 

呵呵,我做过德国人骂我的程序不够严谨的梦。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 

参与过一些开源项目,看过不少德国人写的代码

虽然不是所有代码都是非常严谨的,但就平均水平而言,德国人的严谨绝对不是假的。

要不再举个ST的IAR下的示例代码中更加严重的问题?
先说一下问题引发的结果:在某些条件下,某些中断无法执行。
当然也可能这个问题已经有人发现了,我只是没有看到。但这个问题存在于ST的FWLib2.0之前(包括2.0)的demo中。
此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 

FWLib的作者是不是德国人

  FWLib的作者是不是德国人,在公开的资料里不得而知。就我的体会来说,STM32的FWLib是在逐步完善的,其严谨性也是有所加强,在不少地方也象LZ所说加上了括号;总体感觉FWLib(在严谨性上面)还可以。
  我没有下载STM32的最新FWLib,印象里版本应该是V2.0.3?不知道最新的FWLib还存在LZ说的问题吗?
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表