[STM8] STM8-SO8-DISCO -- 14、STM8L001 GPIO测试

[复制链接]
1263|7
 楼主| sdswsasx 发表于 2019-2-25 16:29 | 显示全部楼层 |阅读模式
通过开发板的上的SB4,SB5,SB6跳线来选择STM8L001芯片,STM8L050和STM8L001都属于STM8L系列芯片,所有工程文件就还是用之前的STM8L050创建的工程文件,通过GPIO驱动来验证工程的可运行性。


    一、硬件部分


    使用PB5引脚来驱动LED。
      
   
    二、程序部分


    2.1、在工程文件中,选择STM8L001芯片型号
      
   
     2.2、程序代码


     2.2.1、LED代码
//led/c
#include "stm8l15x.h"
#include "led.h"

void led_init(void)
{
  GPIO_Init(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);
}

//led.h
#ifndef __LED_H
#define __LED_H

#define LED_GPIO_PORT  (GPIOB)
#define LED_GPIO_PINS  (GPIO_Pin_5)

#define led_tog() GPIO_ToggleBits(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS)

void led_init(void);

#endif
复制代码

    2.2.2、主程序
void main(void)
{
  CLK_Config();           //时钟初始化
  
  Delay(0x2fffff);        //延时5S
  
  led_init();             //led初始化
  
  while (1)
  {
    led_tog();            //LED取反            
    Delay(0xffff);
  }
}
复制代码

    三、执行结果


    3.1、在原来的工程文件仿真时,程序执行到
            CLK_Config();           //时钟初始化
//时钟初始化
static void CLK_Config(void)
{   
    /* Select HSI as system clock source */
    CLK_SYSCLKSourceSwitchCmd(ENABLE);
    CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
    /* system clock prescaler: 1*/
    CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
    //while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI)
    //{}   
}
复制代码

           这个函数while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI){} 位置跳转转不出来,把这个函数屏蔽掉以后,程序可以运行下去,后面再看看具体原因是什么。
   
    3.2、运行的视频
      




    stm8l001芯片运行正常。


原贴链接:http://www.stmcu.org.cn/module/forum/thread-619530-1-1.html
xuanhuanzi 发表于 2019-2-25 23:01 | 显示全部楼层
看起来比较好上手
观海 发表于 2019-3-8 10:51 | 显示全部楼层
看着好像比较容易啊
guanjiaer 发表于 2019-3-8 10:57 | 显示全部楼层
我对这个8脚的芯片也很感兴趣
heimaojingzhang 发表于 2019-3-8 11:02 | 显示全部楼层
非常感谢楼主分享
keaibukelian 发表于 2019-3-8 12:02 | 显示全部楼层
非常有参考价值
labasi 发表于 2019-3-8 12:06 | 显示全部楼层
其实操作八脚的芯片还是很简单的
51soho 发表于 2019-4-1 11:07 | 显示全部楼层
我也是跳轉不出來:这个函数while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI){} 位置跳转转不出来。
我覺得官方庫好像還不完善,裡面沒有這個STM8L001 的說明,只有STM8L05x的

還有TIM4 也運行不起來,看了TIM4 寄存器,應該和STM8L101是一樣的,比STM8L051 少了一個DMA功能,但是函數庫卻用的051的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

41

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部