你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8-SO8-DISCO(1)GPIO

[复制链接]
原来的你 发布时间:2019-2-23 22:35
本帖最后由 原来的你 于 2019-2-23 22:44 编辑

对于STM8s来说,GPIO是最简单的入门操作,使用GPIO也是很简单,只需要配置好GPIO工作模式,然后设置其功能即可。由于STM8S001J3 可以用 IO 口只有 5 个(包括 SWIM 引脚),没有硬件复位引脚,下载程序只能通过 SWIM 下载,我们为了防止复用 SWIM 引脚作为其他功能后使得 SWIM 引脚无法下载程序(原因是上电后 SWIM 被配置为其他功能,使得程序无法通过 SWIM 引脚下载,在官方数据手册 12 页中有介绍),需要在主程序添加防锁代码来防止芯片被锁住无法下载。因此我们需要在程序开始加入

    /* 初始化按键,防锁代码 */

    GPIO_Init(KEY_GPIO_PORT, (GPIO_Pin_TypeDef)KEY_GPIO_PINS, GPIO_MODE_IN_FL_NO_IT);

    if (GPIO_ReadInputPin(KEY_GPIO_PORT, KEY_GPIO_PINS))

    {

        while (1);

    }

   /* 初始化LED */

    void LED_Init(void)

  {

  /* 初始化LED1 IO口为输出模式 */

  GPIO_Init(LED1_GPIO_PORT, (GPIO_Pin_TypeDef)LED1_GPIO_PINS, GPIO_MODE_OUT_PP_LOW_FAST);

  }

    void main(void)

{

    /* 初始化按键,防锁代码 */

    GPIO_Init(KEY_GPIO_PORT, (GPIO_Pin_TypeDef)KEY_GPIO_PINS, GPIO_MODE_IN_FL_NO_IT);

    if (GPIO_ReadInputPin(KEY_GPIO_PORT, KEY_GPIO_PINS))

    {

        while (1);

    }


    /* LED初始化  */

    LED_Init();


    while (1)

    {

        /* 翻转LED1灯 */

        GPIO_WriteReverse(LED1_GPIO_PORT, (GPIO_Pin_TypeDef)LED1_GPIO_PINS);

        Delay(0xFFFF);      //延迟

    }


}





收藏 评论0 发布时间:2019-2-23 22:35

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版