最近ST在国内大力推广他的8位高性价比单片机STM8S系列,感觉性能上还是非常不错的,网上稍微看了点资料,打算有机会还是学习一下,先入门为以后做好技术积累。好了,长话短说。手上拿到一套ST最近做活动赠送的三合一学习套件,上面包括STM32F小板、ST LINK小板、STM8S小板,做工很精致,相信很多朋友也收到了。既然当初去申请了,人家也送了,总得把用起来吧,放着吃灰尘是很可惜的^_^ 。 好,步入正题,刚开始在论坛上逛了一圈,感觉STM8S的资料实在太少,都是官方的应用资料,没有什么入门介绍,连需要安装什么软件都搞不清楚。偶的电脑光驱坏了,所以也读不出光盘里有什么东西,所以只能到处瞎摸,还是ourdev论坛好,嘿嘿,仔细看了几个帖子,总算明白大概是什么样的开发环境了。用C语言开发STM8S,需要安装两个软件: 1、STVD IDE开发环境; 2、COSMIC for STM8 C编译器。 STVD可以到官网下载,下载地址: http://www.st.com/stonline/products/support/micro/files/sttoolset.exe COSMIC 需要申请LICENSE,比较繁琐,刚好坛子有人传了一个免安装无限制版本的,偶就赶紧下载了,大家可以去下载,仅做为个人学习使用。下载地址: http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3229327&bbs_page_no=1&bbs_id=3020 软件下载后,只需安装STVD。从上面地址下载的COSMIC不用安装,只要解压到硬盘即可。后面建立工程的时候设置好路径即可。 下面一步一步开始啦~ 一、安装好STVD后,桌面上建立了两个快捷图标,ST Visual Develop就是STVD了。ST Visual Programmer是编程软件,可以配合ST LINK对STM8S进行编程烧录。 二、双击运行ST Visual Develop,启动STVD开发环境。执行 File New Workspace,在New Workspace窗口里选择Create workspace and projects,点击“确定”建立工作组和工程 三、在Workspace filename里输入Workspace名称,由于最终我们要测试一个现成的LED程序,所以偶写了led,随你喜欢了,呵呵。在Workspace里设置好文件当前要存放的路径。然后点“OK”确定。 四、在Project filename里输入工程的名称,在Project location里设置好工程的存放路径。因为我们是要用C语言来开发的,所以在Toolchain里要选择 STM8 Cosmic 编译器;在Toolchain root里就要填写你刚才下载解压后的那个无限制的Cosmic的存放路径就可以了。都填好后,点“OK”。 怕大家搞不清楚上面的那个Toolchain root的存放路径,特截图一张。我是放在那里的,你看你放哪里就填哪里的路径。 五、在MCU Selection里,需要选择实际的MCU型号了,ST送的套件板上的芯片型号是STM8S207SBT6C,而下列的型号中却是STM8S207S8,没对上号,不知道是不是STVD弄错了。反正偶选下面的STM8S207S8是可以用的,先用着咯,呵呵。双击型号后,点“OK”。 六、下面工程就建立好了,呵呵,自动生成main.c 、stm8_interrupt_vector.c 、mods0.h。试试compile、build,一切顺利,因为现在main.c只有一个主程序,所以还是可以编译通过的,没有什么错误提示,如下下图: 好了,以上就是使用STVD建立工程的详细步骤了。 由于上面的main.c没什么实质的程序运行,所以下面我们要运行一个ADC电压采集,并把采集值赋给定时器,实现定时器PWM的变化输出,驱动LED亮度发生变化的程序,这个程序我是从一个论坛上下载的,应该也是这个套件板的光盘里的内容。 我先把这个程序工程里的3个文件(main.c 、 tm8_interrupt_vector.c 、 STM8S207R.h)传上来,其实这个工程也是可以直接运行的,但为了让我们上面辛苦建立的工程发挥下作用,所以还是继续沿用上面的工程,然后把我上传的3个文件名里的main.c 、 tm8_interrupt_vector.c 里的内容复制到我们刚才建立好的工程对应的文件里;并把STM8S207R.h这个文件复制到我们工程目录下,并添加到工程里,这个头文件是必须的。 大家先下载这3个文件: 点击此处下载 :LED.rar 然后编译程序,成功! 嘿嘿,下面要把实验板连接到电脑调试了。 不过在连机调试前,要先设置下Debug instrument的Target Settings…,实验板配套的是ST LINK,所以就选ST LINK就可以了。 还有一个重要的,差点忘了,那就是STM8S小板需要接独立的外部电源,DC9~12V,插座是内正外负,别搞错正负极了。 接上电源,板上的D4电源指示灯应该亮起,用USB连接线把ST LINK连接到电脑的USB。 然后点击DEBUG按钮,进入仿真调试界面 中间有一个确定窗口需要确定下就可以了。 进入仿真界面后,执行RUN按钮运行程序,这时候实验板进入全速运行的状态,可以看到实验板上的LD2发光二极管以一定的频率在闪烁,LD1微亮,这时候顺时针旋转板上的那个电位器,可以发现LD2的闪烁频率变慢,同时LD1的亮度增强。逆时针旋转电位器则反之。 OK,至此STM8S的基础入门到此结束,由于工作繁忙,更深入的了解学习请大家多多探讨,这样才能进步得更快。谢谢~ 本工程里的这个ST公司写的测试程序里有详细的英文注释,看看基本都能看懂。中断函数需要在tm8_interrupt_vector.c里写,大家注意下就可以了。现在没有用到什么ST的函数库,所以感觉像在用C语言开发AVR,差别不大。 时间仓促,难免有错别字,请大家谅解。
|