历史上的今天
今天是: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.如果要清除某个标志位,或许直接清除,这样比先判断再清除要快得多
史海拾趣
|
这是采用双线串行数字接口的温湿度传感器,与单片机接口非常方便,时序也很简单。 测量的温度/湿度精度很高。我们使用以后觉得很好用,所以,介绍给大家。 特点如下: 相对湿度和温度测量 _ 兼有露点 _ 全标定输出,无需标定即可互换使用 ...… 查看全部问答> |
|
EEWORLD平台需要大家共同建设,单靠几个人很难做好(一段关于芯币制度的对话) 以下是一段与EEWORLD网友关于芯币制的对话,从中更为深切地感受到EEWORLD的发展靠大家: lian为EEWORLD论坛单片机板块版主njlianjian,单片机培训的核心人物。 lian说: 论坛下载能不能取消掉芯币啊 因为如果我想下载 ...… 查看全部问答> |
|
wince打了2008年的补丁,怎么连基本的sysgen都出错呢? 错误提示 tbtcore无法nmake,不知道有谁碰到过这种情况,不知道打2007年的补丁能不能正常编译通过,不过现在微软网站不提供2007年的补丁了,那位朋友有,能共享一下。。。。。。… 查看全部问答> |
|
各位手上有什么比较好用的bootloader吗?要求可以将nk.bin文件下载到内存中运行。 有的话给我发推荐一份啊,如果有时间的话麻烦给我发一份。 我的邮箱cy757#21cn.com(#改为@)… 查看全部问答> |
|
波峰面:波的表面均被一层氧化皮覆盖﹐它在沿焊料波的整个长度方向上几乎都保持静态﹐在波峰焊接过程中﹐PCB接触到锡波的前沿表面﹐氧化皮破裂﹐PCB前面的锡波无皲褶地被推向前进﹐这说明整个氧化皮与PCB以同样的速度移动波峰焊机。 焊点成 ...… 查看全部问答> |
|
有个项目用了STM8S105,电池供电(3节镍氢),系统中带DC-DC给功放供电,当DC-DC启动时或输出功率较大时,经常引起MCU复位。 STM8S有没有相应的低电压版本(即管脚,软件都一样,只是工作电压不同的)?… 查看全部问答> |




