本文主要是介绍STM8S配置位 OptionByte,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.什么是STM8S 的配置字 OptionByte
2.Option Byt Byte 里面的位都表示什么
3.如何编程Option Byte
一 选项字节(OptionByte )
STM8S 的配置字类似于AVR 的Fuse 熔丝位。
用于配置端口的复用功能和读保护等操作。
不同于AVR 的熔丝位,STM8S 的时钟配置并不在Option Byte 中,不会出现写完STM8S 后芯片直接锁死的尴尬。
选项字节用于配置硬件特性和存储器保护状态,这些字节位于同一页的特定存储器阵列中。
选项字节可以在ICP/SWIM模式中或IAP模式中修改, 也就是可以通过STlink 写配置字,或者是通过程序写选项字。
举例:
STM8S 的有一个蜂鸣器控制器BEEP ,这BEEP 对应的端口是PD4.
但是PD4有两个复用功能,它可以是 BEEP 蜂鸣器的输出, 也可以是Tim2 比较输出1 也就是Tim2_CC1
用户只能在这两个功能中选择一个。那如何使PD4是BEEP 输出呢?
答案是通过设置Option byte 选项字,将AFR7配置成1,使用PD4输出的是BEEP 的信号
否则,PD4将输出的是Tim2_CC1的信号 ----------------- 这个就是芯片出厂的默认值。
- Option Byte 除了能够配置端口的复用功能外
- 它还可以设置芯片的当选项字节中的ROP字节被编程为’0xAA’时,读保护就生效了。
也就是说,防止别人拷贝你的程序的方法可以是编程ROP 字节以使能读保护,那么 对方无论如何都不能从STM8中读到你的Flash 数据
当需要开启端口的第二功能时,需要考虑选项字节的编程,否则将不能实现程序所想要的功能。
二 选项字节详解
以STM8S208R8为例,来讲一下,如何用OptionByte 。下图是从STVP里截图到的
共9个字节的配置字:
- 1 读保护 ROP字节被编程为’0xAA’时,读保护就生效了
- 2 用户启动区域大小 ,UBC区域的特性 在UBC中的内容一直是写保护的-----适合做boot-loader
- 3 端口复用选择 AFR[7:0] --- 指示管脚有多个第二功能时, 使用哪个第二功能有效,见上面的例子
- 4 低频时钟看门狗
- 5 时钟设置
- 6 时钟稳定时间
- 7 Flash 等待时钟
- 8 Bootloader 使能
- 9 OPT0:ROP 读保护
这篇关于STM8S配置位 OptionByte的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!