打印
[STM8]

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

[复制链接]
942|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脚的芯片也很感兴趣

使用特权

评论回复
5
heimaojingzhang| | 2019-3-8 11:02 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
6
keaibukelian| | 2019-3-8 12:02 | 只看该作者
非常有参考价值

使用特权

评论回复
7
labasi| | 2019-3-8 12:06 | 只看该作者
其实操作八脚的芯片还是很简单的

使用特权

评论回复
8
51soho| | 2019-4-1 11:07 | 只看该作者
我也是跳轉不出來:这个函数while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI){} 位置跳转转不出来。
我覺得官方庫好像還不完善,裡面沒有這個STM8L001 的說明,只有STM8L05x的

還有TIM4 也運行不起來,看了TIM4 寄存器,應該和STM8L101是一樣的,比STM8L051 少了一個DMA功能,但是函數庫卻用的051的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

41

帖子

0

粉丝