找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1261|回复: 9
收起左侧

关于STM32学习的问题,点亮一个LED灯为何要那么多C语言语句?

[复制链接]
ID:1017814 发表于 2022-4-22 09:46 | 显示全部楼层 |阅读模式
前几天从网上看到一些STM32教程视频,很是矛盾,为什么那么复杂?
比如点亮一个LED小灯,用51单片机C语言没有几句就成了,可 STM32就复老半天的语句,当然我知道STM32是为了开发一些更高级的程序,

好比说是物联网,指纹识别,蓝牙等等,这也是它的优点吧,但是我看到的都是查文件库,代码复制等,还有就是代码好长。

以上是我个人的看法,那里有不对的,讲高手给指点指点,非诚勿扰哦.




回复

使用道具 举报

ID:1017814 发表于 2022-4-22 09:49 | 显示全部楼层
还请高手指点一些STM32的学习方法。
回复

使用道具 举报

ID:301191 发表于 2022-4-22 20:03 | 显示全部楼层
顶一下
回复

使用道具 举报

ID:220661 发表于 2022-4-22 20:36 | 显示全部楼层
端口速度什么的配置寄存器说道太多,所以很多初始化语句。主要原因是功能多所以复杂了。
回复

使用道具 举报

ID:47286 发表于 2022-4-22 21:00 | 显示全部楼层
把东西从甲地送到乙地 骑自行车蹬上就走了 开车去就得有驾驶证 得懂交规 功能越强基础要求越高
回复

使用道具 举报

ID:401564 发表于 2022-4-22 21:01 | 显示全部楼层
1,可移植性
2,标准化
我学了十几天,感觉还行,前面还打几个代码,后面,就基本是C+V了
不要带着8051的心态去学STM32,什么节省内存,哪种语句效率高,节约IO,哪种语句占用RAM
你要是想代码简单,可以用所谓的"寄存器版",那就跟8051一样的写法了,但你去看 下STM32的数据手册,你头不晕?
回复

使用道具 举报

ID:883242 发表于 2022-4-22 22:48 | 显示全部楼层
功能多自然就复杂,最早的51的IO口就是IO口,不需要配置直接就能用。但是你看看现在的STM32一个IO口有多少种功能,不配置你敢用吗?
回复

使用道具 举报

ID:1020898 发表于 2022-4-23 12:27 | 显示全部楼层
首先,打开Keil,创建主函数,当然,点亮一个LED灯的话,灯的负极肯定要接单片机IO口,然后让端口输出低电平,外部有电源给LED供电,就完成点亮一个LED; 接着我们就要写代码让端口输出低电平,对于stm32来说,首先就是打开GPIO口的时钟,这里我们一PB0为例; 1:打开端口时钟(Rcc)(st设计时为了降低功耗,因此初始时时钟是关闭的); *(unsigned int *)0x40021018  |=(1<<3);         我们这里是直接操作内存进行的,可以在32手册上查到0x40021000,然后需要加上偏移量0x18,至于为什么要加强制类型转换,是因为直接写地址的话计算机无法将它当做地址,因此加这个,最后进行置位操作,将第三位变成1,就打开时钟了,下面类似; 2:配置端口为输出(Crl寄存器): *(unsigned int *)0x40010c00 |=(1<<0); 3:端口输出低电平即0(Odr寄存器); *(unsigned int*)0x40010c0c |=~(1<<0);
回复

使用道具 举报

ID:1020935 发表于 2022-4-23 14:46 | 显示全部楼层
99%的程序在进行系统初始化,等同于配制电路;1%的程序用来执行点灯
回复

使用道具 举报

ID:1017814 发表于 2022-4-23 17:45 | 显示全部楼层
谢谢了,非常感谢,这可能是我的一好的入门吧,从学51用KEIL到今天刚刚看了看视频,关于STM32的介绍,有了一个初步的认识,就像大侠说的,STM32是个比较复杂的单片机,也让我也明白了什么是嵌入

什么是底层架构,

也想在今后的学习中,讲大家指点,帮助,再次感谢了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表