历史上的今天
返回首页

历史上的今天

今天是:2024年11月07日(星期四)

正在发生

2020年11月07日 | STM32关于USB的相关寄存器

2020-11-07 来源:eefocus

这里要贴上STM32 USB相关的寄存器的具体设置,对学习STM32的USB很有帮助。对于涉及到寄存部分的代码,参考这些寄存器的说明,就可以差不多都懂了。由于网页贴不上表格,所以就截屏成图片贴上来,如果看不清楚,就下载图片去看

1.编程好习惯之变量定义:  

定义变量时总是按变量类型所占空间大小来排序是最好的!  

如果是只有某个函数使用些变量,而且你又需要在函数让函数退出时不被销毁,那么就使用static吧  


2.编程好习惯之函数定义:  

如果我们定义的C函数仅在此C文件中被调用那么加上static吧(适用于多文件编程)  

如果我们想躲避C函数参数的类型检查,那 么K&R的函数定义声明方式还是很不错的!  


3.编程好习惯之变量类型使用  

如果我们考虑可移植性的化,就最好不要去乱用int变量,因为int在不同的平台和编译器上是变化的!  


4.编程好习惯之编码  

有时间在不明显减少代码的可读性时,可以考虑将一些语句合并,使编译器充分使用寄存器,  当然如果使用register 变量作中间变量效果也是一样的!  

对于一些频繁使用的变量可以考虑使用寄存器变理,如for语句中使用的变量,这样可以获得更快的速度,但是要注意的是,这个变量的使用范围一定要非常的小才可以使用       寄存器变量!  

尽量使用逻辑运算代替算术运算  


5.在使用类似 a &= 0xfff7 来清除某一位时,不妨试试 a &= ~(1 << 4),即不会影响效率,编译器还会帮你确定到底是使用a &= 0xffffff7 还是在高位有更多个ff.  


6.宏名有效范围仅限于本c源文件  


7.如果要清除某个标志位,或许直接清除,这样比先判断再清除要快得多  


推荐阅读

史海拾趣

Base Two (2) Systems公司的发展小趣事

随着产品技术的不断成熟,Base Two (2) Systems开始积极拓展市场。公司通过与各大电子厂商、分销商建立紧密的合作关系,将产品推向更广阔的市场。同时,公司还积极参加各类行业展会和交流活动,与业内同行深入交流,共同探讨行业发展趋势,为公司的长远发展奠定了坚实的基础。

超音(CY)公司的发展小趣事

随着科技的不断进步,超音意识到技术创新对于公司发展的重要性。因此,公司加大了研发投入,积极引进高端人才,不断推出具有创新性和竞争力的产品。其中,超音的一款高端音响产品凭借其卓越的音质和精美的外观设计,在市场上获得了广泛的好评。此外,超音还积极与其他科技公司合作,共同研发新产品,不断拓宽产品线。

Freqtech Ohg公司的发展小趣事

面对电子行业快速迭代的市场环境,Freqtech Ohg公司敏锐地察觉到传统业务面临的挑战。公司果断决定进行业务转型升级,从单一的高频电子元件生产向系统解决方案提供商转变。通过整合上下游产业链资源,Freqtech成功开发出了一系列针对特定应用场景的高频电子系统解决方案,如5G通信基站、卫星导航系统等。这一转型不仅为公司带来了新的增长点,还进一步巩固了其在行业内的领先地位。

Helicomm公司的发展小趣事

面对电子行业快速迭代的市场环境,Freqtech Ohg公司敏锐地察觉到传统业务面临的挑战。公司果断决定进行业务转型升级,从单一的高频电子元件生产向系统解决方案提供商转变。通过整合上下游产业链资源,Freqtech成功开发出了一系列针对特定应用场景的高频电子系统解决方案,如5G通信基站、卫星导航系统等。这一转型不仅为公司带来了新的增长点,还进一步巩固了其在行业内的领先地位。

CommScope Inc公司的发展小趣事

