资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
STM8S使用常用问题汇总 = 按外设模块 = =GPIO/AFIO= =Beep= 1、STM8S提供一个Beep引脚。通过简单的配置即可输出1K、2K、4K三种频率信号驱动外部蜂鸣器。 由于默认情况下Beep输出引脚PD4为TIM2_CC1功能,为此我们需要打开“OptionBytes”的AFR7选项。 打开STVP,选择你使用的MCU型号,找到OptionBytes标签。将AFR7改为PortD4AlternateFunctionBeep。 菜单栏选择ProgramCurrenttab,成功后,即可正常使用Beep输出功能。 = =Power/RESET= 1、STM8S为双电源MCU,外设工作电压为3V5.5V,内核工作电压为1.8V。因MCU内部已集成1.8V低功耗电压(LPVR)调节器,MCU工作仅需提供一个供电电源。在电源电路设计时,需要注意芯片VCAP引脚上要提供滤波电容,该电容用于对内部1.8V供电滤波,容值不小于470nF为宜,瓷片和Ta电容均可,尽量选择较低ESR(等效串联电阻值)的型号。 2、MCU芯片自带上电复位(POR)与掉电复位(BOR),工作时供电需注意POR、BOR工作范围。 1)、PORPower-OnReset上电复位 POR的功能是在VDD电压由低向高上升越过规定的阀值(VIT+)之前,保持芯片复位,当越过这个阀值(VIT+)后的一小段时间后(Resettemporization),结束复位开始取复位向量执行指令。 2)、BORBrown-OutReset掉电复位 BOR的功能是在VDD电压由高向低下降越过规定的阀值(VIT-)后,将在芯片内部产生复位。 3、芯片复位地址指向0x6000(内部Bootloader存放首地址),在检查无Boot操作,PC指向0x8080地址。0x80000x807F为中断向量占用。 = = 按使用开发环境 = =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= = = 按编译器 = =STM8ASM= =COSMIC= 1、 tinyZeroPage(0x000xFF)申明:tinychara a).bsct在zeropage区域的初始化变量 b).ubsct在zeropage里面的未初始化变量 c).bit-位操作段 d).share near-Zeropage以外的RAM区域 a).bss-未初始化变量区域; b).data-已初始化变量区域; c).const-常量区域 far .fdata(largevariable) .fconst .text EEPROM 2、 PlacingDataObjectsinShortRangeMemory tinycharc; #pragmaspaceexterntiny PlacingDataObjectsinLongRangeMemory nearcharext; #pragmaspaceexternnear PlacingDataObjectsintheEEPROMSpace eepromcharvar; #pragmaspaceexterneepromnear Note:Thenearmodifierisnecessarybecausetheeepromislocatedoutsidethezeropage. 3、 MemoryModelsforcodesmallerthan64K StackShort(mods0)-Globalvariablesaredefaultedtoshortrange Anyglobalobjectinlongrangewillhavetobeaccessedexplicitlywiththenearmodifierunlessaccessedthroughapointer. StackLong(modsl0)-Globalvariablesaredefaultedtolongrange Anyobjectinshortrangewillhavetobeaccessedexplicitlywiththetinymodifier. MemoryModelsforcodelargerthan64K StackShort(mods)-Globalvariablesaredefaultedtoshortrange Anyglobalobjectinlongrangewillhavetobeaccessedexplicitlywiththenearmodifierunlessaccessedthroughapointer. StackLong(modsl)-Globalvariablesarealsodefaultedtolongrange Anyobjectinshortrangewillhavetobeaccessedexplicitlywiththetinymodifier 4、变量地址的绝对定位: characia0x20; #defineacia*(char*)0x20 structacia charstatus; chardata; acia0x6000 Note:thatCOSMICCdoessupportthepointerand#definemethodsofimplementingI/Oaccess. 5、内嵌汇编 1)、#pragmaasm/#pragmaendasm 2)、#asm/#endasm 3)、_asm(rim) #pragmaasmExternchartest; XREFasmvarvoidfunc(void) #pragmaendasm if(test) #asm/*noneedfor*/ SCF;Setcarrybit
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号