STM8S使用常用问题汇总.docx

上传人:b****1 文档编号:2386903 上传时间:2023-05-03 格式:DOCX 页数:11 大小:397.53KB
下载 相关 举报
STM8S使用常用问题汇总.docx_第1页
第1页 / 共11页
STM8S使用常用问题汇总.docx_第2页
第2页 / 共11页
STM8S使用常用问题汇总.docx_第3页
第3页 / 共11页
STM8S使用常用问题汇总.docx_第4页
第4页 / 共11页
STM8S使用常用问题汇总.docx_第5页
第5页 / 共11页
STM8S使用常用问题汇总.docx_第6页
第6页 / 共11页
STM8S使用常用问题汇总.docx_第7页
第7页 / 共11页
STM8S使用常用问题汇总.docx_第8页
第8页 / 共11页
STM8S使用常用问题汇总.docx_第9页
第9页 / 共11页
STM8S使用常用问题汇总.docx_第10页
第10页 / 共11页
STM8S使用常用问题汇总.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

STM8S使用常用问题汇总.docx

《STM8S使用常用问题汇总.docx》由会员分享,可在线阅读,更多相关《STM8S使用常用问题汇总.docx(11页珍藏版)》请在冰点文库上搜索。

STM8S使用常用问题汇总.docx

STM8S使用常用问题汇总

   STM8S使用常用问题汇总

==================================================================

                              按外设模块 

====================================================================== 

============================== GPIO/AFIO ============================= 

=============================== Beep =================================

1、STM8S提供一个Beep引脚。

通过简单的配置即可输出1K、2K、4K三种频率信号驱动外部蜂鸣器。

   由于默认情况下Beep输出引脚PD4为TIM2_CC1功能,为此我们需要打开“Option Bytes”的AFR7选项。

   打开STVP,选择你使用的MCU型号,找到"Option Bytes"标签。

将AFR7改为"Port D4 Alternate Function = Beep"。

   菜单栏选择"Program" -> "Current tab",成功后,即可正常使用Beep输出功能。

==================================================================

=============================== Power/RESET =========================

1、STM8S为双电源MCU,外设工作电压为3V~5.5V,内核工作电压为1.8V。

因MCU内部已集成1.8V 低功耗电压(LPVR)调节器,MCU工作仅需提供一个供电电源。

在电源电路设计时,需要注意芯片VCAP引脚上要提供滤波电容,该电容用于对内部1.8V供电滤波,容值不小于470nF为宜,瓷片和Ta电容均可,尽量选择较低ESR(等效串联电阻值)的型号。

2、MCU芯片自带上电复位(POR)与掉电复位(BOR),工作时供电需注意POR、BOR工作范围。

1)、POR - Power-On Reset 上电复位 

    POR的功能是在VDD电压由低向高上升越过规定的阀值(VIT+)之前,保持芯片复位,当越过这个阀值(VIT+)后的一小段时间后(Reset temporization),结束复位开始取复位向量执行指令。

 

2)、BOR - Brown-Out Reset 掉电复位

    BOR的功能是在VDD电压由高向低下降越过规定的阀值(VIT-)后,将在芯片内部产生复位。

3、芯片复位地址指向0x6000(内部Bootloader存放首地址),在检查无Boot操作,PC指向0x8080地址。

0x8000~0x807F为中断向量占用。

==================================================================

==================================================================

                            按使用开发环境 

====================================================================== 

==============================   STVD    ============================= 

1、STVD如何输出hex文件

   菜单栏 Project -> Setting 打开“Post_Build”标签,命令框原默认定义:

   chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8

   输出S19格式的目标文件。

   在其中增加或修改为:

   chex -fi -o $(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8 

   即可输出hex格式目标文件。

   生成hex文件被输出到目录 项目“\Debug”目录下。

   如图:

   

 (原文件名:

hex.png) 

引用图片

==============================   RIDE    ============================= 

==================================================================

==================================================================

                               按编译器 

====================================================================== 

============================== STM8  ASM =============================

==============================   COSMIC  ============================= 

1、

  @tiny  - Zero Page(0x00~0xFF)  申明  :

@tiny char a

    a) .bsct -  在zero page区域的初始化变量

    b) .ubsct- 在zero page里面的未初始化变量

    c) .bit       -  位操作段

    d) .share

  @near   -   Zero page 以外的RAM区域

    a) .bss  -  未初始化变量区域;

    b) .data  -  已初始化变量区域;

    c) .const  -  常量区域

  @far

   .fdata (large variable)

   .fconst  

   .text

  @EEPROM

