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

STM8-SO8-DISCO(1)GPIO

[复制链接]
原来的你 发布时间:2019-2-23 22:35
本帖最后由 原来的你 于 2019-2-23 22:44 编辑
  S7 E6 D: O! t2 r0 n& D+ Q: R, b* p8 y& L! E

对于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);

    }

9 X  v  l  ~0 v& z0 ~

    /* LED初始化  */

    LED_Init();

3 G+ R0 L) c% t: i* _5 o3 m0 w

    while (1)

    {

        /* 翻转LED1灯 */

        GPIO_WriteReverse(LED1_GPIO_PORT, (GPIO_Pin_TypeDef)LED1_GPIO_PINS);

        Delay(0xFFFF);      //延迟

    }


  k: I6 I. L, J4 g% D' U. E  v" [

}

8 I* [1 [( N+ k9 o6 P

% L( R/ H, @: {# N+ X& e& E9 ]* X
3 p  Z+ A, F* ~6 U7 }
1 w* L$ z: \4 O2 D1 H  ^- I/ w8 \
赞 收藏 评论0 发布时间:2019-2-23 22:35

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版