在通信行业,技术的不断创新和产品的持续升级是企业保持竞争力的关键。康普公司一直注重研发和创新,不断推出具有竞争力的新产品和解决方案。例如,在2004年,康普成立了CCS(连接解决方案)工厂,主要生产宽带同轴电缆、网络对绞线缆以及铜和光纤连接器系列产品。这些产品不仅满足了市场对于高速、高质量网络连接的需求,也进一步巩固了康普在通信行业的领先地位。

First Sensor公司的发展小趣事

随着全球经济的不断发展,亚洲市场逐渐成为通信行业的重要增长点。康普公司敏锐地捕捉到了这一机遇,于1997年在苏州工业园区成立了康普通讯技术(中国)有限公司,这是康普在亚洲开设的第一家工厂。该工厂的成立不仅提高了康普在亚洲市场的生产效率,也为其进一步开拓亚洲市场提供了有力的支持。此后,康普在亚洲市场的业务逐渐扩大,为众多国内大型项目提供了网络解决方案。

问答坊 | AI 解惑

嵌入式开发站点集锦

国内有关嵌入式开发的论坛 电子产品世界的论坛[2004年09月30日] http://bbs.edw.com.cn/index.asp 恒颐高科论坛[2004年09月30日] http://www.hyesco.com/forum/index.asp 国内站点 华恒公司的主页,里面有很多的相关资料,有待大家去发现 http://ww ...…

查看全部问答>

介绍一种新型“数字温湿度传感器”

这是采用双线串行数字接口的温湿度传感器,与单片机接口非常方便,时序也很简单。 测量的温度/湿度精度很高。我们使用以后觉得很好用,所以,介绍给大家。 特点如下: 相对湿度和温度测量 _ 兼有露点 _ 全标定输出,无需标定即可互换使用 ...…

查看全部问答>

EEWORLD平台需要大家共同建设,单靠几个人很难做好(一段关于芯币制度的对话)

以下是一段与EEWORLD网友关于芯币制的对话,从中更为深切地感受到EEWORLD的发展靠大家: lian为EEWORLD论坛单片机板块版主njlianjian,单片机培训的核心人物。 lian说: 论坛下载能不能取消掉芯币啊       因为如果我想下载 ...…

查看全部问答>

wince 打2008年的补丁出错

wince打了2008年的补丁,怎么连基本的sysgen都出错呢? 错误提示 tbtcore无法nmake,不知道有谁碰到过这种情况,不知道打2007年的补丁能不能正常编译通过,不过现在微软网站不提供2007年的补丁了,那位朋友有,能共享一下。。。。。。…

查看全部问答>

?哪里有Wince5.0 Pocket PC SDK

微软下载中心验证我的操作系统不是正版下不下来,请哪为高手帮忙?急需非常感谢!!!!…

查看全部问答>

各位手上有什么比较好用的bootloader吗?要求可以将nk.bin文件下载到内存中运行。

有的话给我发推荐一份啊,如果有时间的话麻烦给我发一份。 我的邮箱cy757#21cn.com(#改为@)…

查看全部问答>

大整数的转换问题

如何实现 大整数 999999999999 与 0xXX 0xXX 的十六进制数组 之间的互换? 请高手们指教~…

查看全部问答>

如何对付SMT的上锡不良

  波峰面:波的表面均被一层氧化皮覆盖﹐它在沿焊料波的整个长度方向上几乎都保持静态﹐在波峰焊接过程中﹐PCB接触到锡波的前沿表面﹐氧化皮破裂﹐PCB前面的锡波无皲褶地被推向前进﹐这说明整个氧化皮与PCB以同样的速度移动波峰焊机。  焊点成 ...…

查看全部问答>

STM8S有相应的低电压版本的吗?

有个项目用了STM8S105,电池供电(3节镍氢),系统中带DC-DC给功放供电,当DC-DC启动时或输出功率较大时,经常引起MCU复位。 STM8S有没有相应的低电压版本(即管脚,软件都一样,只是工作电压不同的)?…

查看全部问答>

STM32rtc有电池,确认起振后是不是就后顾无忧了?

                                 我的问题是如果我有外部电池给RTC供电,只要在厂测试RTC已经工作了后,只要电池有电就不会出现晶振不起振的情况吗 ...…

查看全部问答>