单片机都是相通的,既然会51单片机,学起STM32来也很快,下面从区别以及学习方法上简单解答一下。
51和STM32在学习上的区别
STM32单片机是cortex的内核,32位,比51单片机功能强大很多,片上资源也多很多。51单片机在编程时都是直接操作寄存器,没有库函数的支持。由于功能有限,所以51单片机的寄存器的设置要相对简单一些。而STM32单片机由于功能强大,引脚复用较多,在设置寄存器时会稍微麻烦一点,但是STM32有官方的库函数支持,也可以弱化寄存器的设置。
如何学习STM32单片机
STM32单片机和51单片机在硬件电路设计上区别不大,对于一些特殊的功能需要考虑专用的GPIO口。学习STM32还是主要针对编程。建议入手一块开发板,以开发板的外设电路为基础,学习STM32的编程。
学习GPIO的设置,在学习之处还是建议从寄存器设置入手,先不要直接学习库函数。在这一部分主要学习如何将GPIO口设置为输入、输出、如何设置为上拉、下拉模式,学习控制LED、蜂鸣器、继电器、按键输入等典型的应用。
学习定时器的设置,定时器是单片机的标配,在做产品时定时器功能使用频率比较高,学习定时器的不同的配置模式、计数、定时等功能。
学习中断的设置,中断的使用可以大大提高单片机代码的执行效率,单片机的中断源有多种类型,如定时中断、外部中断、通讯接收中断、通讯发送中断、AD采用中断等。
学习通讯功能的设置,单片机的通讯端口UART是标配,除此之外还有IIC,SPI,CAN,USB等,根据板载资源学习通讯功能的参数的设置。
参与项目,学以致用
学习单片机的目的就是为了设计产品,所以一定要学以致用,甚至都可以边做产品边学,找各种机会去练手,不管是自己做着玩,还是为了产生价值,避免以书为核心的盲目死学。