找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1550|回复: 1
打印 上一主题 下一主题
收起左侧

关于STM8S208MB单片机开发的问题

[复制链接]
跳转到指定楼层
楼主
首先感谢大家百忙之中抽空关注这个问题,首先对关注的人表示感谢.  开发环境IAR Embedded Workbench for STM8(3.11.4 已处理好) .开发芯片STM8S208MB.关于求助的内容有以下几点:
1 关于标志位的定义,此标志位就是51单片机的 bit 位定义. 我在网上找了很多资料没有找到,说是不能用关键字,不知道能不能,如果能能否告知,如果不能又是以什么方式来定义类似 bit标志位的定义.
2 关于中断函数,因为我习惯性的用一个中断函数入口来包括所有的中断,就比如51里面的<interrupt void ISR(void)>这里面就可以包含所有的中断,里面只需要查询相关的标志位就可以来判断相应的中断是否被出发了.
3 关于中断的标志位问题.我也看了这款单片机的中文手册,关于中断的读取就是按照上面第二点那样的思路来查询的.我想请教一下这样的方法不知道可行.
4 关于ST-LINK/V2.我在TB上买的美版原装的.现在调试和下载也遇到了问题,安装驱动已经安装成功,在设备管理器>通用串行总线设备>STM32 STLink.用的是WIN10系统. 我也在网上找了资料,说WIN10的系统下驱动安装成功以后显示的只是STM32 STLink. 请教的问题是STM8和32的驱动是否是要单独安装,如果是不知道能否给个链接.或者安装驱动的程序也可以. 5 在程序编译没有错的情况下,用上面提到的IDE进行在线调试,现在下载不了.出现了以下提示,请问这种问题如何解决.就是现在ST Link/V2.连接不上.

11.jpg (669.51 KB, 下载次数: 77)

11.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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