查看: 7022|回复: 13

[已解决] 关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑(已解决)

[复制链接]

该用户从未签到

63

主题

263

帖子

0

高级会员

Rank: 4

积分
921
最后登录
2021-2-23
发表于 2013-12-20 12:04:42 | 显示全部楼层 |阅读模式
首先感谢版主提供这么多好的精品讲解帖子,但这个例程我没有跑成功,所以询问下,希望获得解答,我用的是tower的25版。
1.main开头就把debug给disable了,这个目的是什么?如果不去掉,是否只是电流到时测得时候会高一些?
2.我去掉J7跳帽,然后串入电流表,电流表有读数,大概是45μA的样子,数据对吗?但这不是重点,关键是我这样子完全无法下载程序debug,盖着跳帽是没有问题的。
3.就算我不摘J7跳帽,download程序进去,用超级终端也看不到uart传的任何东西,波特率是19200吗,但我看程序里面对于uart0的初始化
uart0_init(UART0_BASE_PTR, 2000, TERMINAL_BAUD);
TERMINAL_BAUD是被define成115200吧,但是改了也依然没有东西。
所以,最主要问题我觉得就是我根本没有跑成功,能不能请在解答的详细一点,谢谢
我知道答案 目前已有12人回答
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-12-20 14:06:08 | 显示全部楼层

回复:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

您好,首先非常欢迎您的提问,这个代码以及文档是我调试与编写的。
下面我来解答您的问题,
1,我想问一下,你使用的是什么软件?IAR吗?
如果是IAR,那么你查看一下下图的设置:
6.jpg
然后编译一下,如下图,会出现tower。h头文件,你可以查看波特率了。
7.jpg
2,你说万用表插入后无法debug,这里你是否使用的是uA档呢?如果是uA档,您需要将万用表调到mA档,这个和万用表的内部结构还是有关系的。然后你就可以debug了(烧程序哦)。但是呢,你不能全程debug,为什么呢?我在文档下的代码里有讲了,第3页,关闭SWD,就不能debug了。
3,波特率,你从上面的第一个就可以看到了,是19200,另外你需要注意,测试请按照我的文档中说的测,先发什么,怎么发送,都有详细讲解。
另外,如果还有问题,欢迎您继续提问!~
 
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

35

帖子

0

新手上路

Rank: 1

积分
17
最后登录
1970-1-1
发表于 2013-12-20 15:02:44 | 显示全部楼层

回复:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

回复第 2 楼 于2013-12-20 14:06:08发表:
您好,首先非常欢迎您的提问,这个代码以及文档是我调试与编写的。
下面我来解答您的问题,
1,我想问一下,你使用的是什么软件?IAR吗?
如果是IAR,那么你查看一下下图的设置:

然后编译一下,如下图,会出现tower。h头文件,你可以查看波特率了。

2,你说万用表插入后无法debug,这里你是否使用的是uA档呢?如果是uA档,您需要将万用表调到mA档,这个和万用表的内部结构还是有关系的。然后你就可以debug了(烧程序哦)。但是呢,你不能全程debug,为什么呢?我在文档下的代码里有讲了,第3页,关闭SWD,就不能debug了。
3,波特率,你从上面的第一个就可以看到了,是19200,另外你需要注意,测试请按照我的文档中说的测,先发什么,怎么发送,都有详细讲解。
另外,如果还有问题,欢迎您继续提问!~
 
 
非常感谢你的解答 我用的是CW,不想IAR那样把frdm和twr分开的,所以看得会不一样,就好像那个baud我直接搜就是115200,CW需要注意哪些呢
 
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

35

帖子

0

新手上路

Rank: 1

积分
17
最后登录
1970-1-1
发表于 2013-12-20 15:05:32 | 显示全部楼层

回复:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

回复第 2 楼 于2013-12-20 14:06:08发表:
您好,首先非常欢迎您的提问,这个代码以及文档是我调试与编写的。
下面我来解答您的问题,
1,我想问一下,你使用的是什么软件?IAR吗?
如果是IAR,那么你查看一下下图的设置:

然后编译一下,如下图,会出现tower。h头文件,你可以查看波特率了。

2,你说万用表插入后无法debug,这里你是否使用的是uA档呢?如果是uA档,您需要将万用表调到mA档,这个和万用表的内部结构还是有关系的。然后你就可以debug了(烧程序哦)。但是呢,你不能全程debug,为什么呢?我在文档下的代码里有讲了,第3页,关闭SWD,就不能debug了。
3,波特率,你从上面的第一个就可以看到了,是19200,另外你需要注意,测试请按照我的文档中说的测,先发什么,怎么发送,都有详细讲解。
另外,如果还有问题,欢迎您继续提问!~
 
 
 
