[STM32F1] 大家怎么看正点原子的代码?

[复制链接]
88947|193
Leohot 发表于 2015-3-3 22:29 | 显示全部楼层
正点原子 发表于 2014-11-23 23:42
看来兄弟恨我不浅啊。。。

我们也有库函数版本例程,兄台是否有看到?

原子哥我支持你的!
sjw1716094642 发表于 2015-3-3 23:12 | 显示全部楼层
每次写代码的时候都要想想寄存器底层,毫无意思。
醉了。。。。。。你是觉得自己抄不了他的代码而来吐槽吧
sjw1716094642 发表于 2015-3-3 23:14 | 显示全部楼层
李富贵 发表于 2014-11-23 22:28
用寄存器误导新手,食古不化,应该挂路灯上吊死!

只有你,,才被“误导”了吧
myxiaonia 发表于 2015-3-4 07:44 | 显示全部楼层
正点原子 发表于 2014-11-23 23:53
我们代码有寄存器库函数两个版本。
所以,看我们的代码,请看全面了再做定论。

我给原子提个意见,你家寄存器版本直接操作用的数字,这样的数字不看用户手册明白不过来

建议可以使用stm32f10x.h这个头文件里的宏,那里对所有寄存器位进行了定义,可以避免无意义的数字出现

这是我用的crc dma的寄存器配置,你看看是否更直观些
  1.     RCC->AHBENR          |= 0
  2.                          | RCC_AHBENR_CRCEN
  3.                          | RCC_AHBENR_DMA2EN
  4.                          ;
  5.     DMA2_Channel1->CPAR   = (uint32_t)&CRC->DR;
  6.         DMA2_Channel1->CCR         = 0
  7.                          | DMA_CCR_MEM2MEM              //M2M模式传送
  8.                          | DMA_CCR_PLVH                 //优先级最高
  9.                          | DMA_CCR_MSIZE32              //外设位宽32位
  10.                          | DMA_CCR_PSIZE32              //缓冲区位宽32位
  11.                          | DMA_CCR_MINC                //缓冲区地址自增
  12. //                         | DMA_CCR_PINC                //外设地址不变
  13. //                         | DMA_CCR_CIRC                //非循环模式
  14.                          | DMA_CCR_DIR                 //存储器到外设
  15.                          | DMA_CCR_TEIE                //传输错误中断
  16. //                         | DMA_SxCR_HTIE
  17.                          | DMA_CCR_TCIE                //开启传输完成中断
  18. //                         | DMA_SxCR_EN                  //DMA流使能
  19.                          ;


lufanshui 发表于 2015-3-4 08:52 | 显示全部楼层
正点原子 发表于 2014-11-23 23:42
看来兄弟恨我不浅啊。。。

我们也有库函数版本例程,兄台是否有看到?

见仁见智;P
wang2945 发表于 2015-3-4 09:03 | 显示全部楼层
支持原子的,他提供的是两个版本的,写得真的很好,资料也很全
hitro 发表于 2015-3-4 11:10 | 显示全部楼层
不喜欢此人,那次在QQ群里说他代码写的不规范,可读性差,立马被他踢了 。。。感觉此人度量不咋地。。。
sunguoqiang 发表于 2015-3-4 11:39 | 显示全部楼层
我在项目中寄存器和库混搭的用,原子大哥的资料还是不错的。
whty2010 发表于 2015-3-4 22:20 | 显示全部楼层
原子的代码区分了寄存器和库函数也是为了方便学习定位不同的人,各取所需吧,喜欢哪种就用哪种。不过寄存器对于分析模拟查BUG还是很强的,不能完全否定。
原子在开源方面做得非常彻底,很值得推崇。
ETjason 发表于 2015-3-5 08:19 | 显示全部楼层
个人还是支持原子的,两个版本都有,对比学习,收获更大,现在库用的多些,毕竟配置起来比较方便,如果要追究问题的本质,看寄存器也一目了然。
正点原子 发表于 2015-3-30 19:16 | 显示全部楼层
Leohot 发表于 2015-3-3 22:28
原子哥我支持你的

谢谢支持
正点原子 发表于 2015-3-30 19:17 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
正点原子 发表于 2015-3-30 19:18 | 显示全部楼层
myxiaonia 发表于 2015-3-4 07:44
我给原子提个意见,你家寄存器版本直接操作用的数字,这样的数字不看用户手册明白不过来

建议可以使用st ...

谢谢,这个建议不错。
Vitality1 发表于 2015-3-30 20:19 | 显示全部楼层
确实是把STM32当做51来使用
quray1985 发表于 2015-3-30 23:05 | 显示全部楼层
我看到的正点的代码有直接操作寄存器的,也有带库函数的
myxiaonia 发表于 2015-3-31 07:46 | 显示全部楼层
正点原子 发表于 2015-3-30 19:18
谢谢,这个建议不错。

st搞的stm32snippetsf0,就是这么做的,有兴趣可以看看
hitro 发表于 2015-3-31 08:57 | 显示全部楼层
正点原子 发表于 2015-3-30 19:17
疯狗式的乱叫,就像精神病一样,进医院养好再出来比较好。

来来来,大家都来看看此人的素质。这种素质的人,还能写出什么好代码?
81190865 发表于 2015-3-31 09:27 | 显示全部楼层
如果寄存器真的没有用的话,官方的参考手册就不会用寄存器阐述了,在开发效率上库函数有着无可比拟的优势,但是寄存器对芯片的理解更加透彻,各有所长吧。
jstiger 发表于 2015-3-31 13:32 | 显示全部楼层
我是进来学习的。
luy3728000 发表于 2015-3-31 15:01 | 显示全部楼层
各有各的爱好,一棍子打死是不好的!正点原子的资料确实不错的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部