历史上的今天
今天是:2025年04月01日(星期二)
2020年04月01日 | 如何设置STM8单片机选项字
2020-04-01 来源:eefocus
STM8单片机在使用的时候有个问题比较麻烦,就是如果要使用某些引脚的第二功能时需要设置选项字,设置选项字可以通过代码设置。但是代码设置的时候比较麻烦,需要计算选项字相关寄存器要设置的值,如果设置值计算错误,在程序调试的时候不容易发现。
下来就来记录一下如何使用ST官方的烧写软件来设置选项字。首先在官网上下载STVP-STM8软件。官方地址
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm8-software-development-tools/stm8-programmers/stvp-stm8.html#get-software

点击Get Software 按钮,页面会跳转到最下方

点击右边的Get SoftWare 按钮下载,这时候会弹出一个许可协议的界面。

需要填写一个邮件地址,然后选中 我已阅读……前面的的方框,点右下角DowmLoad下载按钮。这时候登陆到刚才填写的邮箱中,打开接收到ST官方的邮件,在邮件中点击下载链接。这时候会跳转到刚才的下载页面,再点下载按钮,软件就可以下载下来了。这个软件是免费的,就是从官方下载比较麻烦。

下载好之后开始安装这个软件,安装完成之后,桌面上会出现ST Visual Programmer这个软件的快捷方式。

打开这个软件

左上角那个文件夹就是打开要烧写*.hex文件。
如果程序中使用到了第二功能,那么在程序中无需做任何设置。按照正常方式编写程序,然后生成HEX文件。用这个软件烧写代码的时候,在这个软件界面设置选项字就行。
打开要烧写的HEX文件


打开hex文件后,在烧写软件界面上选择OPTION BYTE窗口。

将这个界面设置为全屏显示

左边的AFR7----AFR0就是设置单片机所有引脚第二功能的区域。

鼠标选中右边的选项,这时候会出现一个倒三角,点一下倒三角会出现一个下拉菜单。

此时可以看出默认选择的功能是 PC3引脚为TIM1_CH3功能,PC4引脚为TIM1_CH4 、AIN2、CLK_CCO功能。

如果选择下拉框中的第一项,那么引脚功能就是 PC3引脚为TIM1_CH1N,PC4引脚为TIM1_CH2N,也就是设置PC3和PC4引脚为第二功能。
通过这个设置就可以清楚的看到PC3引脚有两个功能,默认功能为定时器1的通道3输出功能,第二功能为定时器1通道1的互补输出端。
如果代码中用到了定时器1的互补输出功能,那么在烧写程序的时候,就可以在这个界面上直接将PC3的功能选择为TIM1_CH1N,而不用再程序中做额外设置。
通过这个设置可以看到一旦PC3引脚的功能发生了改变,那么默认PC4引脚的功能也会发生改变。在使用的时候不能PC3引脚为默认功能,而PC4引脚为第二功能。
设置好选项字功能后,点击下载按钮烧写程序。

程序烧写完成之后,设置的引脚第二功能就会起作用。
下载按钮有两个,前面的下载按钮只是擦写活动区域的数据,后面的下载按钮会擦除芯片所有区域。
芯片一旦用这个烧写软件下载过程序后,所设置的引脚第二功能会永久有效。
比如说在线调试代码时如用到PC3的第二功能,也就是要将PC3设置为定时器1互补通道输出时。如果PC3引脚以前没有开启过TIM1-CH1N这个功能,同时代码中也没有设置PC3为TIM1-CH1N功能,此时直接用仿真器仿真代码时会发现PC3引脚没有波形。这是因为PC3的第二功能没有开启。
这时候需要打开ST Visual Programmer这个软件,添加生成的HEX文件,同时在OPTION BYTE这个选项中将PC3的功能选择为TIM1-CH1N功能。设置好之后将代码烧写到单片机中。这时候再使用在线调试功能,会发现PC3引脚已经可以输出波形了。说明第二功能只要用烧写软件设置一次后会永久有效。
通过下载软件设置一次选项字之后,在线调试代码的时候直接使用端口的第二功能就行。这样在写代码的时候就不用关心选项字如何设置了,按照常规的使用方式写代码就行了。
如果要使用其他引脚的第二功能,直接在选项字设置界面选择引脚功能就行。
史海拾趣
|
在芯片的生产过程中,会经历许多次的掺杂、增层、光刻和热处理等工艺制程,每一步都必须达到极其苛刻的物理特性要求。但是,即使是最成熟的工艺制程也存在不同位置之间、不同晶圆之间、不同工艺运行之间以及不同时段之间的变异。有时,这种变异会使 ...… 查看全部问答> |
|
不同所有制的企业性质对薪酬福利的影响 根据2007年度中国电子行业薪酬和职业发展调查。 通过对不同所有制性质企业的薪酬调查分析发现,外资企业与合资企业的电子工程师的薪酬收入和奖金收入都明显高于非外资企业(包括:国有企业、民营企 ...… 查看全部问答> |
|
招聘 windows ce及windows下的软件开发工程师 现在公司还需要以下岗位的各一位开发人员,请有意的朋友与我联络。 一、招聘 windows下软件开发工程师 主要开发相应平台下的输入法软件。 要求如下: 1. 熟悉windows下的编程; 2. 精通C/C++语言(必须具备); 3. 对UI界面有相当经验 4. 要 ...… 查看全部问答> |
|
谁能提供一个vs2005下控制ARM2440的IO或AD的例子呀? 刚开始学WIN CE的菜鸟。想了解VS 2005下如何控制ARM2440的IO或AD。 哪位老大能给个例子,不胜感激。 只有这么多分啦。… 查看全部问答> |
|
本人的SD卡驱动现已经能加载Sdmemory.dll. 但是在加载完之后还会发CMD17这个命令, 是不是在加载完sdmemory.dll之后。 在wince的目录下面是不是就会显示出一个SD卡的目录来(和U盘一样的那种)? 不过我初始化结束之后。显示不了 ...… 查看全部问答> |
|
PIC单片机发送缓存向移位寄存器搬运数据的时间是怎么算的?因为停止位后会有不到半个位的高电平,考虑是因为这个时间导致的,现影响高速通讯的应用。请问这个时间怎么算?有破解吗? 谢谢!… 查看全部问答> |
|
【视频分享】电源设计小贴士32和33:注意SEPIC耦合电感回路电流 简介:在本《电源设计小贴士》中,我们将确定 SEPIC 拓扑中耦合电感的一些漏电感要求。在不要求主级电路和次级电路之间电气隔离且输入电压高于或者低于输出电压时,SEPIC 是一种非常有用的拓扑。在要求短路电路保护时,我们可以使用它来代替升压转 ...… 查看全部问答> |
|
在学开发板,seed-expmsp430f5529实验板,要用lcd显示,但MSPF5529没有LCD的相关寄存器,要采用SPI通信模式去实现,具体的就不会了,请大神指导!!… 查看全部问答> |




