stm8串口烧录软件

时间:2021-11-03 03:41:28 100字

篇一:《STM8烧录说明》

1. USB线连接电脑和烧录器,开启烧录器电源双击桌面图标WizPro100STM8.exe,打开烧录程序

2. 选择MCU型号:STM851AXX--STM8AF51AAT

3. 鼠标点击“加载”按钮,载入MCU烧录软件(默认为.S19文件格式),如下图:

4. 点击“打开”,载入SV64E0.s19文件,载入后的界面如下:

5. 点击程序界面“Option Byte”项,

右键点击“AFR7=0”一栏,选择1:Port D4=Beep,设置AFR7=1,

其他均保留默认设置。设置后的界面应该和下图吻合:

6.

7.

8.

9. 点击程序工具栏“下载”按钮,将程序下载到烧录器中,时间为10秒钟左右 下载完成后,拔去USB连接线,关闭烧录器电源。 重新开启烧录器电源,在听到烧录器“嘀”响一声之后就可以进行离线烧录了

9.离线烧录:正确放入芯片,压紧,此时,轻按烧录器上的“编程按键”,则烧录器的状态指示灯(绿灯)不断闪烁。烧录完成后,烧录座的“OK”灯点亮,并会听到烧录器“嘀”响一声,说明烧录成功。一次烧录在十几秒钟左右。

10.一次烧录完成后,取下芯片,重复第9步骤,连续烧录。

篇二:《STM8串口收发(典型)》

最近开始使用stm8s103k3单片机了。据说很好,确实不错。前几天已经试过了GPIO,Timer2,ADC的功能,唯独串口UART使用,破费周折,写出来,供大家借鉴。

我使用的是stm8s103k3,32脚单片机,这个使用手册上说了UART1,UART2,UART3。但是引脚的功能图上只有你打开stm8s103k.h的头文件,里面也只有UART1寄存器的定义说明。所以我认为只有UART1。既然有这个功吧,我以为直接可以连接到电脑的串口(COM1),就可以使用了,其实不可以。单片机即使写着提供UART通讯接MAX232转接芯片,我就在这里耽误了许多时间。

1、使用stm8s103上的串口和计算机com口通许的硬件连接:

2、软件设置

(1)发送数据配置

1)编程UART_CR1的M位来定义字长。

2)在UART_CR3中编程停止位的位数。

3)按下列顺序编写波特率寄存器选择要求的波特率。

a)UART_BRR2

b)UART_BRR1

4)设置UART_CR2中的TEN位来使能发送

5)把要发送的数据写进UART_DR寄存器

main.c程序如下:

#include "stm8s103k.h"

void UART1_Init(void)

{

UART1_CR2=0x00;//使发送禁用TEN=0;

UART1_CR1=0x00;//设置M字长,8位数据位

UART1_CR3=0x00;//1位停止位

UART1_BRR2=0x00;//00-0d:9600(fcpu=fmaster=2MHz)

UART1_BRR1=0x0d;//00-1a:4800; 01-34:2400

UART1_CR2=0x08;

}

main()

{

//fmaster=fcpu=2MHz

CLK_ECKR=0x00;

CLK_ICKR=0x01;

CLK_CMSR=0xe1;

CLK_SWR=0xe1;

CLK_CKDIVR=0x18;

UART1_Init();

while (1)

{

unsigned char i;

while(!(UART1_SR & 0x80));//发送寄存器数据是否转移完

UART1_CR2=0x00;//a处

UART1_DR=0xB6;//要发送的数据

UART1_CR2=0x08;//b处

while((UART1_SR & 0x40) ==0);//发送是否完成

}

}

上面的代码是我反复实验过的,如果不加a和b处代码,则接收的数据不稳定,比如发送5,接收到的数据的串则接收的数据可能是0xB6,或0x67,或0x3B.

(2)接收数据

1)编程UART_CR1的M位来定义字长。

2)在UART_CR3中编程停止位的位数。

3)按下列顺序编写波特率寄存器选择要求的波特率。

a)UART_BRR2

b)UART_BRR1

4)设置UART_CR2中的REN位来使能接收

5)读UART_DR寄存器

a)查询:查询SR中标志位RXNE (读数据寄存器非空)

b)中断:需使能CR2中的RIEN(接收中断使能)

标志位查询方式:

初始化:

void UART1_Init(void)

{

UART1_CR1 = 0x00; //8bit

UART1_CR3 = 0x00;//1 stop bit

UART1_BRR2 = 0x01;

UART1_BRR1 = 0x1A;//4800 baud rate

UART1_CR2 = 0x04;//enable REN

}

Main()函数:

while (!(UART1_SR & 0x20));//Loop until the UART1 Receive Data Register is not empty

RxBuffer = UART1_DR; //Store the received byte in RxBuffer

中断方式:{stm8串口烧录软件}.

初始化:

void UART1_Init(void)

{

UART1_CR1 = 0x00; //8bit

UART1_CR3 = 0x00;//1 stop bit

UART1_BRR2 = 0x01;

UART1_BRR1 = 0x1A;//4800 baud rate

UART1_CR2 = 0x24;//enable REN and RIEN

}

UART1接收中断函数:

@far @interrupt void UART1_RX_IRQHandler (void)

