找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于STM8S208MB单片机开发的问题

查看数: 1634 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-9-22 11:25

正文摘要:

首先感谢大家百忙之中抽空关注这个问题,首先对关注的人表示感谢.  开发环境IAR Embedded Workbench for STM8(3.11.4 已处理好) .开发芯片STM8S208MB.关于求助的内容有以下几点: 1 关于标志位的定义,此标 ...

回复

ID:123289 发表于 2022-9-24 13:18
【1 关于标志位的定义……】
答:51单片机有个特别灵活的地方,就是有256个可以按位进行操作的指令。其中系统用了128个。所以用户还可使用128个。
STM8和32相对比51功能强一点,内存也大多了,其设计理念就没有考虑用位操作的指令,所以无法直接按位操作。
如果你非要按位操作,只能变通一下。用与、或等逻辑运算,将字节逻辑到位,进行操行。如最高位是否为1:与8000H。置1:或8000H。

【2 关于中断函......】
答:单片机上有若干个中断源,每个中断必然有一个入口(CPU执行的地址),有时几种中断源会共用一个入口。
51的中断入口地址是指定死的。如0003H,0013H。也即对应的中断响应后进入0003H地址执行程序。
STM8中断入口稍活一些,它是从指定的地址中,取出你自由定义的中断入口地址,也就有了中断向量一说。方式复杂了一步,但更活了,入口可以在任意位置了。
如果你用汇编写程序,必须注意这些。
如果你用C写程序,编译平台会帮助你处理这些问题,你只要告诉平台,一个地址变量就可以了。

【3 关于中断的标志位....]
答:当中断源动作时,是否发生中断分两类。
一类是强制性的,必须响应,称为非屏蔽中断。
一类是由你决定的,也即给你一个开关,由你来决定是否允许它被响应。
各中断源为了表达自己发生了中断动作,就必须给出一个标记,这就是中断标记。
特别是,有的中断源共用一个入口,就更需要用这个标记区分是谁发生了中断。
中断标记只负责申请中断,至于是不是被响应执行,那是CPU的事。如果这个标记不被清除,它就一直申请。所以执行完中断程序后,要记得清除它,非则:又重新来一次又一次。

【4 关于ST-LINK/V2.我......】
答:STM8和32是完全不同的指定系统。如果你是编译平台,同样一个IF语句,你如果编译成CPU代码呢?写成STM8的呢?还是32的呢?
必须给出一个区分的方式。

【5 在程序编译没有错。......】
答:【编译没有错】只是平台对你写的程序,评价为:没有违反它的规定!!
不表示你没有其它错误行为!

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

Powered by 单片机教程网

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