搜索
查看: 3473|回复: 7

[原创] 【STM8-SO8-DISCO】——3、IO测试,按键+点灯

[复制链接]
  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
    发表于 2019-2-18 00:53:55 | 显示全部楼层 |阅读模式
    本帖最后由 toofree 于 2019-2-19 01:16 编辑

    【STM8-SO8-DISCO】——3、IO测试,按键+点灯

    本贴所用工程模板参考,【STM8-SO8-DISCO】——2、简单粗暴建工程模板https://www.stmcu.org.cn/module/f ... 9341&fromuid=307297
    (出处: 意法半导体STM32/STM8技术社区)

    从户手册中原理图来看,按键B1和LED灯LD1都是高电平有效。
    01.jpg


    用户手册中显示,STM8S001对应LD1的IO为PA3/PB5。
    02.jpg

    STM8S001对应按键B1的IO为PC3/PC4/PC5
    03.jpg

    从STM8S系列参考手册RM0016找到,IO对应5个寄存器
    11.jpg

    输出数据寄存器、寄入数据寄存器
    12.jpg

    方向寄存器、控制寄存器1
    13.jpg

    控制寄存器2
    16.jpg

    IO模式设置列表
    15.jpg

    在函数库中IO械宏定义为12种情况,分别对应4种输入模式,8种输出模式。
    4种输出模式为浮空/上拉、中断/IO的组合情况;8种输出模式是推挽/OD、快速/慢速、默认高/低电平的组合情况。
    14.jpg

    在“main.c”中开头,添加LED、KEY宏定义。主函数“main()”中,设置IO模式。主循环中通过判断KEY的状态,来控制输出对应LED状态。
    21.jpg

    用到的几个函数也都比较简单。GPIO_Init(),设置IO工作模式,实际操作寄存器ODR、DDR、CR1、CR2。
    22.jpg

    GPIO_ReadInputPin()实际操作寄存器IDR
    23.jpg

    GPIO_WriteHigh()、GPIO_WriteLow()操作寄存器ODR
    24.jpg

    编译、下载程序,加断点,Debug调试。
    31.jpg

    打开寄存器观察窗口,显示PA和PC相关寄存器,IAR观察寄存器时需要程序停止,不停的话不会随时更新。
    当B1不按时,PC_IDR3/4/5为0,PA_ODR3为0。
    32.jpg

    当B1按下时,PC_IDR3/4/5为1,PA_ODR3为1。
    33.jpg

    实验现象,按下B1,LD1点亮;抬起B1,LD1熄灭。
    对STM8S001的IO基本输入、输出功能测试完成,达到预期目标。

    附上程序工程:(20190219工程有更新,之前上传的版本有误,不是工程模板生成的)
    STM8S_StdPeriph_GPIO_IN.rar (258.14 KB, 下载次数: 27)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-4-15 11:47
  • 签到天数: 537 天

    [LV.9]

    29

    主题

    2176

    帖子

    127

    蝴蝶豆

    论坛元老

    最后登录
    2024-4-24
    发表于 2019-2-18 14:03:47 | 显示全部楼层
    支持一下~
    回复

    使用道具 举报

    该用户从未签到

    6

    主题

    1029

    帖子

    133

    蝴蝶豆

    金牌会员

    最后登录
    2021-4-24
    发表于 2019-2-19 11:39:51 | 显示全部楼层
    支持一下
    回复

    使用道具 举报

    该用户从未签到

    26

    主题

    1024

    帖子

    169

    蝴蝶豆

    论坛元老

    最后登录
    2021-4-6
    发表于 2019-2-21 10:01:54 | 显示全部楼层
    学习了,一直不会玩STM8
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    4

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2020-12-24
    发表于 2019-2-27 19:32:55 | 显示全部楼层
    我也直接用的工程模板
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    29

    帖子

    0

    蝴蝶豆

    初级会员

    最后登录
    2021-11-4
    发表于 2019-3-17 20:09:10 | 显示全部楼层
    谢谢分享!!!!
    回复

    使用道具 举报

    该用户从未签到

    4

    主题

    456

    帖子

    2

    蝴蝶豆

    金牌会员

    最后登录
    2020-7-8
    发表于 2019-3-18 15:31:01 | 显示全部楼层
    学习了,多谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2019-10-8
    发表于 2019-5-19 20:45:26 | 显示全部楼层
    许欸额
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-25 08:09 , Processed in 0.186804 second(s), 40 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表