这里要贴上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.如果要清除某个标志位,或许直接清除,这样比先判断再清除要快得多