矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: 分立元件

STM32的C语言写法和C51差不多!

[复制链接]
     
发表于 2019-12-30 23:49:55 | 显示全部楼层
本帖最后由 iffi123 于 2019-12-30 23:51 编辑
无敌吴刚 发表于 2019-12-30 11:51
哈哈!楼主已经开始学习了,我的还没签收。
这样看来,stm32用起来比51还要方便(没有那么多奇异的老式结 ...


前阵子投奔阵营的时候,毫不犹豫选择stm32,  51连intel都放弃了, 属于上一个时代的东西(当时还有个16位的8096)

立创买了个仿真器/下载器,  淘宝买了个迷你得最小系统板,就可以玩起来, 后来把最小系统板刷了st link固件,也可以当成仿真器,,,
回复 支持 反对

使用道具 举报

     
发表于 2019-12-30 23:55:35 | 显示全部楼层
w6955 发表于 2019-12-30 16:56
51基本内存极小,编译器肯定限制很多。内存是个很难伺候的资源,51编译器不得不仔细处理。我没写过编译程 ...

51那个年代,代码都不长, 用汇编是可以的, 对端口直接位操作,很方便, 当然stm32也搞了个位段区和别名区映射,也能实现
回复 支持 1 反对 0

使用道具 举报

     
发表于 2019-12-31 11:42:26 | 显示全部楼层
祥子陈 发表于 2019-12-30 00:53
位域也是个麻烦问题.51貌似只支持8bit的位域,16的不知道支持不,忘记了,反正32位的位域不支持,很是麻烦.

cortex-M3支持bitband的。
回复 支持 反对

使用道具 举报

     
发表于 2019-12-31 13:45:30 来自手机 | 显示全部楼层
iffi123 发表于 2019-12-30 23:49
前阵子投奔阵营的时候,毫不犹豫选择stm32,  51连intel都放弃了, 属于上一个时代的东西(当时还有个16位 ...

选对了!这片子综合能力性格比是最高的!不像某些51或加强版51。有USB的又没有12位ADC,有12位ADC的又没有USB。两样都有的价格又不知道飞到哪里去了!辛辛苦苦地学习pid算法,看到教程最后来了一句“这个pid算法啊!51单片机运行不了!硬件配置不够高!所以下面咱们选用具有32位运算能力的STM32来进行这次仿真试验!”当场吐血………
回复 支持 反对

使用道具 举报

     
发表于 2019-12-31 17:18:43 | 显示全部楼层
bis 发表于 2019-12-31 11:42
cortex-M3支持bitband的。

AVR ARM都支持,非常方便.
回复 支持 反对

使用道具 举报

     
发表于 2019-12-31 21:26:51 | 显示全部楼层
无敌吴刚 发表于 2019-12-31 13:45
选对了!这片子综合能力性格比是最高的!不像某些51或加强版51。有USB的又没有12位ADC,有12位ADC的又没 ...

PID算法本身非常简单好不好,4位机都能跑的很愉快,你举得例子根本就不对。

PID算法的难点在于现场找到P、I、D三个参数的具体的值,这就是另一个问题了。
回复 支持 反对

使用道具 举报

     
发表于 2020-1-1 13:17:31 来自手机 | 显示全部楼层
bis 发表于 2019-12-31 21:26
PID算法本身非常简单好不好,4位机都能跑的很愉快,你举得例子根本就不对。

PID算法的难点在于现场找 ...

真的吗??我看教程的时候他说要涉及小数、浮点的的运算,8位单片机运行不好!
回复 支持 反对

使用道具 举报

     
发表于 2020-1-1 23:16:14 来自手机 | 显示全部楼层
矿坛铁粉 发表于 2019-12-30 00:44
51设计时因为内存昂贵所以栈(地址寄存器)只支持8位即256字节,后来虽然内存价格降低容量不断加大,但51架 ...

51上跑OS您是想多了吧,8位单片机裸奔是最合适最有效率的顶多加个监督程序。至于实时多任务,甚至跑OS还是交给更高级的CPU或mcu吧。
回复 支持 反对

使用道具 举报

     
发表于 2020-1-2 06:59:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-1-7 19:28:06 | 显示全部楼层
悄悄的问问,有南京的没,我想交个朋友学习单片机。我就会些硬件的知识,也从事相关的工作,后期能有成果当然会有感谢的
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-1-7 21:45:04 来自手机 | 显示全部楼层
qqyyll 发表于 2020-1-7 19:28
悄悄的问问,有南京的没,我想交个朋友学习单片机。我就会些硬件的知识,也从事相关的工作,后期能有成果当 ...

你这个估计只能在网上学了,我也是这样过来的,以前没有网络都是看书自学,自从有了网络学习方便很多了!
回复 支持 反对

使用道具 举报

     
发表于 2020-1-8 09:53:11 | 显示全部楼层
一个小建议,既然楼主还没入门,就别用标准库了,不如直接用HAL库,如果嫌HAL库太大就用LL库,可以用stm32CubeMX直接生成初始化代码,省很多事
回复 支持 反对

使用道具 举报

     
发表于 2020-1-8 10:15:17 | 显示全部楼层
DB_Cooper 发表于 2020-1-8 09:53
一个小建议,既然楼主还没入门,就别用标准库了,不如直接用HAL库,如果嫌HAL库太大就用LL库,可以用stm32C ...

如果程序不大,自己写写,对了解stm32有帮助,初学者用寄存器操作有助于了解芯片, 熟练后稿大的再用库函数什么的更快
回复 支持 反对

使用道具 举报

     
发表于 2020-1-8 12:57:30 | 显示全部楼层
iffi123 发表于 2020-1-8 10:15
如果程序不大,自己写写,对了解stm32有帮助,初学者用寄存器操作有助于了解芯片, 熟练后稿大的再用库函 ...

我和您看法恰好相反,哈哈。其实很多人都有个执念,觉得对底层要特别了解才行,。学过51单片机的大都被前辈推荐学汇编,为的是了解“单片机的工作原理”,学过stm32的大都被前辈推荐先学寄存器,熟练了再用库,为的也是了解“单片机的工作原理”。然而有必要那么了解吗?我觉得不是每个人都需要那么了解,单片机是工具,能实现自己的目的就行。用库能省去配置寄存器的繁琐,用CubeMX自动生成代码能省去配置初始化的繁琐,提高底层配置的效率,专注于上层的功能,省时省力有何不好?

当然我上面说的只是我个人的想法,主要针对电子爱好者,不包括相关从业者或者就是热爱单片机的人,而且用库也绝对不代表就可以对寄存器一无所知。
回复 支持 1 反对 0

使用道具 举报

     
发表于 2020-1-8 13:33:40 | 显示全部楼层
本帖最后由 iffi123 于 2020-1-8 13:36 编辑
DB_Cooper 发表于 2020-1-8 12:57
我和您看法恰好相反,哈哈。其实很多人都有个执念,觉得对底层要特别了解才行,。学过51单片机的大都被前 ...


和个人学习的习惯有关吧, 如果底层了解多些,出问题排查硬件问题也有帮助, 不急着起飞,先打好基础再赶上也不难

对于某些比较常用的库函数,我还会把函数原形看一遍,看看st官方是怎么做的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-19 14:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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