STM8S105系列单片机管脚复用配置(选项字节的配置)
以STM8S105K4T6C为例,实现PB0管脚复用成TIM1_CH1N
(1)STM8S复用功能(芯片引脚加"[ ]"的功能):通过配置flash中的选项字节来实现
除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个通常的格式(OPTx)和一个用来备份的互补格式(NOPTx)
参见STM8S105xx数据手册(如下图),可知备选功能重映射选项5(AFR5)负责管理PB0端口的重映射功能,将其设置为1即实现PB0重映射为TIM1_CH1N
相关代码:
void Flash_Init()
{
FLASH_DeInit(); //恢复FLASH相关寄存器到默认值
FLASH_Unlock(FLASH_MEMTYPE_DATA); //解锁数据EEPROM
FLASH_ProgramOptionByte(0x4803, 0x20); //选项字节 打开PB0的复用功能
FLASH_ProgramOptionByte(0x4804, 0xDF);
}
(2)TIM1_CH1N是TIM1_CH1的互补输出比较
TIM1_CH1N是TIM1_CH1的反相,可用于TIM1的同步PWM模式
当只选择TIM1_CH1N输出PWM时,需要Disable输出比较,Enable互补输出比较
相关代码:
void Time1_Init()
{
CLK->CKDIVR=0x00;
TIM1_TimeBaseInit(1599,TIM1_COUNTERMODE_UP,5000,0); //分频1600,向上计数,TIM1_ARR=20000,重复计数器为0
/*OC1初始化:PWM1模式
输出不使能
互补输出使能
CCR1=8000,占空比为50%
输出有效极性为高(无作用
互补输出有效极性为高
空闲时输出高(无作用)
空闲时互补输出高
*/
TIM1_OC1Init(TIM1_OCMODE_PWM1,
TIM1_OUTPUTSTATE_DISABLE,
TIM1_OUTPUTNSTATE_ENABLE,
5000,
TIM1_OCPOLARITY_HIGH,
TIM1_OCNPOLARITY_HIGH,
TIM1_OCIDLESTATE_SET,
TIM1_OCNIDLESTATE_SET);
TIM1_OC1PreloadConfig(ENABLE);
TIM1_CtrlPWMOutputs(ENABLE); //PWM输出使能
TIM1_Cmd(ENABLE); //定时器开始计数
}
选项字节的配置一般有两种方式:
(1)使用STlink修改选项字节
打开STVP进行相关设置,可参见
https://wenku.baidu.com/view/205181b2d0d233d4b14e69fa.html
点击打开链接
(2)通过程序修改选项字节
实现程序擦Option Bytes时,不能运行程序,否则会出现错误
一般不建议通过程序修改选项字节,容易出错
STM8S105系列单片机管脚复用配置(选项字节的配置)相关推荐
- RJM8L151额温枪方案应用超低功耗8位高性能8051内核系列单片机
RJM8L151是一款资源丰富的8位高性能的8051内核系列单片机.芯片内置256字节内部数据存储器,2-8K字节SRAM,16-64K字节的可编程FLASH.具备快速中断响应,高效低功耗设计,多种休 ...
- OpenCV配置选项参考
OpenCV配置选项参考 OpenCV配置选项参考 简介 常规选项 使用额外的模块进行构建 调试版本 静态构建 生成pkg-config信息 构建测试,样本和应用程序 构建有限的模块集 下载的依赖项 ...
- opencv——opencv配置选项详解
一.介绍 1.OpenCV (Open Source Computer Vision Library) is released under a BSD license and hence it's f ...
- 小程序 | 小程序中常用的事件 + 事件对象的属性列表 +小程序事件传参 + 小程序全局配置 + 小程序页面配置 + 小程序发起网络数据请求
文章目录 一.WXML 模板语法 数据绑定 事件绑定 ⭐小程序中常用的事件 ⭐事件对象的属性列表 target 和 currentTarget 的区别 bindtap 的语法格式 在事件处理函数中为 ...
- GD32系列单片机EXTI外部中断配置
文章目录 前言 一.EXTI-外部中断 二.程序说明 1.主函数 2.中断函数 总结 前言 学习嵌入式的时候不可避免会接触到中断这个概念,我们平时接触也是最多的,在刚开始学习stm32单片机的时候,听 ...
- d06调试详细说明_PIC系列单片机配置字详细介绍(长期实践总结的压箱底资料)
(注:本文档主要根据PIC16F193X数据手册编写,对于其他型号的单片机,其配置字可能略有不同,此外本文部分参考了PIC18F78K22数据手册,因而部分注释了两个系列单片机的区别) 1.FCMEN ...
- 阿里云IOT-C-SDK系列(4)SDK配置选项理解
阿里云IOT-C-SDK系列(1)概述:移植流程.程序框架.代码目录 阿里云IOT-C-SDK系列(2)快速体验:移植+示例C代码 阿里云IOT-C-SDK系列(3)快速体验:不使用SDK自带编译系统 ...
- dsPIC33CK 系列单片机 CANFD配置注意事项
1.配置 CANFD 模块的时候,需要使能 CANFD 收发器,否则进入 config 后,无法切换为 Normal 模式. 2.dsPIC33CK 系列单片机的指令周期与时钟周期的关系是1:2,也就 ...
- 全志A40平台管脚复用配置
一 资源分配 1 实际项目需要使用I2C接口的OLED,由于OLED有RST复位线,A0命令和地址线,CS片选线,背光控制线BLK.控制线选定T19_UART2_RTS - RST T23_UART2 ...
最新文章
- “.Net 社区虚拟大会”(dotnetConf) 2016 Day 3 Keynote: Scott Hanselman
- 16s扩增子分析注意事项和经验总结Tips
- npm切换到淘宝镜像
- centos中如何找出系统中 load 高时处于运行队列的进程
- python支持的编程范式有_【Python学习手册】chapter1 前面
- prime算法-最小生成树
- MySQL学习笔记2:数据库的基本操作
- 海康,大华 RTSP取流URL格式
- 基于模糊聚类的图像分割
- 51单片机8位数码管时钟c语言,51单片机8位数码管电子时钟(完结)
- 20年研发管理经验谈(二)
- 利用PPt画卷积神经网络
- 资深车主才会告诉你的那些事,看完立省三万二
- correl函数相关系数大小意义_用Correl函数返回相关系数,以确定属性关系
- 树莓派3B入门开发之(一)--简介
- 交互式多模型 IMM的原理
- java全栈系列之JavaSE--数组的使用025
- Maven工程报错:No goals have been specified for this build. You must specify a valid lifecycle phase or a
- UVa 11437 (梅涅劳斯定理) Triangle Fun
- 【C语言】用二分查找法在有序数组中查找具体的某个数
热门文章
- 如何把复杂单体应用快速迁移到微服务
- JAVA 注解的基本原理
- Redis集群:sharding策略
- java openssl 开发_java openssl
- 计算机主机安装系统安装系统,系统重装
- Java快速生成20亿数字_关于内存:Java-打印10亿到20亿
- 运维工程师 | 交换机堆叠
- 数据机房气流组织的常见类型及应用
- 上海银行数据中心迎来智能机器“巡检员”
- 成功解决Future Warning: The sklearn.neighbors.dist_metrics module is deprecated in version 0.22 and wil