一、STM8开发环境 2 J I# A$ ?- y7 n- E* s( | 3 l* }* i! |7 w5 M! D 要使用STM8需要下载下列工具: 1、ST 8bit MCU通用集成开发环境 - ST Visual Develop 9 j# S; A( \+ u, {! D% ]. o! M( p http://www.st.com/stonline/products/support/micro/files/st7toolset.exe IDE包含代码编辑、汇编编译器、代码调试功能,不含C编译器。同时IDE还自带ST Visual Programer编程软件,支持主流8bit 2、COSMIC C Compiler for STM8 16K Limited 3 b+ ?. h1 W5 R7 v 免费的16K代码限制C编译器。 运行ST Visual Develop(STVD) 集成开发环境,通过菜单栏Files -> New WorkSpace我们可以新建一个新的STM8工程。 |
回复:STM8 开发环境、最小项目工程、最小系统
回复:STM8 开发环境、最小项目工程、最小系统
回复:STM8 开发环境、最小项目工程、最小系统
回复:STM8 开发环境、最小项目工程、最小系统
回复:STM8 开发环境、最小项目工程、最小系统
这样一个最小的应用工程模版STVD就帮我们自动产生了。
回复:STM8 开发环境、最小项目工程、最小系统
在stm8_interrupt_vector.c文件中,我们可以看到除去Reset向量外其它中断向量的入口均是统一使用void NonHandledInterrupt (void)函数。对于正常的使用我们还是需要重新跟改中断函数入库函数名称。
回复:STM8 开发环境、最小项目工程、最小系统
1、struct interrupt_vector const _vectab[] 指明的中断向量表,每一个类似{0x82, NonHandledInterrupt},偏移量的申明表示的都是一个中断矢量对于的中断函数名称。
2、 中断函数的申明 @far @interrupt void NonHandledInterrupt (void)
& E3 B, A( e( l
举例当我们需要使用I2C中断的时候,我们可以这样做:
1、申明I2C中断函数名称: 9 w+ U% Q& V( P ?
在struct interrupt_vector const _vectab[]中找到I2C中断函数入口,加入I2C中断函数名称 2 E- i6 S8 R3 `% j, n, A; p
{0x82, I2C_Server_Interrupt }, /* IRQ19 - I2C (I2C interrupt) */
2、在stm8_interrupt_vector.c文件中添加服务函数:
@far @interrupt void I2C_Server_Interrupt (void){
~~~~~加入中断服务代码~~~~~~ 3 h: v, c7 B/ P' L0 ?( }$ n: y* z
return; & L3 w: I5 M) A( O. ^
} 6 _6 [8 n) A {* o$ f, F9 r* _, F
3、最好在文件头上方申明外部可调用:extern void I2C_Server_Interrupt (void)
4、或者仅是申明函数,再定义STM8_IT.c、STM8_IT.h文件,将中断服务程序全部放置其中。 / p+ K- k' Q+ J- ~# R+ B
工程建立好以后,可以通过菜单栏“Project”->“Settings”来修改项目配置
回复:STM8 开发环境、最小项目工程、最小系统
1、项目编译默认存在Release、Debug两种选择。如需要自行添加其它类型,可通过菜单栏“Build->Configurations…”来配置。
RE:STM8 开发环境、最小项目工程、最小系统
RE:STM8 开发环境、最小项目工程、最小系统
RE:STM8 开发环境、最小项目工程、最小系统
回复:STM8 开发环境、最小项目工程、最小系统
RE:STM8 开发环境、最小项目工程、最小系统