Option Byte如何实现CH3通道PWM输出IO复用

功能实现目标
通过对选项字节的写操作来实现tim2的ch3通道的pwm输出io复用,可以设置为pa3或者pd2输出。
通过stvp方式操作链接
选项字节
选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的块内。除了rop(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(optx)和一个用来备份互补格式的(noptx)。选项字节可以通过应用程序在iap模式下修改,但是rop选项只能在icp模式(通过swim)下被修改。有关swim编程过程的内容可以参考stm8s闪存编程手册(pm0051)和stm8 swim通信协议和调试模块用户手册(um0470)。
不同的芯片的选项字节大小不一样,具体的可以参考芯片数据手册。如用stm8s103f3来举例,选项字节如下:
stm8s103f对于20脚封装的产品的复用功能重定义位:
由此可知我们要将opt2字节中的afr1位进行写操作,通过写0,则端口a3复用功能tim2_ch3,通过写1,端口d2复用功能tim2_ch3。接下来通过程序实现这个功能,可以修改afr1的值来看pwm输出是否切换了管脚,如果能,则是实现了写操作。
选项字节存放在eeprom中,所以可以通过读写eeprom一样的操作方式来修改选项字节。应用程序可以直接向目标地址进行写操作。地址从上面的图中我们已经知道了:0x4803,0x4804。寄存器的配置可以查阅参考手册(rm0016)。
相关寄存器操作:
测试程序实现
注意:实现程序擦写option bytes时,不能运行应用程序,否则会出现错误!不过还是觉得这点麻烦啊,还不如用stvp来擦写,要是能够放在应用程序中共存来擦写就好了,用程序实现复用就这么麻烦吗?希望能探索找到好的方法,最后只找到了个不靠谱的,就是在擦写后加上延时,但是这个时管用时不管用。还是再查阅资料看看是怎么回事?
但是用stvp擦写时又遇到了这个错误:
error : error on option bytes (complementary bytes)。 reprogram option bytes of device
error : 《 option byte verifying failed.
123
用stvp来擦写option bytes了,先将rop设置为on,然后再擦写option bytes,会出现两个提示框,选择是(y),再之后又将rop设置为off,再次擦写option bytes,则又可以用stvd通过stlink来烧写程序并仿真了。

键值型数据库在分布式爬虫系统中的应用分析
压力变送器的选用参数有哪些
本田思域面临停产,理由为疫情延误零部件短缺
市面上使用率较多开源RTOS的具体内容
RFID电子标签让不同设备实现互联,有效提高了生产效率
Option Byte如何实现CH3通道PWM输出IO复用
电脑系统的32位和64位究竟有什么不一样
浅谈排针排母连接器产品的插拔力测试要点
延长小型电池供电电子设备运行时间的方法
受市场疲软影响,韩国半导体企业上半年利润暴跌37%!
利用了WEBENCH的波形仿真,进行LED灯具设计
台积电预计2022年下半年推出3nm芯片 台积电跻身2020年全球半导体供应商ToP3
磁-磁路相关的知识内容
苹果A12性能有多强:跑分超越英特尔酷睿i5
安费诺公布2023年第二季度财报;营收同比小幅下滑
新能源汽车免购置税_免购置税新能源车公布_免征购置税汽车名单
马来西亚9家银行联手在区块链做文章_开发区块链贸易融资应用程序
继绿光浏览器、Tuber浏览器后,小编又发现一款神级APP
索尼WF-SP900无线耳机评测 专门为运动爱好者打造拥有超强的防水性能
双通道升压型转换器驱动电池供电便携式设备的背光电路