×
嵌入式 > 技术百科 > 详情

如何设置STM8单片机选项字

发布时间:2024-05-19 发布时间:
|

STM8单片机在使用的时候有个问题比较麻烦,就是如果要使用某些引脚的第二功能时需要设置选项字,设置选项字可以通过代码设置。但是代码设置的时候比较麻烦,需要计算选项字相关寄存器要设置的值,如果设置值计算错误,在程序调试的时候不容易发现。


下来就来记录一下如何使用ST官方的烧写软件来设置选项字。首先在官网上下载STVP-STM8软件。官方地址

/zixunimg/eeworldimg/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引脚已经可以输出波形了。说明第二功能只要用烧写软件设置一次后会永久有效。


通过下载软件设置一次选项字之后,在线调试代码的时候直接使用端口的第二功能就行。这样在写代码的时候就不用关心选项字如何设置了,按照常规的使用方式写代码就行了。

如果要使用其他引脚的第二功能,直接在选项字设置界面选择引脚功能就行。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
FPGA及CPLD应用领域不断拓展