STM8s103F的工具链
单片机的工具链包含软件和硬件两个部分,软件部分就是IDE(集成开发环境),硬件部分就是下载器,对于51单片机来说软件部分就是Keil软禁,下载器就是STC-ISP,用一个USB转TTL线进行串口下载就可以了。对于STM8S103F单片机是不支持串口下载的,部分型号支持,用串口下载程序真的很麻烦。硬件部分用的是ST-LINK。软件部分选用的是IAR集成开发环境和STVP烧录软件。
软件部分
IAR软件和STVP软件的安装和下载网上有两种方法,一种是官网下,另一种就是淘宝客服会给你的破解版。
1、IAR创建工程
选择使用C语言编程,第一个选项是汇编语言,第二个是C++语言。
这里命名test文件并保存到D盘的小程序文件夹中。
选择单片机的型号
配置烧录工具为ST-LINK
编写代码后点击保存命名文件test并将其保存到小程序文件中,这样一个文件就建立完成了。编写好的文件下次可通过eww后缀直接打开。
2、STVP烧录软件的使用
将STLINK与STVP软件相连。STVP软件可以将固件程序下载到单片机的FLSH存储器中,可以修改STM8系列单片机EEPROM存储器中的内容,也可以修改STM8系列单片机的选项字节参数。
选择单片机型号
打开一个HEX文件点击第二个红的的烧录按钮将其烧录到单片机中。
注意:生成HEX文件要在IAR环境中进行配置,这里点击选项中的输出转换器进行配置,配置完成后点击
即可生成最新的HEX文件。
串口接收程序编写
#include "IOSTM8S103F3.h"
#define u8 unsigned char
u8 re;
int main( void )
{
UART1_CR1=0x00;//发送和接收数据为8位;
UART1_CR2=0x00;//初始化;
UART1_CR3=0x00;//初始化;
UART1_BRR2=0x03;
UART1_BRR1=0x68;
//设置串口收发波特率为9600bps,单片机的主时钟频率为16MHZ,
//16000000/9600=1667,将其转化为16进制为0x0683;
UART1_CR2=0x2c;//使能发送和接收,开启接收中断;
while(!(UART1_SR&0x20));//采用查新的方式判断是否开始接收数据即RXNE位为1时开始接受数据;
re=UART1_DR;//读取数据时RXNE位自动清零;
if(re==1){
PB_DDR|=0x20;//端口B的DDR5位为输出模式;
PB_CR1|=0x20;//推挽输出模式;
PB_CR2|=0x00;//输出速度最大为10MHZ
PB_ODR^=0x00;//控制灯亮
}
if(re==2){
PB_DDR|=0x20;
PB_CR1|=0x20;
PB_CR2|=0x00;
PB_ODR^=0xf0;
}
return 0;
}