查看: 8622|回复: 8

[原创] [TRK-KEA8开发笔记]GPIO操作,按键点灯,GPIO库

[复制链接]
  • TA的每日心情

    2016-10-20 09:45
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    80

    主题

    1038

    帖子

    5

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2223
    最后登录
    2023-11-20
    发表于 2015-11-2 13:58:56 | 显示全部楼层 |阅读模式
    本帖最后由 花溪村长 于 2015-11-2 17:20 编辑

    入手KEA8,先惯例操作操作GPIO ,按键点灯!顺便学习学习写库

    首先是时钟,KEA8木有外部晶振只有用内部时钟,

    时钟.PNG
    代码如下:
    1. SIM->CLKDIV = SIM_CLKDIV_OUTDIV1(0x00);
    2.         
    3.         //内部参考时钟使能
    4.         ICS->C1 |=ICS_C1_IRCLKEN_MASK;

    5. //读取出厂时钟 31.25K
    6.         ICS->C3= 0x90;        
    7.         
    8. //等待时钟锁定
    9.         while(!(ICS->S & ICS_S_LOCK_MASK));   //31.25*1280 = 40M
    10.         
    11. //设置总线时钟
    12.         ICS->C2|=ICS_C2_BDIV(1)  ;                         /*BDIV=2, Bus clock = 20 MHz*/
    复制代码


    然后写Systick定时器延时函数

    1.   SysTick_Config((SystemCoreClock/1000)*nms);
    2.   while(!times);
    3.   times = 0;
    4.   SysTick->CTRL =0x00;
    复制代码



    最后开始GPIO操作了

    先上电路图:

    3.PNG
    45.PNG

    然后操作GPIO写写库,纯属学习好玩 哈哈
    直接上图:

    22.PNG

    捕获.PNG

    附上Keil工程及源代码:
    TRK-KEA8.rar (96.8 KB, 下载次数: 480)
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    注册会员

    Rank: 2

    积分
    99
    最后登录
    2019-7-2
    发表于 2018-6-21 14:24:01 | 显示全部楼层
    31.25k的出厂时钟如何得到的这个值
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    1

    主题

    6

    帖子

    0

    新手上路

    Rank: 1

    积分
    23
    最后登录
    2017-10-29
    发表于 2017-10-24 09:00:50 来自手机 | 显示全部楼层
    aweit2010 发表于 2017-9-2 17:14
    虽然是老帖了,但是发现了一个错误,void GPIO_Init()初始化函数,初始化某一IO口并且配置初始化置高时,会 ...

    请问一下,我用这个库函数配置PTA2,PTA3这两个io口输出高电平,但实际电压只有0.4v左右,是不是我哪里没有做好?
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    3

    主题

    54

    帖子

    0

    注册会员

    Rank: 2

    积分
    147
    最后登录
    1970-1-1
    发表于 2015-11-3 18:03:19 | 显示全部楼层
    不错不错,都拿到板子开始使用了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13128
    最后登录
    2019-1-27
    发表于 2015-11-16 19:23:58 | 显示全部楼层
    村长,你的这个可以做一个系列
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-10-20 09:45
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    80

    主题

    1038

    帖子

    5

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2223
    最后登录
    2023-11-20
     楼主| 发表于 2015-11-16 21:16:24 | 显示全部楼层
    小七 发表于 2015-11-16 19:23
    村长,你的这个可以做一个系列


    最近在学习Simulink代码自动生成,等我学会了在回来继续开发这个系列的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    3

    帖子

    0

    新手上路

    Rank: 1

    积分
    25
    最后登录
    2017-9-22
    发表于 2017-9-2 17:14:07 | 显示全部楼层
    虽然是老帖了,但是发现了一个错误,void GPIO_Init()初始化函数,初始化某一IO口并且配置初始化置高时,会影响到其它的IO口(输出的IO口被置高),耽误我好久,这里指出来,让后来的知晓。
    错误如下:
    error.png
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    6

    帖子

    0

    新手上路

    Rank: 1

    积分
    23
    最后登录
    2017-10-29
    发表于 2017-10-27 15:54:49 来自手机 | 显示全部楼层
    aweit2010 发表于 2017-9-2 17:14
    虽然是老帖了,但是发现了一个错误,void GPIO_Init()初始化函数,初始化某一IO口并且配置初始化置高时,会 ...

    和你遇到一样的问题,谢啦!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    7

    帖子

    0

    注册会员

    Rank: 2

    积分
    66
    最后登录
    2020-11-26
    发表于 2019-9-19 16:09:12 | 显示全部楼层
    ICS->C3= 0x90;
    lz这语句不对吧,C3是靠芯片bootloader自动加载的吧,由厂家校准。
    如果你要给一个初值的话,还要在Flash的0x0000_03FF地址写上该值。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 20:29 , Processed in 0.104513 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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