2、

  Placing Data Objects in Short Range Memory

     @tiny char c;

     #pragma space extern [] @tiny

  Placing Data Objects in Long Range Memory 

     @near char ext;

     #pragma space extern [] @near

  Placing Data Objects in the EEPROM Space

     @eeprom char var;

     #pragma space extern [] @eeprom @near

Note:

The @near modifier is necessary because the eeprom is located outside the zero page.

3、

  Memory Models for code smaller than 64K

    Stack Short (mods0) - Global variables are defaulted to short range

    Any global object in long range will have to be accessed explicitly with the @near modifier unless accessed through a pointer.

    Stack Long (modsl0) - Global variables are defaulted to long range

    Any object in short range will have to be accessed explicitly with the @tiny modifier.

  Memory Models for code larger than 64K

    Stack Short (mods) - Global variables are defaulted to short range

    Any global object in long range will have to be accessed explicitly with the @near modifier unless accessed through a pointer.

    Stack Long (modsl) - Global variables are also defaulted to long range 

    Any object in short range will have to be accessed explicitly with the @tiny modifier

4、变量地址的绝对定位:

    char acia @0x20;

    #define acia *(char *)0x20

    struct acia

    {

      char status;

      char data;

     } acia @0x6000

Note :

that COSMIC C does support the pointer and #define methods of implementing I/O access.

5、内嵌汇编

   1)、#pragma asm   /    #pragma endasm

   2)、#asm   /   #endasm

   3)、_asm("rim")

  

   #pragma asm                                  Extern char test;

     XREF  asmvar                               void func(void)

   #pragma endasm                               {

                                                  if (test)

                                                  #asm   /* no need for { */

                                                   SCF                ;Set carry bit

                                                   RLC asmvar    ;Access assembler variable

                                                  #endasm

                                                  else

                                                    test = 1;

6、

==================================================================

如非技术问题,或是帖子内容错误问题,请不要回帖!

增加 STM8 & STM32相关资料下载链接地址。

这份资料自己早就写了,作为一个模板提供给客户用于入门寻找资料的指引。

很奇怪,不知为何好像国内的大部分工程师都不懂如何利用网络去寻找自己需要的资源,有些甚至写得很详细的描述也不愿细看,遇到问题就只会出来摇旗。

唉,浮躁啊!

STM8S

STM8S官方开发资料(英文):

提供STM8S全部数据手册、参考手册、应用笔记及参考代码、固件库、官方开发板资料

STM8 CPU programming manual:

介绍STM8S 内核结构、汇编指令集。

STM8S Reference Manual:

英文版本:

中文版本(以英文Rev4版本翻译):

介绍STM8S全部外设结构,开发必看。

STM8S Firmware Library:

STM8S 固件库,全部外设的例程和底层库代码,安装后含固件库参考手册,解释全部函数和例程。

ST Toolset:

STM8S 集成开发环境,安装后包含IDE和编程软件,自带汇编编译器,支持外部调用C编译器。

当前版本v4.1.4:

STM8S C编译器下载地址,可以免费申请16K代码版本。

安装后,会要求注册,你按照要求填写注册信息后回复,会收到一个16K License文件,将它copy到COSMIC安装路径下的License目录,默认的路径…

 打开STVD,选择菜单栏Tools-Options对话框,找到Toolset标签,Toolset中选择“STM8S COSMIC”,Root path中选择COSMIC路径,默认是“CXSTM8_16K”路径。

Getting started with the STM8S ,STM8S最小硬件系统设计向导:

STM8/128-EVAL evaluation board 用户手册,含原理图

STM8/128-EVAL 开发板上运行的例程和参考手册:

STM8S电容式触摸传感按键的代码库和用户手册:

Touch sensing software library (TSSL) frequently asked and anticipated questions (FAAQs)

----------------------------------------------------------------------------------------------------

STM32

STM32的官方网站:

STM32 官方开发资料下载地址:

         

STM32官方中文网站:

开发需参考的资料:

Datasheet   器件的引脚分布、电气参数特征;

ARM-based 32-bit MCU STM32F101xx and STM32F103xx firmware library/User Manual       -    STM32的全部外设API源代码/固件库用户手册

Reference Manual    -    STM32的外设结构描述;

STM32的参考手册(Reference Manual)中文版本,下载地址:

STM32F10x常见应用解析

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2