{

RxBuffer = UART1_DR; //Store the received byte in RxBuffer

return;

}

UART1接收中断向量(设置中断向量,即将中断服务程序的入口填写到中断向量表中) struct interrupt_vector const _vectab[] =

{

……

{0x82, UART1_RX_IRQHandler},

……

}

(3)特别注意波特率的计算设置方式

波特率通过配置16位除法器UART_DIV来设置

篇三:《STM8串口下载程序教程》

现在越来越多人用STM8了,我也跟上大众,一起凑热闹。刚开始以为STM8可以随便用串口下载程序,于是从阿莫那买了个STM8S Mini Kit,买回来后发现不能串口下载,郁闷之极。后来咬咬牙,再买一个三合一,用ST-Link下载程序,真是冤大头。后来想想再试试如何用串口下载程序,多一种方式备用也好。在网上搜索,发现几乎没有详细的相关教程,只好自己探索了。经过多次摸索,终于明白了如何用串口下载程序到STM8了,而且不像网上流传那样是一次性的。

不敢独享,做成教程,本文以三合一板为例,所有步骤均带电操作。

正文

第一步:

打开STVP,选择Configure -> Configure ST Visual Programmer。

第二步

选择ST-Link、SWIM、STM8S207SB,确定。

第三步:

选择OPTION BYTE选项卡,点击其中的BOOTLOADER ENABLE,把默认的Bootloader Disable改为Bootloader Enable。

第四步:

无需切换到其它选项卡,直接Program -> Current tab。

输出窗口会有提示。

第五步:

打开Flash Loader Demonstrator V2.2.0,如图设置,我是用PL2303HX USB转串口。按下STM8S Mini Kit上的复位按键,松手后马上点击Next。

第六步:

连接成功后会弹出以上警告,确定。因为刚启动软件还没有选择合适器件,下载完毕不关掉软件再重复一次就没有这个警告了。

第七步:

Target选择STM_128K,Next。 第八步:

篇四:《关于stm32使用串口烧录程序的说明》

关于stm32使用串口烧录程序的说明

以下引用ST官方文档AN2606

“Bootloader hardware requirement:The hardware required to put the STM32 into System memory boot mode consists of any circuitry, switch or jumper, capable of holding the and the during reset.To connect to the STM32 during System memory boot mode, an RS232 serial interface (example, ST3232 RS232 transceiver) has to be directly linked to the

Note:USART1_CK, USART1_CTS and USART1_RTS pins are not used, therefore user can use these pins for other peripherals or GPIOs.For more details about hardware recommendations, refer to application note AN2586: “STM32 hardware development: getting started”, available from the STMicroelectronics website: ”

上述文档说明当使用串口烧录程序时,BOOT0=1,BOOT1=0,且此时单片机应当处于reset状态。计算机的串口可以采用RS232协议连接单片机的USART1口,只需应用到USART1_RX和USART1_TX两条线即可,其它线的功能全靠软件实现。当程序烧录完毕后BOOT0应当恢复到0状态。

篇五:《STM8SUART串口发送程序》

STM8S UART串口发送程序

#include "stm8s.h"{stm8串口烧录软件}.

void UART_Init(void)

{

UART1_DeInit();

UART1_Init((u32)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE,{stm8串口烧录软件}.

UART1_MODE_RX_ENABLE);

UART1_Cmd(ENABLE);

}

void main()

{

CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); //系统分频器 1分频 UART_Init();

enableInterrupts();

while(1)

{

UART1_SendData8(0x12);

}

}

篇六:《STM8S103F写入user_bootloader实现串口下载》

STM8S103F写入user-bootloader实现串口下载

一、bootloader软件的编译和写入

1、需要的软件,以下软件可以从st网站获得

STM8_UserBootloader_examples

Flash Loader Demonstrator

ST Visual Develop

ST Visual Programmer

CXSTM8

2、安装stvd等软件建立IDE工作环境

3、修改STM8_UserBootloader_examples中的相关main.h文件中的参数

4、修改编译link参数,加入红框部分

5、用ST Visual Programmer软件通过st-link写入生成的代码{stm8串口烧录软件}.

二、应用程序编写时注意情况

1、写好编译程序后要修改link参数,使程序从9000开始

三、串口下载的使用

1、stm8s103f3的引脚接线{stm8串口烧录软件}.

2、下载程序的修改

使用Flash Loader Demonstrator默认是不支持8k程序下载的,需要以stm8l_32k为蓝本修改下smap文件。

3

、修改软件界面如下

4、将nrst引脚接地,就是复位,复位结束后马上点next按钮,会出现如下页面,点确定

5、选择改好的stm8l_8k,点next下一步

6、选择要下载的文件,注意此文件编译时要修改link参数把起始地址放在9000 处

篇七:《stm8s芯片程序烧写操作方法》

应急盒烧写:

说明 :应急盒程序烧写时,必须外部供电,否则无法烧写

先把烧写器插在电脑上,电脑会有提示(否则无法使用,烧写器灯亮才可以使用) 打开桌面上的图标

打开的界面如下

点击下图左边的按钮找到对应芯片的型号

点击OK{stm8串口烧录软件}.

打开下图最右边的按钮

option byte

首先擦除程序

设置为OFF