找回密码
 立即注册

QQ登录

只需一步,快速开始

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

stm8-初体验(STVD)

[复制链接]
跳转到指定楼层
楼主
ID:83710 发表于 2015-6-24 18:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*------------------------stm8-初体验--------------------*/

1.在之前请先按照好st visual develop,接着再安装COSMIC软件
2.打开STVD,选择菜单栏Tools-Options对话框,找到Toolset标签,Toolset中选择“STM8S COSMIC”,Root

path中选择COSMIC路径,默认是“CXSTM8_16K”路径。(建议安装COSMIC破解版)
3.运行ST Visual Develop(STVD) 集成开发环境,通过菜单栏Files -> New WorkSpace我们可以新建一个新的

STM8工程。
4.在弹出的“New WorkSpace”对话框中,我们可以STVD支持的集中工程模版类型。这里我们选择使用Create

workspace and project”。(WorkSpace是Project的管理平台,允许在一个WorkSpace中出现多个Project,通
过设定我们可以选择当前的活动项目。)
5.输入当前要建立的项目名称,并且可以根据应用的需要通过“Project location”来选择更改WorkSpace存放

路径。因这里介绍的例程我们需要支持的MCU平台是STM8系列,C语言使用COSMIC,因此我们还需要对使用的
Toolchain进行选择。
6.选择工程使用的MCU型号。
在对话框中我们可以看到当选中一个MCU型号,在右边的工具列表清单中会显示调试工具支持状态,绿色表示工

具可以支持,灰色表示不支持。这里仅是提供调试或仿真支持,不表示编程支持,具体编程支持需要通过STVP
编程软件确认。
这样一个最小的应用工程模版STVD就帮我们自动产生了,IDE界面右边的项目目录树中,我们可以看到STVD对工

程自动增加了两个文件,一个是main.c文件,一个是stm8_interrupt_vector.c文件。后者提供了STM8所有的中
断入口函数的地址表,以及用于各种不同类型外设中断函数名称申明。
7.生成的2个文件中没有对器件头文件包含,就需要自己手动添加。如果是没有使用库函数的话,仔细看下中断

向量表都是NonHandledInterrupt,比如开启外部中断1,将第二个NonHandledInterrupt修改为TLI_Interrupt
,然后定义TLI_Interrupt函数。如下:
struct interrupt_vector const _vectab[] = {
{0x82, (interrupt_handler_t)_stext}, /* reset */
{0x82, NonHandledInterrupt}, /* trap  */
{0x82, TLI_Interrupt}, /* irq0  */
{0x82, NonHandledInterrupt}, /* irq1  */
{0x82, NonHandledInterrupt}, /* irq2  */
{0x82, NonHandledInterrupt}, /* irq3  */
{0x82, NonHandledInterrupt}, /* irq4  */
{0x82, NonHandledInterrupt}, /* irq5  */
{0x82, NonHandledInterrupt}, /* irq6  */
{0x82, NonHandledInterrupt}, /* irq7  */
{0x82, NonHandledInterrupt}, /* irq8  */
{0x82, NonHandledInterrupt}, /* irq9  */
{0x82, NonHandledInterrupt}, /* irq10 */
{0x82, NonHandledInterrupt}, /* irq11 */
{0x82, NonHandledInterrupt}, /* irq12 */
{0x82, NonHandledInterrupt}, /* irq13 */
{0x82, NonHandledInterrupt}, /* irq14 */
{0x82, NonHandledInterrupt}, /* irq15 */
{0x82, NonHandledInterrupt}, /* irq16 */
{0x82, NonHandledInterrupt}, /* irq17 */
{0x82, NonHandledInterrupt}, /* irq18 */
{0x82, NonHandledInterrupt}, /* irq19 IIC */
{0x82, NonHandledInterrupt}, /* irq20 */
{0x82, NonHandledInterrupt}, /* irq21 */
{0x82, NonHandledInterrupt}, /* irq22 */
{0x82, NonHandledInterrupt}, /* irq23 */
{0x82, NonHandledInterrupt}, /* irq24 */
{0x82, NonHandledInterrupt}, /* irq25 */
{0x82, NonHandledInterrupt}, /* irq26 */
{0x82, NonHandledInterrupt}, /* irq27 */
{0x82, NonHandledInterrupt}, /* irq28 */
{0x82, NonHandledInterrupt}, /* irq29 */
};



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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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