您的位置:首页 > 其它

STM8S105系列单片机管脚复用配置(选项字节的配置)

2017-08-14 15:36 537 查看
以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时,不能运行程序,否则会出现错误

          一般不建议通过程序修改选项字节,容易出错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: