找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5695|回复: 46
收起左侧

本菜鸟拜师 找个可以教我32位单片机的师傅

  [复制链接]
ID:61140 发表于 2023-11-7 09:33 | 显示全部楼层 |阅读模式
本菜鸟以前一直学51单片机,也一直在用51单片机,近年来看着别人搞的越来越强大,自己也想学32位单片机,苦于对32位单片机什么都不懂,自己又学不会,在此真心拜师求教,哪位大神愿用您的业余时间来教我学32位单片机的,在此先行谢过!
51hei图片_20231106222051.jpg

回复

使用道具 举报

ID:36322 发表于 2025-1-5 19:23 | 显示全部楼层
其实楼主源于对未知的恐惧和思维惰性。学51时比较简单,按照教程稍微一搞就可以看到效果。到STM32这里很多操作上都不一样了,首先在建工程甚至下载软件时都能让小白搞好久。其实这些没啥难度,网上大把的例程,唯一要做的就是静下心来,按照教程一步一步进行就可以了。配置库这些就是一个熟悉的过程,等能把点灯搞好就有底了,但后面还有很多库函数和配置方法需要摸索。这个过程就是一个思维转变的过程,不用纠结于每个库、函数、驱动等怎么实现的,只要明白怎么用就可以,做到把自己提升到系统编程的一个思维角度上。总之,一回生二回熟,多实践,遇到问题就百度,前期的问题都能找到答案。
    另外,还有个切入点的问题,编程小白学习51是很容易的,没啥映射、封装、调用等概念,所有操作直接一对一,甚至所见即所得。但让有计算机软件基础的人学单片机会进入另一个难题,学习STM32这种用库的可能很容易上手,因为他只需要知道怎么用接口函数就可以,完全不关心内部的实现原理,而如果让其按照51单片机的方式去操作寄存器就会走一些弯路,因为其没有电路的基础,无法理解对应的电路原理,按照计算机软件的方式去操作单片机是行不通的,这同样需要思维转变的过程。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:309610 发表于 2025-1-18 01:22 | 显示全部楼层
推荐江科大的,下载例程包,买个stm32103C最小核心板+下载调试器,总计20元,不要看那些花里胡哨的视频,不要管那些配置文件,以及各种库,直接使用江科的工程模板,然后下载可以点亮一个灯,学习到STM32下载方法,子程序结构。不要纠结具体怎么配置引脚,配置外设什么的具体函数,后面就可以尝试增加其他控制。
   最强方法是使用ChatGPT 例如直接告诉GPT,我要配置PA5为LED,推逸输出,PA3为SW上拉输入做按键,让GPT给你具体代码,不懂的复制提交GPT让他详细解释。比你去啃书看视频强百倍。
   不要看了很多视频,弄明白原理再去下手,成千上万的各种库函数,名字又长怎么记得住。只要明白代码架构就行。我玩了1年STM32 一个库函数名字都没记住,都是各种复制粘贴,问ChatGPT。下载调试。C语言都不需要多深入,复杂的逻辑,算法,各种指针交给AI。能描述出自己的思虑的问题就好。

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:1095802 发表于 2023-11-7 12:52 来自手机 | 显示全部楼层
51都会了32的不可能都不会吧,看视频也可以知道点啊,至少点灯还是可以的吧
回复

使用道具 举报

ID:883242 发表于 2023-11-7 13:31 | 显示全部楼层
会8位机学32位机有什么难的?应该更简单才对。
回复

使用道具 举报

ID:924942 发表于 2023-11-7 14:41 来自手机 | 显示全部楼层
B站上看看视频
回复

使用道具 举报

ID:61140 发表于 2023-11-7 15:29 | 显示全部楼层
殿堂之上 发表于 2023-11-7 12:52
51都会了32的不可能都不会吧,看视频也可以知道点啊,至少点灯还是可以的吧

对于32位单片机的下载方式以及编程软件不熟,还有IO定义等都不会弄
回复

使用道具 举报

ID:61140 发表于 2023-11-7 15:40 | 显示全部楼层
殿堂之上 发表于 2023-11-7 12:52
51都会了32的不可能都不会吧,看视频也可以知道点啊,至少点灯还是可以的吧

这个真不会,51的点个灯就是这样:
led1=P1^0;
led1=1;
Delay(500);
led1=0;
Delay(500);
重复执行这个就可以了
但是:
1.在32位单片机中所有I/O都不是P1.0什么的了,改成了A1,B1,C1,D1,E1的,不知道该怎么用。
2.51单片机写程序的时候直接新建个工程弄个C文件开写就行了。但是32位单片机听说还要弄什么驱动什么的。
回复

使用道具 举报

ID:61140 发表于 2023-11-7 15:41 | 显示全部楼层
Hephaestus 发表于 2023-11-7 13:31
会8位机学32位机有什么难的?应该更简单才对。

关键从来没弄过32位的,怎么下手都不知道。手上倒是有开发板,不知道怎么用,连下载程序都不会
回复

使用道具 举报

ID:374110 发表于 2023-11-8 17:56 | 显示全部楼层
用stm32cubemx基础配置基本都能给你配置好
回复

使用道具 举报

ID:1085441 发表于 2023-11-8 18:12 | 显示全部楼层
网上正点原子,野火,普中,江科大的视频都是公开的,跟着慢慢学
回复

使用道具 举报

ID:227393 发表于 2023-11-8 21:39 来自手机 | 显示全部楼层
先看32位单片机手册,看完就会了
回复

使用道具 举报

ID:1099039 发表于 2023-11-8 22:08 | 显示全部楼层
最近在回顾51单片机,看到您的帖子,突然发现32确实是复杂很多。相比起来,51的内部感觉清晰可见。

当然,32复杂,是底层的麻烦,比如编译的时候,需要启动文件(.s)需要链接脚本(.icf/.ld)需要中断向量表和更多的库文件。烧录需要使用jtag或swd下载,且需要指定下载到什么地方。运行前,程序需要配置内外部时钟、配置锁相环倍频、配置各个时钟总线的分频、配置向量表地址、以及系统滴答定时器等。然后32的外设也是默认关闭的,包括寄存器都写不进去的那种,使用外设前,需要先开启外设时钟,才能开始配置外设。等等。。。

不过这些内容其实被库和软件隐藏起来了,或者说帮我们处理好了,其实楼主可以放心,你说的那些如引脚ABCD以及驱动什么的,站软件封装外来看,是很简单的。

我给个简单的建议,楼主可以先用CubeMX生成一个程序,他这个软件可以直接配置IO的输入输出包括外设什么的都可以直接配置。生成出来的程序直接就能跑,只要找到main函数的while(1),在里面就可以像51一样直接开始写程序了,

  1. HAL_GPIO_WritePin(GPIOA, GPIO_Pin_0,  GPIO_PIN_RESET); // PA0=0
  2. HAL_Delay(500); // 500ms
  3. HAL_GPIO_WritePin(GPIOA, GPIO_Pin_0,  GPIO_PIN_SET); // PA0=1
  4. HAL_Delay(500); // 500ms
复制代码


先简单改一改、玩一玩,程序能跑起来,再学一学,就水到渠成了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:146878 发表于 2023-11-8 22:24 | 显示全部楼层
自己看视频,不懂的论坛问,没有人会无偿一对一指导的。
回复

使用道具 举报

ID:584814 发表于 2023-11-9 08:56 | 显示全部楼层
xiaoyuxinke 发表于 2023-11-7 15:41
关键从来没弄过32位的,怎么下手都不知道。手上倒是有开发板,不知道怎么用,连下载程序都不会

开发板没有说明书之类的 ?或者厂家已经封存所有资料网上禁止传播 ?
感觉51搞32位的至少已能凑合搞,P1.0 A1什么的说明书里一定都有。
回复

使用道具 举报

ID:236826 发表于 2023-11-9 10:23 | 显示全部楼层
推荐从stm32来入门   看正点原子或者野火家的视频来学习  现在网上这种资料很多而且遇到问题网上搜索一下基本都有解决方法   
回复

使用道具 举报

ID:61140 发表于 2023-11-9 12:22 | 显示全部楼层
xmmf 发表于 2023-11-8 22:08
最近在回顾51单片机,看到您的帖子,突然发现32确实是复杂很多。相比起来,51的内部感觉清晰可见。

当然 ...

感谢大神回复,其实我头疼的就是这些,感觉其实32位单片机在很多方面,其实不如51操作简便容易上手。
回复

使用道具 举报

ID:61140 发表于 2023-12-14 21:09 | 显示全部楼层
xmmf 发表于 2023-11-8 22:08
最近在回顾51单片机,看到您的帖子,突然发现32确实是复杂很多。相比起来,51的内部感觉清晰可见。

当然 ...

实在感谢您的指导,你说了很多,我看懂的很少,我原来什么都不会,后来自学的C和汇编,
再接触到32位单片机,发现无论如何学不会了。
回复

使用道具 举报

ID:731755 发表于 2023-12-14 23:17 来自手机 | 显示全部楼层
xiaoyuxinke 发表于 2023-11-7 15:29
对于32位单片机的下载方式以及编程软件不熟,还有IO定义等都不会弄

我网盘有,标准库函数的,要吗?普中,正点原子的都有?
回复

使用道具 举报

ID:731755 发表于 2023-12-14 23:22 来自手机 | 显示全部楼层
xiaoyuxinke 发表于 2023-12-14 21:09
实在感谢您的指导,你说了很多,我看懂的很少,我原来什么都不会,后来自学的C和汇编,
再接触到32位单 ...

STM32想快速入门,建议标准库函数,现在的开发板都升级到了HAL库函数了,
回复

使用道具 举报

ID:883242 发表于 2023-12-15 00:06 | 显示全部楼层
xiaoyuxinke 发表于 2023-12-14 21:09
实在感谢您的指导,你说了很多,我看懂的很少,我原来什么都不会,后来自学的C和汇编,
再接触到32位单 ...

总应该学会点儿什么吧,如果一点进步都没有,连卡在哪里都不知道,还是让这个帖子沉底吧,别顶了。
回复

使用道具 举报

ID:1104214 发表于 2023-12-15 08:56 | 显示全部楼层
b站江科大yyds从底层学起
回复

使用道具 举报

ID:491577 发表于 2023-12-26 23:09 | 显示全部楼层
楼主学单片机应该是玩玩,并不是以单片机位职业,其实现在51真的足够强了,开发板大部分都是89C52,大部分都够用了,目前的51单片机比89c52强了很多了,51做不了的STM32也做不好,想功能强一般是使用上位机做显示,数据处理,单片机主要功能是检测输入,控制输出,复杂的活由上位机处理。楼主用51足够了。
回复

使用道具 举报

ID:487821 发表于 2023-12-28 10:09 | 显示全部楼层
我感觉和用什么单片机无所谓,32位其实更简单了,主要是编程语言习惯要改变,从C向对象的转变
回复

使用道具 举报

ID:157007 发表于 2023-12-28 22:39 | 显示全部楼层
xiaoyuxinke 发表于 2023-11-7 15:40
这个真不会,51的点个灯就是这样:
led1=P1^0;
led1=1;

32位不要自己硬啃,这个是不现实的。除非天赋过人。
不要弄什么花里胡哨的本地单片机,直接就买个最简单的STM32F103的小板子,然后网上下载原子或者野火的例程包。本地的虽然有的很便宜,但是坑也多。32F系列的DAP调试器就可以了,十来块钱一个。
先把STM的弄透了,少走弯路,真批量了再换本地也不迟。本地的很难找到例程,而官方的文档也不是很全面。有坑也不会有人刻意和你讲。
原子的GPIO例程里有怎么点灯,怎么位带操作的,先把灯点起来。
任何单片机,只要端口能一高一低变化,其他也没什么了。慢慢摸呗,一定要用例程包来学,不要自己对着文档,甚至是英文文档死磕。
回复

使用道具 举报

ID:57657 发表于 2023-12-28 23:06 | 显示全部楼层
你学的这些都是电商专供,通过书籍、直播、视频、数据手册等学习,在小城市几乎不可能有学校师傅教的。
回复

使用道具 举报

ID:136485 发表于 2023-12-29 09:40 | 显示全部楼层
没有人无偿手把手教你的,要想学还得靠自己,开发板不是都自带例程的吗,自己先边学边动手
回复

使用道具 举报

ID:299519 发表于 2023-12-29 11:15 | 显示全部楼层
兄台,你的51怎么用的?烧固件看效果?
回复

使用道具 举报

ID:1107382 发表于 2024-1-1 11:54 | 显示全部楼层
网上有很多免费的教程的
回复

使用道具 举报

ID:23640 发表于 2024-1-4 14:30 | 显示全部楼层
如果照着视频教程来都点不亮灯,我建议楼主还是放弃吧,楼主不会是用51也只是点了个灯吧,51的串口/中断/定时器,学会了吗
回复

使用道具 举报

ID:61140 发表于 2024-1-18 16:24 | 显示全部楼层
殿堂之上 发表于 2023-11-7 12:52
51都会了32的不可能都不会吧,看视频也可以知道点啊,至少点灯还是可以的吧

点灯都弄不了,新建个项目还找不到头文件,头痛死了,还要加载各种库文件,都不知道哪是哪,晕死!
回复

使用道具 举报

ID:61140 发表于 2024-1-18 16:24 | 显示全部楼层
Hephaestus 发表于 2023-11-7 13:31
会8位机学32位机有什么难的?应该更简单才对。

你这是站着说话腰不疼啊,我从51直接转到ST32F,直接晕B了,下面不知道该怎么弄
回复

使用道具 举报

ID:61140 发表于 2024-1-18 16:25 | 显示全部楼层
HU1123 发表于 2023-11-8 17:56
用stm32cubemx基础配置基本都能给你配置好

连新建项目都没学会呢,配置这些更不会,天书一样的感觉
回复

使用道具 举报

ID:61140 发表于 2024-1-18 16:28 | 显示全部楼层
faguiq 发表于 2023-12-28 10:09
我感觉和用什么单片机无所谓,32位其实更简单了,主要是编程语言习惯要改变,从C向对象的转变

说的很对,这个很对我感觉,很多习惯都不一样了,所以才无从下手,开发板和烧录器我都有,但是不知道该怎么新建一个程序。
回复

使用道具 举报

ID:61140 发表于 2024-1-18 16:29 | 显示全部楼层
Hephaestus 发表于 2023-12-15 00:06
总应该学会点儿什么吧,如果一点进步都没有,连卡在哪里都不知道,还是让这个帖子沉底吧,别顶了。

我就是想新建一个项目,先写个最简单的LED闪烁,可是新建项目过程中要加载各种库文件,然后头文件这些都没找到在哪,最后无耐了
回复

使用道具 举报

ID:61140 发表于 2024-1-18 16:31 | 显示全部楼层
治世逍遥 发表于 2023-12-28 22:39
32位不要自己硬啃,这个是不现实的。除非天赋过人。
不要弄什么花里胡哨的本地单片机,直接就买个最简单 ...

你真理解我,虽然没学到什么,还是十分感谢你,因为你这些话真说对了,我就是死磕太久了,哪都没磕出来。
回复

使用道具 举报

ID:61140 发表于 2024-1-18 16:32 | 显示全部楼层
myemcu 发表于 2023-12-29 11:15
兄台,你的51怎么用的?烧固件看效果?

嗯,我一直都这样弄的,先写程序,然后下载到实物板看效果,不行再改程序再下载。
回复

使用道具 举报

ID:458247 发表于 2024-1-18 16:51 | 显示全部楼层
xiaoyuxinke 发表于 2024-1-18 16:32
嗯,我一直都这样弄的,先写程序,然后下载到实物板看效果,不行再改程序再下载。

写32单片机可以用stlink,仿真,看变量值的变化,比一次次烧录高效很多
回复

使用道具 举报

ID:61140 发表于 2025-1-4 22:08 | 显示全部楼层
Hephaestus 发表于 2023-12-15 00:06
总应该学会点儿什么吧,如果一点进步都没有,连卡在哪里都不知道,还是让这个帖子沉底吧,别顶了。

怎样新建一个程序,怎样下载,主要是这两点
回复

使用道具 举报

ID:61140 发表于 2025-1-4 22:10 | 显示全部楼层
faguiq 发表于 2023-12-28 10:09
我感觉和用什么单片机无所谓,32位其实更简单了,主要是编程语言习惯要改变,从C向对象的转变

说的正确,很多的不习惯,主要是不知道从哪下手了。所有51的习惯都不存在
回复

使用道具 举报

ID:61140 发表于 2025-1-4 22:11 | 显示全部楼层
治世逍遥 发表于 2023-12-28 22:39
32位不要自己硬啃,这个是不现实的。除非天赋过人。
不要弄什么花里胡哨的本地单片机,直接就买个最简单 ...

说的很对,谢谢你的帮助,可惜我不想死磕,但我无从下手,
回复

使用道具 举报

ID:517951 发表于 2025-1-5 08:54 | 显示全部楼层
买个野火, 正点原子的STM32开发板, 按照他们的教程, 视频, 一天一天学, 每天搞懂一个问题点. 有51编程的底子, 有基础更容易学明白.
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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