STM8在IAR环境下的C语言开发
STM8单片机在IAR环境下的C语言开发
头文件搜索路径设置 在工程管理窗口按右键,选择option,打开选项设置窗口如下
选择C/C++ compiler选项,然后选择Preprocssor标签,在《Additional include directories 下输入要包含的搜索路径,这样在程序编译时,编译器会自动到该目录下搜索头文件。
2、单片机类型的选择
在工程管理窗口按右键选择option,选择 选项,然后再Target中选择相应的单片机型号。
Printf函数的使用
要使用printf函数,需要在工程管理窗口按右键选择《option》,选择 选项,然后选择《library Configuration》标签,在《library》中选择Full,如下图所示。
对于程序空间非常小的单片机,如STM8S003只有8K的程序空间,如果使用全功能的printf函数,则程序编译后代码空间不足,此时应不使用printf或者使用Tiny版本的printf,选择Library Options标签,选择Printf formatter为tiny。
为了能够使用printf,在程序中需要增加如下代码
#include "stdio.h"
//
// 使用Printf
//
// 又有STM8S003只有8K的内存,使用完整的printf则程序空间不足,必须使用tiny的printf
// 因此在工程的选项中Library configuration选择Full,在Library option中选择tiny
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar int ch
#else
#define PUTCHAR_PROTOTYPE int fputc int ch, FILE *f
#endif
PUTCHAR_PROTOTYPE //发送数据代码 UART1- DR ch; while UART1_GetFlagStatus UART1_FLAG_TXE RESET ; return ch; 查看程序编译后的代码大小 在工程的目录下有《Debug》和《Release》目录,目中中的《List》目录中有个扩展名为map的文件,文件名为工程名,打开该文件,可以看到程序编译后的代码大小