如果我不屏蔽掉那两句disable掉SWD的语句,会不会有影响呢?
 
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-12-23 15:23:42 | 显示全部楼层

回复:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

回复第 3 楼 于2013-12-20 15:02:44发表:
回复第 2 楼 于2013-12-20 14:06:08发表:
您好,首先非常欢迎您的提问,这个代码以及文档是我调试与编写的。
下面我来解答您的问题,
1,我想问一下,你使用的是什么软件?IAR吗?
如果是IAR,那么你查看一下下图的设置:

然后编译一下,如下图,会出现tower。h头文件,你可以查看波特率了。

2,你说万用表插入后无法debug,这里你是否使用的是uA档呢?如果是uA档,您需要将万用表调到mA档,这个和万用表的内部结构还是有关系的。然后你就可以debug了(烧程序哦)。但是呢,你不能全程debug,为什么呢?我在文档下的代码里有讲了,第3页,关闭SWD,就不能debug了。
3,波特率,你从上面的第一个就可以看到了,是19200,另外你需要注意,测试请按照我的文档中说的测,先发什么,怎么发送,都有详细讲解。
另外,如果还有问题,欢迎您继续提问!~
 
 
非常感谢你的解答 我用的是CW,不想IAR那样把frdm和twr分开的,所以看得会不一样,就好像那个baud我直接搜就是115200,CW需要注意哪些呢
 

 

你好,不好意思,刚看到你的更新。
如果是CW就需要做如下的一些配置:
12.jpg
将FREEDOM删掉,然后“Add”一个TOWER,然后确定并且编译。
再到左边的工程中的platform中看看tower.h对应的波特率是多少。就可以调试了
另外,不屏蔽SWD的那两句话也是没关系的,但是debug会掉,只能在flash中调试了。
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-12-23 16:24:19 | 显示全部楼层

RE:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

再给你说个技巧:CW中,
printf("%c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这句话是打印不出来的。
你要做这样一个修改:
printf(" %c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这是一个特殊的地方。
希望能帮到你!
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-12-23 16:24:19 | 显示全部楼层

RE:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

再给你说个技巧:CW中,
printf("%c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这句话是打印不出来的。
你要做这样一个修改:
printf(" %c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这是一个特殊的地方。
希望能帮到你!
回复 支持 反对

使用道具 举报

该用户从未签到

63

主题

263

帖子

0

高级会员

Rank: 4

积分
921
最后登录
2021-2-23
 楼主| 发表于 2013-12-25 10:35:04 | 显示全部楼层

回复:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

回复第 7 楼 于2013-12-23 16:24:19发表:
再给你说个技巧:CW中,
printf("%c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这句话是打印不出来的。
你要做这样一个修改:
printf(" %c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这是一个特殊的地方。
希望能帮到你!
 
 
谢谢你!
但我还是没有最终成功,我按照指示,用串口调试助手,进入vlps模式后,提示输入hex码匹配地址然后输入字符让buffer满然后中断,但是这里我的输入完全没有反应,从第一个输入匹配地址就不行,我已经选了hex格式?
是我串口助手的问题吗?
 
另外,我刚接触低功耗这一块,请问有没有datasheet给出列表,包含各个模式下电流的大小呢?
 
谢谢!
 
回复 支持 反对

使用道具 举报

该用户从未签到

63

主题

263

帖子

0

高级会员

Rank: 4

积分
921
最后登录
2021-2-23
 楼主| 发表于 2013-12-25 11:33:26 | 显示全部楼层

回复:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

回复第 7 楼 于2013-12-23 16:24:19发表:
再给你说个技巧:CW中,
printf("%c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这句话是打印不出来的。
你要做这样一个修改:
printf(" %c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这是一个特殊的地方。
希望能帮到你!
 
而且好像我这里进入vlps后 电流也不太对,只有100多μA,我换成了IAR,而且复位唤醒也没有用,问题有点多。。。。
 
回复 支持 反对

使用道具 举报

该用户从未签到

63

主题

263

帖子

0

高级会员

Rank: 4

积分
921
最后登录
2021-2-23
 楼主| 发表于 2013-12-26 11:02:42 | 显示全部楼层

回复:关于“Kinetis KL25 低功耗模下实现UART-DMA-SRAM的数据传输”的疑惑

回复第 7 楼 于2013-12-23 16:24:19发表:
再给你说个技巧:CW中,
printf("%c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这句话是打印不出来的。
你要做这样一个修改:
printf(" %c", *((uint8 *) (DESTINATION_ADDRESS + i)));
这是一个特殊的地方。
希望能帮到你!
 
 
 
 
就是在这一步就无法继续下去了,选择hex发送匹配地址,发送队列确实也显示有1字节,但是没有任何反应
QQ截圖20131226110132.png
 
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-26 18:09 , Processed in 0.147887 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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