51和stm8 51有什么区别

查看: 6382|回复: 6
终于啊,有STM8的专区了
主题帖子精华
初级会员, 积分 62, 距离下一级还需 138 积分
在线时间0 小时
好多论坛都不开STM8专区,终于在这看到了,欣喜。
一直看好STM8,也早就有了一块官方的Discovery开发板,只是迫于时间就没玩。拿出来用是迟早的事情。
大概是四年前,就有一家卖开发板的(免广告嫌疑就不说是哪家了)极力推荐STM8,说这货是未来等等云云。
在一些论坛里看过一些跟AVR性能对比,结果当然是用哪个的人支持哪个,但一致同意的是,STM8比51强不知道多少倍,而价格却比51便宜。另外从性价比上来说,无论51还是AVR都得跪在STM8裙下。。。
大概就是这样,在STM8区发的第一帖。
主题帖子精华
在线时间32 小时
谢谢支持。。。
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!
主题帖子精华
初级会员, 积分 199, 距离下一级还需 1 积分
在线时间1 小时
同意,相信STM8,相信他会步入众人学众人用的脚步。
因为爱所以爱
主题帖子精华
中级会员, 积分 448, 距离下一级还需 52 积分
在线时间26 小时
很久没用51了,一直在用STM8
凭着中专文凭在深圳闯出属于自己的一部分! Hard work!
主题帖子精华
初级会员, 积分 154, 距离下一级还需 46 积分
在线时间5 小时
便宜,性价比高。
功夫再高、也怕羊刀
主题帖子精华
金牌会员, 积分 2115, 距离下一级还需 885 积分
在线时间19 小时
去年我们成立的STM8版区,希望多支持ST
专业制作STM32 GPRS通信模块板,模块交流群:。
主题帖子精华
新手上路, 积分 45, 距离下一级还需 5 积分
在线时间4 小时
然而便宜并没有什么用,到现在资料教程还是少的可怜,就连ST官方也不怎么上心。
Powered by查看: 1442|回复: 0
关于调试stm32和stm8(51单片机)的i2c和spi协议的之间的区别
在调试STM32的i2c和io口模拟spi协议时发现时序是很关键的。stm32在72M运行下可以实现i2c或者spi协议,但并不代表把相同的代码移植到51单片机上就会成功的跑起来,因为51单片机的速读最块8M,所以在时序上会产生很多大的区别。经过测试,在stm32上的spi协议时钟线可达到20Khz,移植到51后,频率会降到&10hz。可是尽管把延时调小或者去掉还是无济于事,此时就要加几句把钟线置高置低的语句了以便增大的速度,后来成功后,测试时钟线的确达到了10Khz左右。
先贴上部分代码
unsigned char ReadRawRC(unsigned char Address)
& & unsigned char i, ucA
& & unsigned char ucResult=0;
& & MF522_SCK = 0;
& & MF522_NSS = 0;
& &&&ucAddr= ((Address&&1)&0x7E)|0x80;
& & for(i=8;i&0;i--)
& && &&&MF522_SI =((ucAddr&0x80)==0x80);
& && &&&MF522_SCK = 1;//stm32上没有
& && &&&ucAddr &&= 1;
& && &&&MF522_SCK = 0;
& & for(i=8;i&0;i--)
& && &&&MF522_SCK = 1;//stm32上没有
& && &&&ucResult &&= 1;
& && &&&ucResult|=(bit)MF522_SO;
& && &&&MF522_SCK = 0;
& & MF522_NSS = 1;
& & MF522_SCK = 1;
& &&&returnucR
Powered by业余爱好,学51单片机还是STM32 - STM32/STM8技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
业余爱好,学51单片机还是STM32
助理工程师
17:10:23  
不是为了工作,我的工作和这个东西没有半毛钱关系,只是爱好而已,
我有C的基础,网上买了个51单片机玩,看了一下LED灯的代码,后来又发挥了一些想象,觉得51不难,以后做个飞行器或者小车什么的应该没问题。学习了一段时间,了解到STM32这东西,强大不是一点点,于是想转玩一下STM32,但对这东西又不是特别了解,想请教大师们一下几个问题:
1-单片机51和STM32在编程上都是用C,没什么太大的区别吧?
2-网上朋友都说51代码短,很少代码就可以完成一个东西,STM32代码量大,需要写大量代码,是这样吗??
3-在对传感器链接的时候,51和STM32在代码上是否一样?
4-有些STM32里面带OS,这个OS是哪个核心?
5-STM32里面,我可以自己编写一个核心做OS吗?
6-这个也是最关键的,我这个阶段,适合直接学习STM32吗?还是先熟悉51再转STM32?
已退回10积分
17:31:25  
学习STM32,库函数编程,更容易上手,也很实用
21:52:06  
第五个问题可能就用到QT了
QT不是图形界面开发么?与OS有什么联系?
09:57:35  
你这是初学者么
助理工程师
10:17:19  
你这是初学者么
助理工程师
10:18:02  
1、虽说都是C,但都不是标准的C,所以语法还是有一点点小区别。
2、说代码短的都是没系统用过STM32的,STM32有官方库,代码看上去可能比较长,但是封装非常好,另外因为51的片子存储普遍比较小,想长也长不了。
3、AD DA这块51和STM32可以说就是寄存器访问这块不同,原理都一样,参考文档很容易实现。
4、任何硬件处理器都不会带OS,自然STM32也未带,OS需要自己选择编译,OS推荐选择RTX。
5、51都可以,STM32必须可以。
6、如果你不是为了工作上需要51,推荐你直接进入学习STM32。
10:18:21  
我讲讲一下我的认识吧,希望对你有帮助:
5年前:由于种种原因选择了51
5年前-3年前:51做了几个项目,觉得用来用去没什么突破,没有软件工程的概念
3年前-2年前:stm32做了几个项目发现又陷入和51一样的瓶颈
我觉得MCU软件的学习其实是具体学习-》抽象模板化-》具体应用的过程,在这个过程不要陷入
重复做一件事情的过程。争取做过一件事情就要抽象模板化,这样以后可以快速应用,我有一段
好多时间浪费在初始化,架构选择上面了,现在想想,一个项目最重要的是集成、功能和算法,其它
的都是一些重复性的劳动。希望可以对你有帮助。
当然这只是我当下的认识,水平可能不是很高,希望可以抛砖引玉。
10:35:06  
感觉你已经很精通51了
助理工程师
12:19:45  
我学习51已经有两年的时间了,也是刚刚接触STM32。两者之间的C语言还是稍有不同的。但是两者时间还是有共同之处的。归根结底,都是对各种寄存器的操作。一般51的外设和存储器是没有STM32丰富的。如果楼主想要做四轴飞行器,用51的话可能有点勉强。因为飞行器跟点亮LED和控制电机调速不一样,代码中有大量的控制算法,算法中会使用很多的变量,有变量就会占用内存,有可能最后出现内存不足无法编译的事情。这还不是唯一的问题,还有向运行速度,或者运算速度。有的单片机运算除法时会分配临时变量占用跟多内存。所以单片机的存储是和运算是一个硬伤。除非你编写的代码优化到最小,最精简同时又能满足系统的要求才行。唠叨的有点多。。。。。希望对楼主你有帮助
18:28:56  
如果51熟悉的话,学ARM就简单一些
20:45:32  
运用STM32库函数编程很简单的
等待验证会员
09:07:44  
51最适合初学者学习单片的,不仅编程简单,易于理解,而且单片机内部的配置也不难,易于上手。
相对来说,stm32就比较复杂了,虽然二者都是C编程的,但是,51用到的C知识较少。32大多会常用到指针,结构体,枚举。。。。但是,相对于51来说,stm32能够实现更为复杂的功能,反应速度有够快,做平衡小车和四旋翼不成问题。我还是建议先熟悉51,再学32,毕竟基础很重要嘛!
除了亲人欢聚的喜悦
让人头痛的就是来自亲朋好友的过度关怀
“做什么工作啊?”
“工资多少啊?”
“有没有女朋友?”
“什么时候结婚?”
“买房了吗?”
面对让人崩溃的问题,如何自救呢?快来支支招吧!
春节回家,除了见到亲人,儿时的玩伴
那一顿一顿的美食
带了家乡独有的味道
光是想想,都就能让人,垂涎三尺。
快拿起你手中的相机,拍下美食
一起分享你的幸福,还有机会中大奖喔
Powered by51单片机与
变量定义 区分问题 - STM8 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 612|回复: 6
51单片机与
变量定义 区分问题
在线时间16 小时
主题帖子精华
初级会员, 积分 186, 距离下一级还需 14 积分
初级会员, 积分 186, 距离下一级还需 14 积分
请问大家&&在51单片机 的程序中&&有这样的定义:
extern xdata unsigned char send_buf[64];& && && && && &//发送缓冲区
extern idata unsigned char recd_buf[64];& && && && && && && && & //接收缓冲区
extern data&&unsigned char temp_buf[72];
如果程序需要移植到&&STM8上的话, 请问 这样的变量定义&&应该怎样定义?
还是 可以直接 复制过来&&, 直接运行就OK 了???
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
在线时间2 小时
主题帖子精华
新手上路, 积分 46, 距离下一级还需 4 积分
新手上路, 积分 46, 距离下一级还需 4 积分
#if defined(_IAR_EW_STM8_)& && && && && && && && && && &&&// “IAR Embedded Workbench STM8”条件编译开始
#define regv& && && && && && &__tiny __no_init volatile
#define sfr& && && && && && & __tiny __no_init volatile
#define data& && && && && && &__tiny
#define idata& && && && && &&&__tiny
#define bdata& && && && && &&&__tiny
#define bit& && && && && && & __tiny
#define xdata& && && && && &&&__near
#define fdata& && && && && &&&__far
#define ixdata& && && && && & __near
#define flash& && && && && &&&const
#define farflash& && && && &&&const __far
#define code& && && && && && &const
#define ncode& && && && && &&&const __near
#define fcode& && && && && &&&const __far
#define eeprom& && && && && & __eeprom
#define rome& && && && && && &eeprom
#define nrome& && && && && &&&__eeprom
#define frome& && && && && &&&__eeprom
#define romf& && && && && && &__no_init __eeprom
#define nromf& && && && && &&&__no_init __eeprom
#define fromf& && && && && &&&__no_init __eeprom
#define pts1& && && && && && &__tiny& && && && && && && & // 存储器指针:1位,最大地址:0xFF& & (256 bytes)
#define pts2& && && && && && &__near& && && && && && && & // 存储器指针:2位,最大地址:0xFFFF&&(64K bytes)
#define pts3& && && && && && &__far& && && && && && && &&&// 存储器指针:3位,最大地址:0xFFFFFF(16M bytes)
#endif& && && && && && && && && && && && && && && && && & // “IAR Embedded Workbench STM8”条件编译结束
#if defined(_COSMIC_STM8_)& && && && && && && && && && &&&// “COSMIC for STM8”条件编译开始
#define regv& && && && && && &@tiny volatile
#define sfr& && && && && && & @tiny volatile
#define data& && && && && && &@tiny
#define idata& && && && && &&&@tiny
#define bdata& && && && && &&&@tiny
#define bit& && && && && && & @tiny
#define xdata& && && && && &&&@near
#define fdata& && && && && &&&@far
#define ixdata& && && && && & @near
#define flash& && && && && &&&const
#define farflash& && && && &&&@far const
#define code& && && && && && &const
#define ncode& && && && && &&&@near const
#define fcode& && && && && &&&@far const
#define eeprom& && && && && & @eeprom
#define rome& && && && && && &eeprom
#define nrome& && && && && &&&@near eeprom
#define frome& && && && && &&&@far eeprom
#define romf& && && && && && &eeprom
#define nromf& && && && && &&&@near eeprom
#define fromf& && && && && &&&@far eeprom
#define pts1& && && && && && &@tiny& && && && && && && &&&// 存储器指针:1位,最大地址:0xFF& & (256 bytes)
#define pts2& && && && && && &@near& && && && && && && &&&// 存储器指针:2位,最大地址:0xFFFF&&(64K bytes)
#define pts3& && && && && && &@far& && && && && && && && &// 存储器指针:3位,最大地址:0xFFFFFF(16M bytes)
#endif& && && && && && && && && && && && && && && && && & // “COSMIC for STM8”条件编译结束
ST金币1114
在线时间67 小时
主题帖子精华
金牌会员, 积分 1627, 距离下一级还需 1373 积分
金牌会员, 积分 1627, 距离下一级还需 1373 积分
STM8& &code&&xdata&&这些都是无效的。数据直接存储在flash区。这些都去掉。
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
在线时间16 小时
主题帖子精华
初级会员, 积分 134, 距离下一级还需 66 积分
初级会员, 积分 134, 距离下一级还需 66 积分
外部变量数组&&全局使用&&告诉编译器外部有使用
在线时间16 小时
主题帖子精华
初级会员, 积分 134, 距离下一级还需 66 积分
初级会员, 积分 134, 距离下一级还需 66 积分
xdata&&idata 看编译器支不支持了& &这个应该是存放地方
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
在线时间16 小时
主题帖子精华
初级会员, 积分 186, 距离下一级还需 14 积分
初级会员, 积分 186, 距离下一级还需 14 积分
xdata&&idata 看编译器支不支持了& &这个应该是存放地方
怎么看呢?&&我的编译器&&用到的是 STVD
在线时间16 小时
主题帖子精华
初级会员, 积分 186, 距离下一级还需 14 积分
初级会员, 积分 186, 距离下一级还需 14 积分
怎么看呢?&&我的编译器&&用到的是 STVD
例如 我直接 拷贝的话&&就出现了这样的错误
显示缺少& ; &
而实际 code 也是没有颜色标示~~~~
(67.94 KB, 下载次数: 0)
18:32 上传
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
站长推荐 /1
本次活动管理已根据网友报名,及实际贡献各选出20人大名单(包含原创之星、互助之星、活跃之星三项,可能有疏漏)。请大家参与评选投票,每人最多投5票~
Tel: 3-8064
备案号: 苏ICP备号-2
|||意法半导体STM32/STM8技术社区
Powered by}

我要回帖

更多关于 stm8与51 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信