如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多
typedef 在表现上有时候类似于 #define,但它和宏替换之间存在一个关键性的区别。正确思考这个问题的方法就是把 typedef 看成一种彻底的“封装”类型,声明之后不能再往里面增加别的东西。
STM32库里面设置usart的波特率是又乘又除, 初始化的代码可以直接用, 但要提高代码的效率,就要直接填分数分频值的立即数进入BRR寄存器, 改变波特率所以写了下面的宏, 希望大家有用/* 波特率的分数分频值宏 *///clk: u