查看: 2629|回复: 6

[求助] K64F SDK2.0

[复制链接]
  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-7-18 13:06:38 | 显示全部楼层 |阅读模式
    问题如题,在学习K64F 用SDK2.0 编程遇到的困难:在FRDM-K64F中有ADC的例程:基于中断和循环的,直接用他的程序可以从UART->PC看到输出,但翻找例程就是没有找到ADC0如何设置的,惨开GPIO和PIT也无果,很是着急。实际上,在例程中居然PWM的也没有看到。沮丧之余只好求助。希望在ADC-至少两路,PWM不少于1路最好2路,指点一下,先谢谢了。
    我知道答案 目前已有6人回答
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-13 08:29
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    531

    主题

    2048

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    210
    最后登录
    2018-8-14
    发表于 2016-7-18 13:29:58 | 显示全部楼层
    帮顶
    签到 签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-3 08:47
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    8

    主题

    79

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    458
    最后登录
    2023-7-15
    发表于 2016-7-18 17:08:37 | 显示全部楼层
    在短时间内想使用一个模块,最简单的办法还是从例程中每个模块的驱动代码开始看,K64F SDK2.0中关于PWM虽然没有相应的demo,但驱动中已经有FTM的初始化函数,PWM输出设置等函数,调用即可。
    还可以从已经提交了的小车代码中提取你需要用到的MCU设置。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-7-18 17:31:26 | 显示全部楼层
    本帖最后由 zhjb1 于 2016-7-18 17:34 编辑
    bkn1860-199212 发表于 2016-7-18 17:08
    在短时间内想使用一个模块,最简单的办法还是从例程中每个模块的驱动代码开始看,K64F SDK2.0中关于PWM虽然 ...

    谢谢,已在看这些文档,感觉比较费劲。我习惯了直写寄存器,因此喜欢看到代码段后,搜索代码变量所代表的含义。举例:关于UART设置中,UART0=? 搜全项目,也不明白他到底描述的是什么具体的UART0对应的那个I/O口——说白了。又举例:ADC16中,ADC0代表的是哪个ADC0的I/O口,也没有搜到。在配置参数中有这样一段:
    //Definitions ADC0 //PTB2, ADC0_SE12
    #define DEMO_ADC16_BASE ADC0
    #define DEMO_ADC16_CHANNEL_GROUP 0U
    #define DEMO_ADC16_USER_CHANNEL 12U
    ADC0全项目搜不知描述的谁?尽管注释说明使用PTB2,ADC0_SE12,但下边的描述可以理解使用通道12=12U,0U代表什么?也不明白。
    实话实说,如果走底层编程——就像早几年前原来玩MC9S12XS128系列16位单片机,基本上指哪打哪。到这里感觉十分困难。也许先入的ARM0和4是新唐的的产品,习惯了能看懂的方式。换了FS的ARM的C函数方式——实际上KL系列的函数已经差不多了,但K64F还远没有入门。
    说白了,只要能在一个较为复杂的功能模块进了门,其他的就可以比葫芦画瓢了,我想对于初玩着可能就是如此。
    我玩这些东西,只要理解了,一定会说如何如何操作,只能说IO的操作差不多了。但功能模块的操作还很费劲。因为看了这么多fpd、例程都没有明白。
    不过我可能会从K22或KS22的SDK入手尝试——就像KL系列的一样。每个编程的人风格完全不一样的,照抄不是好方法,不是吗?理解是最好的钥匙。
    谢谢指教。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2016-7-18 21:26:27 | 显示全部楼层
    楼楼 可以借鉴 MAPS-K64的 相关历程,稍微改改就可以移植到SDK2.0中
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-3-29 10:14
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    5

    主题

    180

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    458
    最后登录
    2019-5-22
    发表于 2016-7-18 22:21:46 | 显示全部楼层
    我照着MAPS-K64的gpio例程改的,一般只要看懂相应外设的各个函数,基本就可以完成初始化。还有就是要开启时钟和端口复用,这样才能使用该外设。
    如果看过API参考手册后还是不清楚怎么初始化,可以参考K60的中文书籍,熟悉你要用的外设的原理后再参考API参考手册基本就不会有问题了。

    ftm.rar

    1.36 MB, 下载次数: 10, 下载积分: 威望 1

    哎...今天够累的,签到来了2...
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-7-18 22:51:06 | 显示全部楼层
    本帖最后由 zhjb1 于 2016-7-19 05:25 编辑
    燕七13 发表于 2016-7-18 22:21
    我照着MAPS-K64的gpio例程改的,一般只要看懂相应外设的各个函数,基本就可以完成初始化。还有就是要开启时 ...

    谢谢。实际上看了函数后有点启发。我试了一些没有报错的,但结果没有出来。
    比如,参照PTB2,ADC0_SE12的设置,在pin_mux.c中增加了:PORT_SetPinMux(PORTB,3U,kPORT_PinDisabledOrAnalog);
    指定PTB3也为ADC口。但在主函数中,他是这样调用的:
    ADC16_GetChannelConversionValue(DEMO_ADC16_BASE,DEMO_ADC16_CHANNEL_GROUP);
    我将他赋给:
    adcVal=ADC16_GetChannelConversionValue(DEMO_ADC16_BASE,DEMO_ADC16_CHANNEL_GROUP);
    但是目前只能得到PTB2口的ADC值;
    尝试过DEMO_ADC16_CHANNEL_GROUP左移1位或右移1位,结果都只有1路ADC输出——PTB2,PTB3在手册上是ADC0_SE13,比PTB2高一位,也设置了,但不知如何读出数据。请赐教。设置方法如下://Definitions ADC0 //PTB2, ADC0_SE12,ADC0_SE13
    #define DEMO_ADC16_BASE ADC0
    #define DEMO_ADC16_CHANNEL_GROUP 0U
    #define DEMO_ADC16_USER_CHANNEL 12U,13U
    先谢谢了
    如果将#define DEMO_ADC16_USER_CHANNEL 12U,13U改成#define DEMO_ADC16_USER_CHANNEL 13U,12U,则输出的是PTB3的ADC值。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-18 19:13 , Processed in 0.100592 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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