和记娱乐


网站导航

联系我们

和记娱乐

联系人: 

电 话:021-64057486

公司网址:http://www.happy123456789.com

   址:成都市松江区漕河泾松江新兴产业园区研展路丰产支路55号B座803室

邮编:201165


通信知识

您的当前位置: 和记娱乐主页 > 通信知识 >

真干货!从51到stm32开发入门

发布日期:2020-01-28 08:18 来源:和记h88 发布人:和记娱乐 点击:

  我看楼主浮躁得不得了。现在什么都不要做了,先去看几遍《不要做浮躁的嵌入式工程师》这篇文章,想清楚了,

  既然楼主说一定懂C语言了,那么对于下面我的问题,不查百度,完全靠自己,懂多少?然后查了百度之后又能懂多少?

  你有没有读过这个启动头文件? 51 也是同样的启动文件,51的那个启动文件有没有读过?你知道

  例如启动文件里面有这么一句,我的问题是 __main 这个标号在哪里实现的,注意,这里肯定不是 main 函数

  我一直推荐新手花钱买学习板和仿真器,因为可以排除硬件的问题,让初学者集中精力去写程序,而不用怀疑

  这阶段主要是看书,了解这个IC 的架构,了解指令集,了解寄存器(别跟我说你找不到这些资料? .....)

  博客,论坛等多个帖子,务必要对整个IC有个初步的了解。这个过程有点痛苦,但是值得花这个时间。

  既然我们要操作 IO 口,当然就要看IO口相关的知识。打开 STM3210x参考手册.pdf ,我的目的只是操作 GPIO

  所以我只需要将第五章看完就OK了。章节比较多,懒得看,根据一般的经验(楼主,你缺经验了吧?),不说多

  就AVR 和 PIC 而已。操作IO一般是两个步骤,第一,操作IO控制寄存器,设置IO为输出,第二就是送数据。

  为了点亮 LED ,我需要将 PB5 (也就是 GPIOB5)设置为输出,并且ODR相应的位写入 1 ,看资料得出 MODE5 是

  楼主你是否能看懂这句C语言??volatile 什么意思什么用?指针的本质是什么?为什么能这样用?2<<20 是什么

  下载运行,还不行,因为GPIOB 的CLK 没有使能,这时其实 GPIOB 是不能工作的,这是STM32特殊的地方,上电

  都是有意义的名字,哪里难记了??而且名字都来自ST的 datasheet、这个程序跟你用 51 写的程序我还真的

  为什么用结构体?因为结构体的的地址分配(RAM中)是连续(不知道楼主是否懂得,这还是C语言的问题),

  而STM32的一个模块的功能寄存器都是连续的,每个寄存器都是相当于 址加偏移,跟的理论一致

  不需要担心这样做的效率,因为都是地址,也就是指针,最终的效率是直接寄存器操作,效率常高的。

  还有,STM的库下载的时候包含了很多很多例子,库函数怎么使用在例子里面有很详细的介绍,不用写几行代码,

  1,ARM 没有SFR,也不需要,SFR 是51的关键字,没有理由 51 有 ARM 就要有。例如ACC,ARM 就没有,但是有

  2,STM32的寄存器在头文件已经全部有定义了,已经阐述了。(你看不懂不代表没有吧?)

      和记娱乐,和记h88,h88平台官网