第2个回答 2017-08-07
51和大多数单片机一样,是没有固定的书写方式的,也就是编程风格自由确定,自己想怎么来就怎么写,但是需要详细连接芯片内部结构,寄存器等,才能很好的书写程序,前后排序,但stm公司却出了一个所谓的库,用的是位段,结构+共用+链表的方式来控制端口控制寄存器等,初学者不需要了解芯片内部结构,只需读懂库,就可以对应其功能的控制,看起来旨在模仿C++的动态库了,但是你一旦习惯了这种独家风格,以后写其他芯片就受限了,因为没有库可调用,特别是到了arm9,A8等高端芯片,都是linux内核+驱动程序的,这时就感觉到苦头了,如果定位在永远不上系统,一辈子裸跑,那就沉浸在stm的库里吧,如果想升级到系统架构,那就最好不要受他独家库的影响