Toggle navigation
科创
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
登录
 
注册
电波
论坛
专栏
应用
登录
注册
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
论坛
>
电子信息
>
电子技术
文号
t56405
阅读
6088
回复
8
收藏
5
STM8系列单片机使用感受
flion
2013/04/27
电子技术
IP:浙江
刚来到论坛,看多数都是使用51系列的单片机。个人使用stm8系列单片机已有一段时间。发一些使用的感受来。
1.设置IO口的扩展功能时比如USART、AD这些时,必须设置好IO的输入输出状态。比如设为串口接收时,就需要设置为内部输入无中断上拉。我以前使用的是台系比如holtek芯片,刚转到stm8平台时这个问题让我查了很长时间,台系芯片设置很简单,只需要设置为扩展功能就OK。
2.对单个IO进行定义。51系列很简单的,比如sbit P00 = P1^0;台系芯片也很简单 比如#define LED FP10(sonix单片机的写法)但是STM8就得
typedef union{
unsigned char byte;
struct{
unsigned char BIT0 :1;
unsigned char BIT1 :1;
unsigned char BIT2 :1;
unsigned char BIT3 :1;
unsigned char BIT4 :1;
unsigned char BIT5 :1;
unsigned char BIT6 :1;
unsigned char BIT7 :1;
}BITS;
}PA_ODR_STR;
extern volatile PA_ODR_STR _PA_ODR @0x5000;
#define PAODR_ODR0 _PA_ODR.BITS.BIT0
#define PAODR_ODR1 _PA_ODR.BITS.BIT1
麻烦了许多。后来找到了另外一种定义方法,对寄存器进行位寻址_Bool LED1 @ PD_ODR:0; 但是写起来就比较繁琐了。
比较方便的做法是把上面的结构体做成头文件,以后编程只需要调用即可。
3.使用库还是直接操作寄存器?我刚开始也想用库来着,后来觉得没必要,也就那几个寄存器,还是自己搞搞快,还节省代码。^_^
+20
科创币
哈迪斯2001
2013/04/27
同感········帮激活~
+25
科创币
xxn599
2013/04/27
帮激活,stm8库还是比stm32简单不少的
来自:
电子信息
/
电子技术
8
0
全部
只看作者
flion
作者
13年8个月前
IP:未同步
520124
1楼
感谢 哈迪斯2001 你速度好快^_^
各位对于使用当中遇到的问题也可以提出来,咱们共同探讨一下[s:274]
加载全文
引用
评论
0
立棍
13年8个月前
IP:未同步
520131
2楼
我现在接触的机器,用STM8做MCU。我只能向里面烧别人写好的程序,受制于别人。
STM8的程序入门要学多久?具备什么基础?
加载全文
引用
评论
0
10班陈大葱22号
13年8个月前
IP:未同步
520167
3楼
直接位操作见这贴,CM0内核估计也一样
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
不过操作GPIO的时候还是写GPIO->BSRR快
加载全文
引用
评论
0
10班陈大葱22号
13年8个月前
IP:未同步
520169
4楼
啊擦,突然想起来STM8不是cortex内核的........
加载全文
引用
评论
0
xxn599
13年8个月前
IP:未同步
520178
5楼
帮激活,stm8库还是比stm32简单不少的
加载全文
引用
评论
0
flion
作者
13年8个月前
IP:未同步
520262
6楼
回 2楼(立棍) 的帖子
有c语言基础和其他单片机基础的话还是很快的。
首先是芯片的数据手册,要了解芯片都有哪些资源 自己又用到哪些
再么是编程手册。比如STM8S_RM_CH_V4.pdf
STM8S_RM_CH_V4.pdf
5.99MB
PDF
1377次下载
预览
加载全文
引用
评论
0
flion
作者
13年8个月前
IP:未同步
520266
7楼
回 5楼(xxn599) 的帖子
感谢xxn599。[s:274]我感觉用库的话两个就很像了。底层被屏蔽掉了已经,我现在做的一个项目用的是stm32,用库实现。在时效比较敏感的地方还是直接操作寄存器的
加载全文
引用
评论
0
全部
只看作者
在列表中查看
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
编辑
删除
{{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
保存
取消
我也是有底线的
保存中...
保存