linux c编程 pdf
32位单片机好学习吗?
选择一款合适的32位单片机,掌握好正确的学习方法,就会很好学习。
目前市面上热门的32位单片机,非STM32莫属了,网上各种论坛以及开源的资料非常多,如此一来,能为我们的学习提供更多的帮助,超子提供一个学习路径供您参考。
1.C STM32需要使用C语言开发,所以首先要掌握C语言的基本语法,前期可以不必投入太多的精力,掌握基本的变量使用方法,while循环,for循环,if-else判断,switch分支判断,函数调用等基本知识,能看懂简单的STM32开发板程序即可。循序渐进,防止过深的理论知识打击学习兴趣和自信心。 2.准备一款合适STM32开发板 STM32单片机的学习,最终是要落到实际开发应用上的,单纯的学习理论知识,或是看别人写的程序是不行的。一定要动起手写程序,实际的操作起来,所以根据自身情况,选择一款合适的开发板,尽快上手动起来。 3.准备一个仿真器 程序是3分写7分调,尤其是新手入门,程序开发经验不足,虽然程序编译正确,但是还是经常遇到程序无法达到预期结果的情况,因为编译正确只是说明语法没有问题,但是程序逻辑出问题的话,就会导致程序无***常运行,经验老手可能更多的使用串口调试,但是新手学习还是建议准备一个仿真器,方便单步调试程序。 4.掌握单片机开发的第一个程序 目前各大32位单片机的厂家都提供了***开发工具,包括初始化代码可视化生成器,已经方便很多了。 借助这些工具,参考这些代码,将极大地促进对单片机控制流程的理解。 例如,STM32就有STM32CubeIDE,既是集成开发环境,又内嵌了可以化代码生成器,真的很方便。具体用法请参考我的专题。 建议先看看单片机的汇编语言,了解单片机的一些指令、中断等,能够写出简单的汇编程序(如果你实在是不喜欢汇编,个人觉得你最起码要看懂别人写的最简单的带定时器的流水灯程序,不用记指令,照着指令表看的那种)后再学C语言。当然如果要用32位单片机的话,最好在c语言基础上,再学c++,不过这是后话了,先入门再说。有什么不懂的大家可以互相交流。 对于有一定的单片机基础,能够熟练掌握51/***r单片机开发的同学来说,32位单片机,是比较好学的,因为不涉及linux。 对于没有单片机开发基础,甚至连C语言基础和模拟电路基础很差的同学来说,那么32位单片机就十分难学。 为什么这么说呢? 32位单片机,目前比较常见的是STM32,cortex-M3内核就是32位的普通单片机,常见寄存器开发和固件库开发,需要使用C语言的结构体和指针。 51单片机的寄存器简单很少,外设也简单,简单的代码就能实现功能各种简单的功能,而32位单片机的外设会比51单片机更多,其配置过程更为繁琐,32位单片机的时钟配置,时钟树的使能,比如以太网,FSMC,SDIO等功能的使用。 个人建议:如果你重来没有学过单片机的知识,也没有了解过,那么我觉得你应该从8位单片机开始学起,比较8位比较32位的要简单许多,并能通过8位单片机的学历来理解单片机的工作原理以及内部构造,虽然32位跟8位的有很多类似的地方,但是是存在明显的差别;所以先把理论基础弄扎实了,再学32位单片会容易很多,不然刚开始学就会遇到很多问题困难;当然如果你学习爱过8位得到单片机,那么现在学习32位单片会容易许多; 目前8位单片机在一般的电子产品中用的比较广泛,比较便宜嘛,够能也够用;常见的品牌有51系列:以intel MCS51为核心,很多[_a***_]都买了它的核心,生产自己的51单片机,主要有ATMEL公司(AT89S52等等),STC,ST都有生产。***R系列:以ATMEL公司的ATmega16为代表。3、PIC系列:以MICROCHIP公司的PIC16F877为代表。还有台湾品牌:合泰,松翰等,国内也有很多品牌比如当前比较流行的GD系列等;8为单片机内部结构相对简单些,主要包含:存储器,串行口,并行口,定时器/计数器,中断等; 32单片机就相对复杂些;在电子产品中应用也比较广泛,功能稍微复杂些的控制系统大部分都在用;目前比较流行的品牌有,STM32系列,ARM系列,PIC32系列,***R32系列,当然国内有GD32系列比其他国外品牌要便宜些;32位单片机内部集成的功能就比较多了,有IO口,定时器,ADC,DAC,串口,I2C,DMA等一系列的外设结构,基本上涵盖大部分常用的外设,用起来很方便功能很强大; 所以,建议你有基础就可以直接学32单片机,没基础就从8位的开始,熟悉了再转到32位单片机上,网上卖的各类开发板都有,都会配套许多教程及实例,学起来相对容易些,希望你能早日行动起来,开始学习。 [免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/14145.html