stm8之OptionByte的使用
来源:互联网 发布:圆管连接件 淘宝 编辑:程序博客网 时间:2024/05/21 14:58
原文地址::http://blog.csdn.net/q759040024/article/details/23174567
相关文章
1、S
2、STM8S option byte操作方式----http://www.openedv.com/thread-35618-1-1.html
1.选项字节的概念(参考stm8s中文数据手册):
选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的
块内。除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(OPTx)和
一个用来备份的互补格式(NOPTx)。可以在ICP模式(通过SWIM)下访问下表中EEPROM的地址来修改选项字节。
选项字节也可以通过应用程序在IAP模式下修改,但是ROP选项只能在ICP模式(通过SWIM)下被
修改。
2.ISP IAP ICP的概念(有待学习):
ISP:In System Programing, 在系统编程 程序完全下载
IAP:In applicating Programing,在应用编程 我的理解是用应用程序去修改芯片里边固定的一些数据(与应用编程无关的数据)
ICP:In Circuit Programing, 在电路编程
3.stm8s芯片的备用功能重映射:
stm8s芯片上带有很多备用的功能,这些功能必须使用重映射功能才能实现,
重映射其实就是配置某个flash地址的某一位,使某个引脚具备备用功能或者默认功能的其中一个
而且一旦功能改,想恢复原来的功能必须重新写入。
比如stm8s的PD4端口具有TIM2_CH1 功能和BEEP功能,默认的情况下是TIM2_CH1功能,
当我们要用到BEEP功能时必须写选项字,将这个引脚重映射为BEEP功能。
寄存器:
stm8s的多个备选功能:
4.库函数实现重映射
//对于stm8s的选项字地址为0x4803
#define Beep_OptionAdd 0x4803
void Set_Beep_OptionByte(void)
{
uint16_t Beep_Option_status;/*记录激活备选功能Beep/TIM2_CH1的状态*/
Beep_Option_status=FLASH_ReadOptionByte(Beep_OptionAdd);
/*Beep_Option_status的最高位为1激活了Beep,否则不激活,为TIM2_CH1*/
if((Beep_Option_status&0x8000))
{
FLASH_ProgramOptionByte(Beep_OptionAdd, (uint8_t)(Beep_Option_status&0x7fff));
/*向Beep_OptionAdd 0x4803 置0,不激活激活了Beep,恢复TIM2_CH1通道*/
}
}
- stm8之OptionByte的使用
- stm8之OptionByte的使用
- STM8内部EEPROM的使用
- STM8内部EEPROM的使用
- STM8内部EEPROM的使用
- stm8的I2C库的使用
- stm8库中assert_param的使用
- STM8的TIM1定时器简单使用
- IAR STM8工程中断的使用
- 20121106-STVP中optionbyte页的ROP影响FLASH
- stm8程序设计之PWM
- STM8|STM32 看门狗使用
- stm8中断使用
- stm8使用atomthreads项目
- stm8使用printf问题
- STM8 嵌入式特性编程之构建你的系统时间
- IAR STM8工程中断的使用(转)
- IAR for stm8使用标准固件库的方法以及注意事项
- python实现完整的特征工程,实践论文中的分类模型和方法用于恶意页面的分类与识别
- Pyhon--practice1
- 使用gzip优化web应用(filter实现)
- 单据跳转查看另一单据
- jni 验证apk签名
- stm8之OptionByte的使用
- 阿里云服务器WindowServer服务器搭建问题
- 安卓软键盘的显示与隐藏
- 视频直播技术
- 设备树(一)linux内核主线了解dts
- CSS的选择器
- linux gcc 里面的变量命名的陷阱
- 10款流行的Markdown编辑器,总有一款适合你
- 64位linux c语言开发注意事项